public IActionResult ChangeLateFlag(long id) { var specifiedReturn = dataRepository.Get <Return>(id); var viewModel = new AdminReturnLateFlagViewModel { Return = specifiedReturn, NewLateFlag = !specifiedReturn.IsLateSubmission }; return(View("ChangeLateFlag", viewModel)); }
public IActionResult ChangeLateFlag(long id, AdminReturnLateFlagViewModel viewModel) { var specifiedReturn = _adminService.SharedBusinessLogic.DataRepository.Get <Return>(id); viewModel.ParseAndValidateParameters(Request, m => m.Reason); if (viewModel.HasAnyErrors()) { viewModel.Return = specifiedReturn; // If there are any errors, return the user back to the same page to correct the mistakes return(View("ChangeLateFlag", viewModel)); } if (viewModel.NewLateFlag is null) { throw new ArgumentNullException(nameof(viewModel.NewLateFlag)); } specifiedReturn.IsLateSubmission = viewModel.NewLateFlag.Value; _adminService.SharedBusinessLogic.DataRepository.SaveChangesAsync().Wait(); auditLogger.AuditChangeToOrganisation( this, AuditedAction.AdminChangeLateFlag, specifiedReturn.Organisation, new { ReturnId = id, LateFlagChangedTo = viewModel.NewLateFlag, viewModel.Reason }); return(RedirectToAction("ViewOrganisation", "AdminViewOrganisation", new { id = specifiedReturn.OrganisationId })); }