using Codelyzer.Analysis;
using CTA.FeatureDetection.Common.Extensions;
using CTA.FeatureDetection.Common.Models.Features.Base;
namespace CTA.FeatureDetection.ProjectType.CompiledFeatures
{
public class WCFServiceHostFeature : CompiledFeature
{
///
/// Determines if a project has ServiceHost References.
///
///
/// Whether a project has ServiceHost features or not
public override bool IsPresent(AnalyzerResult analyzerResult)
{
var projectWorkspace = analyzerResult.ProjectResult;
var serviceHostDeclarations = projectWorkspace.GetObjectCreationExpressionBySemanticClassType(Constants.ServiceHostClass);
if (!serviceHostDeclarations.IsNullOrEmpty())
{
return true;
}
var containsSvcFile = projectWorkspace.ContainsFileWithExtension(Constants.SvcExtension, true);
return containsSvcFile;
}
}
}