/// <summary> /// Merge all error found in a validation dictionary to the current application message /// </summary> /// <param name="executionResult">instance of IApplicationMessage</param> /// <param name="validationDictionary">instance of IValidationDictionary</param> /// <param name="againstMessageCategory">add error message into this category</param> /// <returns>instance of application message in order to chain to other operations</returns> public static ExecutionResult Merge(this ExecutionResult executionResult, IValidationDictionary validationDictionary, MessageCategory againstMessageCategory = MessageCategory.BrokenBusinessRule) { if (executionResult == null) return null; if (validationDictionary != null) { validationDictionary .Each(item => executionResult.Add(againstMessageCategory, new MessageGroup(item.Value.ToList()))); } return executionResult; }