public async Task <IActionResult> Summary(SummaryViewModel summary, bool isOkay) { if (ModelState.IsValid && isOkay) { var model = _mapper.MapSummaryViewModelToFormModel(summary); model.CreatedDate = DateTime.Now; model.ApplicationUser = await _userManager.FindByIdAsync(summary.UserId); var empTask = _mapper.MapSummaryViewModelToEmployeeTask(summary); empTask.isDone = false; var clientNoti = new ClientNotifications { CreatedDate = DateTime.Now, FromRole = ERole.Admin, ToClientId = summary.UserId, IsRead = false, NotiBody = "Hello your form is sent.", NotiHeader = "Form confirmation" }; var adminNoti = new AdminNotifications { CreatedDate = DateTime.Now, FromUserId = summary.UserId, ToRole = ERole.Admin, IsRead = false, NotiBody = "Client with id " + summary.UserId + "sent form. ", NotiHeader = "New form from Client " + summary.Company }; try { _notificationRepository.AddNotificationsForClient(clientNoti); _notificationRepository.AddNotificationsForAdmin(adminNoti); _employeeTaskRepository.AddEmployeeTask(empTask); _formRepository.AddTask(model); } catch (Exception e) { _logger.LogError("Error while adding to database", e); Console.WriteLine(e.Message); // add alert in view } return(RedirectToAction("Success", "Success")); } else { _logger.LogWarning("Invalid modelstate in summary"); } return(View(summary)); }