Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }