コード例 #1
0
 /// <summary>
 /// Adds the workflow.
 /// </summary>
 /// <param name="workflowRules">The workflow rules.</param>
 /// <exception cref="RuleValidationException"></exception>
 public void AddWorkflow(params WorkflowRules[] workflowRules)
 {
     try
     {
         foreach (var workflowRule in workflowRules)
         {
             var validator = new WorkflowRulesValidator();
             validator.ValidateAndThrow(workflowRule);
             _rulesCache.AddOrUpdateWorkflowRules(workflowRule.WorkflowName, workflowRule);
         }
     }
     catch (ValidationException ex)
     {
         throw new RuleValidationException(ex.Message, ex.Errors);
     }
 }
コード例 #2
0
 /// <summary>
 /// Adds the workflow if the workflow name is not already added. Ignores the rest.
 /// </summary>
 /// <param name="workflowRules">The workflow rules.</param>
 /// <exception cref="RuleValidationException"></exception>
 public void AddWorkflow(params WorkflowRules[] workflowRules)
 {
     try
     {
         foreach (var workflowRule in workflowRules)
         {
             var validator = new WorkflowRulesValidator();
             validator.ValidateAndThrow(workflowRule);
             if (!_rulesCache.ContainsWorkflowRules(workflowRule.WorkflowName))
             {
                 _rulesCache.AddOrUpdateWorkflowRules(workflowRule.WorkflowName, workflowRule);
             }
             else
             {
                 throw new ValidationException($"Cannot add workflow `{workflowRule.WorkflowName}` as it already exists. Use `AddOrUpdateWorkflow` to update existing workflow");
             }
         }
     }
     catch (ValidationException ex)
     {
         throw new RuleValidationException(ex.Message, ex.Errors);
     }
 }
コード例 #3
0
ファイル: RulesEngine.cs プロジェクト: okproject/RulesEngine
 public void AddWorkflow(params WorkflowRules[] workflowRules)
 {
     try
     {
         foreach (var workflowRule in workflowRules)
         {
             var validator = new WorkflowRulesValidator();
             validator.ValidateAndThrow(workflowRule);
             if (!workflowRulesDic.ContainsKey(workflowRule.WorkflowName))
             {
                 workflowRulesDic[workflowRule.WorkflowName] = workflowRule;
             }
             else
             {
                 throw new ArgumentException($"Workflow with name: {workflowRule} already exists");
             }
         }
     }
     catch (ValidationException ex)
     {
         throw new RuleValidationException(ex.Message, ex.Errors);
     }
 }