/// <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"); } }
/// <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"); } }