private async Task <bool> ProcessValidations(WorkflowInstance workflow, WorkflowStep step, object eventData, string stepId) { var Validations = step.Validations; bool isvalidated = true; if (Validations != null) { foreach (var validation in Validations) { var FieldNames = validation.Fields; var DataValidations = validation.DataValidations; if (DataValidations != null) { foreach (var datavalidation in DataValidations) { if (FieldNames != null) { foreach (var fieldname in FieldNames) { var InputValidation = new InputValidation { FieldName = fieldname, ErrorCode = datavalidation.ErrorCode, Input = string.IsNullOrEmpty(datavalidation.Input) ? string.Empty : datavalidation.Input, ValidationName = datavalidation.Name, StepId = stepId }; if (!string.IsNullOrEmpty(datavalidation.Name)) { MethodInfo method = typeof(Validation.Validations).GetMethod(datavalidation.Name); dynamic result = method.Invoke(null, new object[] { InputValidation, eventData }); if (result != null) { InputValidation.FieldValue = result.FieldValue; InputValidation.IsValid = result.IsValid; } if (!InputValidation.IsValid) { isvalidated = false; } await _persistenceStore.PersistValidation(InputValidation); } } } } } } return(isvalidated); } return(isvalidated); }