private FireRiskAssessmentChecklistViewModel AddCompleteValidationErrorsToViewModel(FireRiskAssessmentChecklistViewModel viewModel) { var nonNotApplicableAnswerQuestionIds = viewModel.GetAllNonNotApplicableFireAnswerQuestionIds(); var validationResult = _fireRiskAssessmentChecklistService.ValidateFireRiskAssessmentChecklist(new ValidateCompleteFireRiskAssessmentChecklistRequest { ChecklistId = viewModel.FireRiskAssessmentChecklistId, QuestionIds = nonNotApplicableAnswerQuestionIds }); if (!validationResult.IsValid) { viewModel = GetViewModel(viewModel, validationResult.Errors); } return viewModel; }
public ActionResult Complete(FireRiskAssessmentChecklistViewModel viewModel) { // Validate var allNonNotApplicableFireAnswerQuestionIds = viewModel.GetAllNonNotApplicableFireAnswerQuestionIds(); var validationResult = GetValidationResult(viewModel.FireRiskAssessmentChecklistId, allNonNotApplicableFireAnswerQuestionIds); if (!validationResult.IsValid) { _fireRiskAssessmentChecklistService.MarkChecklistWithCompleteFailureAttempt(GetMarkCompleteAsFailureRequest(viewModel.FireRiskAssessmentChecklistId)); var viewModelWithValidationErrors = _viewModelFactory.GetViewModel(viewModel, validationResult.Errors); return View("Index", viewModelWithValidationErrors); } // Complete var request = viewModel.CreateCompleteRequest(CurrentUser); _fireRiskAssessmentService.CompleteFireRiskAssessmentChecklist(request); TempData["Notice"] = "Checklist has been completed."; return RedirectToAction("Index", new { viewModel.RiskAssessmentId, viewModel.CompanyId }); }