public IActionResult ReportDiscardDraftGet(string encryptedOrganisationId, int reportingYear) { ControllerHelper.Throw404IfFeatureDisabled(FeatureFlag.NewReportingJourney); long organisationId = ControllerHelper.DecryptOrganisationIdOrThrow404(encryptedOrganisationId); ControllerHelper.ThrowIfUserAccountRetiredOrEmailNotVerified(User, dataRepository); ControllerHelper.ThrowIfUserDoesNotHavePermissionsForGivenOrganisation(User, dataRepository, organisationId); ControllerHelper.ThrowIfReportingYearIsOutsideOfRange(reportingYear); DraftReturn draftReturn = draftReturnService.GetDraftReturn(organisationId, reportingYear); bool draftReturnExists = draftReturn != null; if (!draftReturnExists) { string nextPageUrl = Url.Action("ReportOverview", "ReportOverview", new { encryptedOrganisationId = encryptedOrganisationId, reportingYear = reportingYear }); StatusMessageHelper.SetStatusMessage(Response, "No draft to discard", nextPageUrl); return(LocalRedirect(nextPageUrl)); } var viewModel = new ReportDiscardDraftViewModel(); PopulateViewModel(viewModel, organisationId, reportingYear); return(View("ReportDiscardDraft", viewModel)); }
private void PopulateViewModel(ReportDiscardDraftViewModel viewModel, long organisationId, int reportingYear) { Organisation organisation = dataRepository.Get <Organisation>(organisationId); viewModel.Organisation = organisation; viewModel.ReportingYear = reportingYear; viewModel.IsEditingSubmittedReturn = organisation.HasSubmittedReturn(reportingYear); }