public IActionResult Post([FromRoute] string enrollmentNumber, [FromBody] Form obj) { FinanceData financeData = _financeDataService.List().SingleOrDefault(x => x.Enrollment.ExternalId == enrollmentNumber); if (financeData == null) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.EnrollmentLinkIsNotValid } })); } if (!financeData.Enrollment.IsDeadlineValid()) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.OnboardingExpired } })); } if (!financeData.Editable) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.EnrollmentInReview } })); } FinanceDataValidator validator = new FinanceDataValidator(_context); FluentValidation.Results.ValidationResult results = validator.Validate(financeData); Hashtable errors = FormatErrors(results); FinanceDataMessagesValidator messagesValidator = new FinanceDataMessagesValidator(_context); List <string> messages = messagesValidator.Validate(financeData).Errors.Select(x => x.ErrorMessage).Distinct().ToList(); FinanceDataStatus financeDataStatus = new FinanceDataStatus(validator, financeData, messagesValidator); if (financeDataStatus.GetStatus() == "valid") { _enrollmentStepService.Update(enrollmentNumber, "FinanceDatas"); } return(new OkObjectResult(new { messages, errors, data = _mapper.Map <Record>(financeData) })); }
public FinanceDataStatus(FinanceDataValidator validator, FinanceData entity, FinanceDataMessagesValidator financeDataMessageValidator) : base(validator, entity) { _financeDataMessageValidator = financeDataMessageValidator; }