Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }