예제 #1
0
        /// <summary>
        /// Factory method that dynamically instantiates a configured feature using condition group metadata
        /// </summary>
        /// <param name="featureScope">The scope in which to look for this feature</param>
        /// <param name="name">Name of the feature</param>
        /// <param name="conditionGroupMetadata">Metadata defining the feature condition group</param>
        /// <returns>Instance of the defined feature</returns>
        public static ConfiguredFeature GetInstance(FeatureScope featureScope, string name, ConditionGroupMetadata conditionGroupMetadata)
        {
            var conditionGroup = new ConditionGroup
            {
                JoinOperator = conditionGroupMetadata.JoinOperator,
                Conditions   = ConditionFactory.GetConditions(conditionGroupMetadata.Conditions)
            };

            return(new ConfiguredFeature(featureScope, name, conditionGroup));
        }
예제 #2
0
        /// <summary>
        /// Factory method that dynamically instantiates a configured feature using a collection of condition group metadata
        /// </summary>
        /// <param name="featureScope">The scope in which to look for this feature</param>
        /// <param name="name">Name of the feature</param>
        /// <param name="conditionGroupsMetadata">Metadata defining the feature condition groups</param>
        /// <returns>Instance of the defined feature</returns>
        public static ConfiguredFeature GetInstance(FeatureScope featureScope, string name, IEnumerable <ConditionGroupMetadata> conditionGroupsMetadata)
        {
            var conditionGroups = conditionGroupsMetadata.Select(conditionGroupMetadata =>
                                                                 new ConditionGroup
            {
                JoinOperator = conditionGroupMetadata.JoinOperator,
                Conditions   = ConditionFactory.GetConditions(conditionGroupMetadata.Conditions)
            }
                                                                 );

            return(new ConfiguredFeature(featureScope, name, conditionGroups));
        }
예제 #3
0
        /// <summary>
        /// Factory method that dynamically instantiates a configured feature using condition metadata
        /// </summary>
        /// <param name="featureScope">The scope in which to look for this feature</param>
        /// <param name="name">Name of the feature</param>
        /// <param name="conditionMetadata">Metadata defining the feature condition</param>
        /// <returns>Instance of the defined feature</returns>
        public static ConfiguredFeature GetInstance(FeatureScope featureScope, string name, ConditionMetadata conditionMetadata)
        {
            var condition = ConditionFactory.GetCondition(conditionMetadata);

            return(new ConfiguredFeature(featureScope, name, condition));
        }