public NidaWorkflowEngine(IRuleCollectionFactory ruleCollectionFactory, IRuleEngineFactory ruleEngineFactory, IMessageCollector messageCollector) { _ruleCollectionFactory = ruleCollectionFactory; _ruleEngineFactory = ruleEngineFactory; _messageCollector = messageCollector; }
public void CheckTargetNodeId(IMessageCollector errors) { if (String.IsNullOrEmpty(TargetNodeId)) { errors.LogMessage(LineNumber, MessageType.IncorrectPattern, "Goto pattern without target node reference => dead end"); } }
public GetSectionDtoByKeyRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository, IAssessmentInstanceRepository assessmentInstanceRepository, IWorkflowMessageRepository workflowMessageRepository, IMessageCollector messageCollector) { _assessmentDefinitionRepository = assessmentDefinitionRepository; _assessmentInstanceRepository = assessmentInstanceRepository; _workflowMessageRepository = workflowMessageRepository; _messageCollector = messageCollector; }
/// <summary>Initializes a new instance of the <see cref="GetAssessmentSectionSummaryDtoByKeyRequestHandler" /> class.</summary> /// <param name="assessmentInstanceRepository">The assessment instance repository.</param> /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param> /// <param name="workflowMessageRepository">The workflow message repository.</param> /// <param name="messageCollector">The message collector.</param> /// <param name="assessmentCompletenessManager">The assessment completeness manager.</param> public GetAssessmentSectionSummaryDtoByKeyRequestHandler( IAssessmentInstanceRepository assessmentInstanceRepository, IAssessmentDefinitionRepository assessmentDefinitionRepository, IWorkflowMessageRepository workflowMessageRepository, IMessageCollector messageCollector, IAssessmentCompletenessManager assessmentCompletenessManager) { _assessmentInstanceRepository = assessmentInstanceRepository; _assessmentDefinitionRepository = assessmentDefinitionRepository; _workflowMessageRepository = workflowMessageRepository; _messageCollector = messageCollector; _assessmentCompletenessManager = assessmentCompletenessManager; }
public Message(IMessageCollector messageCollector, IWriter textWriter) { if (messageCollector == null) { throw new ArgumentNullException("Message collector"); } _messageCollector = messageCollector; if (textWriter == null) { throw new ArgumentNullException("Text writer"); } _textWriter = textWriter; }
public RedirectToLongTail(DialogNode parentNode, string targetNodeId, string messageExpression, string messageText, IMessageCollector errors) : base(parentNode, targetNodeId, messageExpression, messageText, errors) { Type = DialogNodeType.RedirectToLongTail; }
public FatHeadAnswers(DialogNode parentNode, string targetNodeId, string messageExpression, string messageText, IMessageCollector errors) : base(parentNode, targetNodeId, messageExpression, messageText, errors) { Type = DialogNodeType.FatHeadAnswers; }
public DirectAnswer(DialogNode parentNode, string targetNodeId, string messageExpression, string messageText, IMessageCollector errors) : base(parentNode, targetNodeId, messageExpression, messageText, errors) { Type = DialogNodeType.DirectAnswer; }
public GotoNode(DialogNode parentNode, string targetNodeId, string messageExpression, string messageText, IMessageCollector errors) { Type = DialogNodeType.GotoNode; ParentNode = parentNode; ChildrenNodes = null; TargetNodeId = targetNodeId; MessageExpression = messageExpression; MessageText = messageText; }
public GotoNode(DialogNode parentNode, string targetNodeId, IMessageCollector errors) : this(parentNode, targetNodeId, null, null, errors) { }
public void AddVariableValuesRestriction(DialogVariableCheck variableValueRestriction, IMessageCollector errors) { // Check variable name bool variableFoundInConditions = false; foreach (var condition in VariableConditions) { if (condition.VariableName == variableValueRestriction.VariableName) { variableFoundInConditions = true; break; } } if (!variableFoundInConditions) { errors.LogMessage(LineNumber, MessageType.IncorrectPattern, "Allowed variable values restricted by federation group for variable name " + variableValueRestriction.VariableName + ", but this variable name wasn't referenced in the conditions nodes"); } VariableValuesRestriction = variableValueRestriction; }
public void OnAllEntityValuesAdded(IMessageCollector errors) { // Entity value names comparison isn't case sensitive EntityValueNamesDictionary = new Dictionary <string, EntityValue>(StringComparer.InvariantCultureIgnoreCase); // Canonical values comparison isn't case sensitive EntityValuesDictionary = new Dictionary <string, EntityValue>(StringComparer.InvariantCultureIgnoreCase); // Synonyms from concepts comparison isn't case sensitive EntityValueFromConceptDictionary = new Dictionary <string, EntityValue>(StringComparer.InvariantCultureIgnoreCase); EntityValueSynonymsDictionary = new Dictionary <string, EntityValue>(StringComparer.InvariantCultureIgnoreCase); foreach (var entityValue in Values) { if (!EntityValueNamesDictionary.ContainsKey(entityValue.Name)) { EntityValueNamesDictionary.Add(entityValue.Name, entityValue); } else { var otherEntityValue = EntityValueNamesDictionary[entityValue.Name]; errors.LogMessage(entityValue.LineNumber, MessageType.DuplicateKey, "Entity " + Name + " - two entity values declared with the same name \"" + entityValue.Name + "\" : line " + entityValue.LineNumber + " " + entityValue.CanonicalValue + ", and line " + otherEntityValue.LineNumber + " " + otherEntityValue.CanonicalValue); } if (!EntityValuesDictionary.ContainsKey(entityValue.CanonicalValue)) { EntityValuesDictionary.Add(entityValue.CanonicalValue, entityValue); } else { var otherEntityValue = EntityValuesDictionary[entityValue.CanonicalValue]; errors.LogMessage(entityValue.LineNumber, MessageType.DuplicateKey, "Entity " + Name + " - two entity values declared with the same value \"" + entityValue.CanonicalValue + "\" : line " + entityValue.LineNumber + " " + entityValue.Name + ", and line " + otherEntityValue.LineNumber + " " + otherEntityValue.Name); } if (entityValue.Concepts != null) { foreach (var concept in entityValue.Concepts) { var conceptCanonicalValue = concept.CanonicalValue; if (!EntityValueFromConceptDictionary.ContainsKey(conceptCanonicalValue)) { EntityValueFromConceptDictionary.Add(conceptCanonicalValue, entityValue); } foreach (var synonym in concept.Synonyms) { if (!EntityValueSynonymsDictionary.ContainsKey(synonym)) { EntityValueSynonymsDictionary.Add(synonym, entityValue); } else { var conflictingEntityValue = EntityValueSynonymsDictionary[synonym]; if (entityValue.Name != conflictingEntityValue.Name) { errors.LogMessage(entityValue.LineNumber, MessageType.DuplicateKey, "Entity " + Name + " : concept synonym \"" + synonym + "\" defined for entity value \"" + entityValue.Name + "\" is conflicting with an identical concept synonym previoulsy defined for another entity value of the same entity : \"" + conflictingEntityValue.Name + "\" on line " + conflictingEntityValue.LineNumber); } } } } } } // Generate regular expression to match entity values StringBuilder regexBuilder = new StringBuilder(); regexBuilder.Append("\\b("); bool isFirstValue = true; foreach (var entityValue in EntityValuesDictionary.Values.OrderByDescending(ev => ev.CanonicalValue.Length)) { if (isFirstValue) { isFirstValue = false; } else { regexBuilder.Append("|"); } regexBuilder.Append(Regex.Escape(entityValue.CanonicalValue)); if (entityValue.Concepts != null) { foreach (var concept in entityValue.Concepts) { regexBuilder.Append("|"); regexBuilder.Append(Regex.Escape(concept.CanonicalValue)); } } } regexBuilder.Append(")\\b"); EntityValuesRegex = new Regex(regexBuilder.ToString(), RegexOptions.IgnoreCase); }
internal void AddEntityValue(EntityValue entityValue, IMessageCollector errors) { Values.Add(entityValue); }
public SubmitAssessmentRequestHandler(IAssessmentInstanceRepository assessmentInstanceRepository, IMessageCollector messageCollector) { _assessmentInstanceRepository = assessmentInstanceRepository; _messageCollector = messageCollector; }