Ejemplo n.º 1
0
        /// <summary>
        /// Removes all versions of a policy or vocabulary
        /// </summary>
        /// <param name="objectType">Should be RuleSetInfo or VocabularyInfo</param>
        /// <param name="name"></param>
        public void Remove(RulesEngineObjectType objectType, string name)
        {
            var ruleStore = _driver.GetRuleStore();

            switch (objectType)
            {
            case RulesEngineObjectType.VocabularyInfo:
                for (var index = 0; index < ruleStore.GetVocabularies(RuleStore.Filter.All).Count; index++)
                {
                    var vocabularyInfo = ruleStore.GetVocabularies(RuleStore.Filter.All)[index];
                    if (vocabularyInfo.Name == name)
                    {
                        ruleStore.Remove(vocabularyInfo);
                    }
                }
                break;

            case RulesEngineObjectType.RuleSetInfo:
                for (var index = 0; index < ruleStore.GetRuleSets(RuleStore.Filter.All).Count; index++)
                {
                    var ruleSetInfo = ruleStore.GetRuleSets(RuleStore.Filter.All)[index];
                    if (ruleSetInfo.Name == name)
                    {
                        ruleStore.Remove(ruleSetInfo);
                    }
                }
                break;

            default:
                throw new ApplicationException("Invalid object type");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Removes a single entity from the rule store
        /// </summary>
        /// <param name="objectType">Should be RuleSetInfo or VocabularyInfo</param>
        /// <param name="name"></param>
        /// <param name="major"></param>
        /// <param name="minor"></param>
        public void Remove(RulesEngineObjectType objectType, string name, int major, int minor)
        {
            var sqlRuleStore = _driver.GetRuleStore();

            switch (objectType)
            {
            case RulesEngineObjectType.VocabularyInfo:
                sqlRuleStore.Remove(new VocabularyInfo(name, major, minor));
                break;

            case RulesEngineObjectType.RuleSetInfo:
                sqlRuleStore.Remove(new RuleSetInfo(name, major, minor));
                break;

            default:
                throw new ApplicationException("Invalid object type");
            }
        }