public async Task <IActionResult> EmploymentStartDates(string accountId, Guid applicationId) { var application = await _applicationService.Get(accountId, applicationId, includeApprenticeships : true); if (application == null) { return(RedirectToAction("Home", "Home", new { accountId })); } var legalEntityName = await GetLegalEntityName(accountId, application.AccountLegalEntityId); var model = new EmploymentStartDatesViewModel { AccountId = accountId, ApplicationId = applicationId, OrganisationName = legalEntityName, Apprentices = application.Apprentices.OrderBy(x => x.FullName).ToList(), DateValidationResults = new List <DateValidationResult>() }; return(View(model)); }
public async Task <IActionResult> SubmitEmploymentStartDates(EmploymentStartDatesRequest request) { var application = await _applicationService.Get(request.AccountId, request.ApplicationId, includeApprenticeships : true); if (application == null) { return(RedirectToAction("Home", "Home", new { request.AccountId })); } var validationResults = _employmentStartDateValidator.Validate(request).ToList(); if (validationResults.Any()) { var legalEntityName = await GetLegalEntityName(request.AccountId, application.AccountLegalEntityId); var model = new EmploymentStartDatesViewModel { AccountId = request.AccountId, ApplicationId = request.ApplicationId, OrganisationName = legalEntityName, Apprentices = PopulateStartDates(application.Apprentices.OrderBy(x => x.FullName).ToList(), request), DateValidationResults = validationResults.ToList() }; return(View("EmploymentStartDates", model)); } var confirmEmploymentDetailsRequest = CreateEmploymentDetailsRequest(application, request); await _applicationService.SaveApprenticeshipDetails(confirmEmploymentDetailsRequest); application = await _applicationService.Get(request.AccountId, request.ApplicationId, includeApprenticeships : false); if (application.NewAgreementRequired) { request.AccountLegalEntityId = application.AccountLegalEntityId; return(await DisplayNewAgreementRequiredShutterPage(request)); } return(RedirectToAction("ConfirmApprenticeships", "ApplyApprenticeships", new { request.AccountId, request.ApplicationId })); }