public static bool IsActive(string featureId, IQueryHandler <IsFeatureActiveQuery, IsFeatureActiveQueryResult, Feature> handler = null) { if (string.IsNullOrWhiteSpace(featureId)) { throw new ArgumentException("featureId must not be a null value."); } IsFeatureActiveQuery query = new IsFeatureActiveQuery(featureId); if (handler == null) { handler = new IsFeatureActiveQueryHandler(); handler.Config = new AppConfig(); IReadRepository <Feature> read = new MongoReadRepository <Feature>(); read.Initialize(handler.Config); handler.ReadRepository = read; IWriteRepository <Feature> write = new MongoWriteRepository <Feature>(); write.Initialize(handler.Config); handler.WriteRepository = write; } IsFeatureActiveQueryResult result = handler.Retrieve(query); return(result.IsFeatureActive); }
public IsFeatureActiveQueryResult Retrieve(IsFeatureActiveQuery query) { bool active = false; Feature feature = this.ReadRepository.Where(x => x.Name == query.Name).FirstOrDefault(); if (feature != null) { active = feature.IsActive; } IsFeatureActiveQueryResult result = new IsFeatureActiveQueryResult(active); return(result); }