private void SaveChangesToDraftReturn(ReportLinkToWebsiteViewModel viewModel, long organisationId, int reportingYear) { DraftReturn draftReturn = draftReturnService.GetOrCreateDraftReturn(organisationId, reportingYear); draftReturn.CompanyLinkToGPGInfo = viewModel.LinkToOrganisationWebsite; draftReturnService.SaveDraftReturnOrDeleteIfNotRelevant(draftReturn); }
private void PopulateViewModel(ReportLinkToWebsiteViewModel viewModel, long organisationId, int reportingYear) { Organisation organisation = dataRepository.Get <Organisation>(organisationId); viewModel.Organisation = organisation; viewModel.ReportingYear = reportingYear; viewModel.IsEditingSubmittedReturn = organisation.HasSubmittedReturn(reportingYear); }
private void ValidateUserInput(ReportLinkToWebsiteViewModel viewModel) { viewModel.ParseAndValidateParameters(Request, m => m.LinkToOrganisationWebsite); if (!string.IsNullOrEmpty(viewModel.LinkToOrganisationWebsite)) { if (!UriSanitiser.IsValidHttpOrHttpsLink(viewModel.LinkToOrganisationWebsite)) { viewModel.AddErrorFor(m => m.LinkToOrganisationWebsite, "Please enter a valid web address"); } } }
private void ValidateUserInput(ReportLinkToWebsiteViewModel viewModel) { viewModel.ParseAndValidateParameters(Request, m => m.LinkToOrganisationWebsite); if (!string.IsNullOrEmpty(viewModel.LinkToOrganisationWebsite)) { if (!UriSanitiser.IsValidHttpOrHttpsLink(viewModel.LinkToOrganisationWebsite)) { viewModel.AddErrorFor(m => m.LinkToOrganisationWebsite, "Enter a valid URL, starting with http:// or https://"); } } }
public IActionResult ReportLinkToWebsiteGet(string encryptedOrganisationId, int reportingYear) { long organisationId = ControllerHelper.DecryptOrganisationIdOrThrow404(encryptedOrganisationId); ControllerHelper.ThrowIfUserAccountRetiredOrEmailNotVerified(User, dataRepository); ControllerHelper.ThrowIfUserDoesNotHavePermissionsForGivenOrganisation(User, dataRepository, organisationId); ControllerHelper.ThrowIfReportingYearIsOutsideOfRange(reportingYear); var viewModel = new ReportLinkToWebsiteViewModel(); PopulateViewModel(viewModel, organisationId, reportingYear); SetValuesFromDraftReturnOrSubmittedReturn(viewModel, organisationId, reportingYear); return(View("ReportLinkToWebsite", viewModel)); }
private void SetValuesFromDraftReturnOrSubmittedReturn(ReportLinkToWebsiteViewModel viewModel, long organisationId, int reportingYear) { DraftReturn draftReturn = draftReturnService.GetDraftReturn(organisationId, reportingYear); if (draftReturn != null) { SetValuesFromDraftReturn(viewModel, draftReturn); return; } Return submittedReturn = viewModel.Organisation.GetReturn(reportingYear); if (submittedReturn != null) { SetValuesFromSubmittedReturn(viewModel, submittedReturn); return; } }
public IActionResult ReportLinkToWebsitePost(string encryptedOrganisationId, int reportingYear, ReportLinkToWebsiteViewModel viewModel) { long organisationId = ControllerHelper.DecryptOrganisationIdOrThrow404(encryptedOrganisationId); ControllerHelper.ThrowIfUserAccountRetiredOrEmailNotVerified(User, dataRepository); ControllerHelper.ThrowIfUserDoesNotHavePermissionsForGivenOrganisation(User, dataRepository, organisationId); ControllerHelper.ThrowIfReportingYearIsOutsideOfRange(reportingYear); ValidateUserInput(viewModel); if (viewModel.HasAnyErrors()) { PopulateViewModel(viewModel, organisationId, reportingYear); return(View("ReportLinkToWebsite", viewModel)); } SaveChangesToDraftReturn(viewModel, organisationId, reportingYear); string nextPageUrl = Url.Action("ReportOverview", "ReportOverview", new { encryptedOrganisationId, reportingYear }); StatusMessageHelper.SetStatusMessage(Response, "Saved changes to draft", nextPageUrl); return(LocalRedirect(nextPageUrl)); }
private void SetValuesFromSubmittedReturn(ReportLinkToWebsiteViewModel viewModel, Return submittedReturn) { viewModel.LinkToOrganisationWebsite = submittedReturn.CompanyLinkToGPGInfo; }
private void SetValuesFromDraftReturn(ReportLinkToWebsiteViewModel viewModel, DraftReturn draftReturn) { viewModel.LinkToOrganisationWebsite = draftReturn.CompanyLinkToGPGInfo; }