/// <summary> /// Adds a rule to the current context /// </summary> /// <param name="conditionTemplateType"></param> /// <param name="conditionData"></param> /// <param name="consequenceTemplateType"></param> /// <param name="consequenceData"></param> /// <returns></returns> public async Task <Guid> AddRule( int conditionTemplateType, string conditionData, int consequenceTemplateType, string consequenceData) { var condition = _ruleTemplateFactory .CreateCondition(conditionTemplateType, conditionData); var consequence = _ruleTemplateFactory .CreateConsequence(consequenceTemplateType, consequenceData); var template = new RuleTemplate <TFact, TOutput>(condition, consequence); var ruleId = RuleExecuter.AddRule(template.Rule); var ruleData = new RuleData() { Id = ruleId, ContextId = ContextId, ConditionType = conditionTemplateType, ConditionData = conditionData, ConsequenceType = consequenceTemplateType, ConsequenceData = consequenceData }; await _ruleRepository.AddRule(ruleData); return(ruleId); }
public int AddRule(AddRuleDomain rule, UserDomain user) { if (rule == null) { throw new NsiArgumentException(ExceptionMessages.ArgumentException); } return(_ruleRepository.AddRule(rule, user)); }