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