public ActionResult Generate(EmployeeChecklistGeneratorViewModel viewModel) { viewModel.Validate(new ValidationContext(viewModel, null, null), ModelState); if (!ModelState.IsValid) { var invalidViewModel = _checklistGeneratorViewModelFactory .WithRiskAssessmentId(viewModel.RiskAssessmentId) .WithCompanyId(viewModel.CompanyId) .WithCurrentUserId(CurrentUser.UserId) .WithRiskAssessorEmail(CurrentUser.Email) .GetViewModel(viewModel); return View("Index", invalidViewModel); } using (var session = _businessSafeSessionManager.Session) { _personalRiskAssessmentService.SetAsGenerating(viewModel.RiskAssessmentId); _personalRiskAssessmentService.ResetChecklistAfterGenerate(new ResetAfterChecklistGenerateRequest() { CompanyId = viewModel.CompanyId, CurrentUserId = CurrentUser.UserId, PersonalRiskAssessmentId = viewModel.RiskAssessmentId }); _businessSafeSessionManager.CloseSession(); } // Temp measure till we get DTC going correctly var createGenerateEmployeeChecklistEmailsCommand = CreateGenerateEmployeeChecklistEmailsCommand(viewModel); _bus.Send(createGenerateEmployeeChecklistEmailsCommand); TempData["Notice"] = "Employee Checklists Sent"; return RedirectToAction("Index", new { viewModel.RiskAssessmentId, viewModel.CompanyId }); }
public JsonResult ValidateGenerate(EmployeeChecklistGeneratorViewModel viewModel) { var validationErrors = viewModel.Validate(new ValidationContext(viewModel, null, null), ModelState); var errors = validationErrors == null ? null : validationErrors.Select(x => x.ErrorMessage).ToList(); return Json(new { success = !validationErrors.Any(), errors = errors }); }