public IActionResult ReportOverview(string encryptedOrganisationId, int reportingYear, bool canTriggerLateSubmissionWarning = false) { long organisationId = ControllerHelper.DecryptOrganisationIdOrThrow404(encryptedOrganisationId); ControllerHelper.ThrowIfUserAccountRetiredOrEmailNotVerified(User, dataRepository); ControllerHelper.ThrowIfUserDoesNotHavePermissionsForGivenOrganisation(User, dataRepository, organisationId); ControllerHelper.ThrowIfReportingYearIsOutsideOfRange(reportingYear); if (draftReturnService.ShouldShowLateWarning(organisationId, reportingYear) && canTriggerLateSubmissionWarning) { return(RedirectToAction("LateSubmissionWarningGet", "LateSubmission", new { encryptedOrganisationId, reportingYear })); } Organisation organisation = dataRepository.Get <Organisation>(organisationId); DraftReturn draftReturn = draftReturnService.GetDraftReturn(organisationId, reportingYear); Return submittedReturn = organisation.GetReturn(reportingYear); if (draftReturn == null && submittedReturn == null) { return(RedirectToAction("ReportFiguresGet", "ReportFigures", new { encryptedOrganisationId, reportingYear })); } var viewModel = new ReportOverviewViewModel(); PopulateViewModel(viewModel, organisation, draftReturn, submittedReturn, reportingYear); return(View("ReportOverview", viewModel)); }
private void SetBonusPayFiguresFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.FemaleBonusPayPercent = submittedReturn.FemaleMedianBonusPayPercent; viewModel.MaleBonusPayPercent = submittedReturn.MaleMedianBonusPayPercent; viewModel.DiffMeanBonusPercent = submittedReturn.DiffMeanBonusPercent; viewModel.DiffMedianBonusPercent = submittedReturn.DiffMedianBonusPercent; }
private void SetOrganisationInformation(ReportOverviewViewModel viewModel, Organisation organisation, int reportingYear) { viewModel.Organisation = organisation; viewModel.ReportingYear = reportingYear; viewModel.IsEditingSubmittedReturn = organisation.HasSubmittedReturn(reportingYear); viewModel.SnapshotDate = organisation.SectorType.GetAccountingStartDate(reportingYear); }
private void SetBonusPayFiguresFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.FemaleBonusPayPercent = draftReturn.FemaleMedianBonusPayPercent; viewModel.MaleBonusPayPercent = draftReturn.MaleMedianBonusPayPercent; viewModel.DiffMeanBonusPercent = draftReturn.DiffMeanBonusPercent; viewModel.DiffMedianBonusPercent = draftReturn.DiffMedianBonusPercent; }
private void SetInitialReportStatuses(ReportOverviewViewModel viewModel) { viewModel.HourlyPayStatus = TaskListStatus.NotStarted; viewModel.BonusPayStatus = TaskListStatus.NotStarted; viewModel.EmployessByPayQuartileStatus = TaskListStatus.NotStarted; viewModel.PersonResponsibleStatus = TaskListStatus.NotStarted; viewModel.OrganisationSizeStatus = TaskListStatus.NotStarted; viewModel.LinkStatus = TaskListStatus.NotStarted; viewModel.ReviewAndSubmitStatus = TaskListStatus.CannotStartYet; }
private void SetHourlyPayQuarterFiguresFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.MaleUpperPayBand = draftReturn.MaleUpperQuartilePayBand; viewModel.FemaleUpperPayBand = draftReturn.FemaleUpperQuartilePayBand; viewModel.MaleUpperMiddlePayBand = draftReturn.MaleUpperPayBand; viewModel.FemaleUpperMiddlePayBand = draftReturn.FemaleUpperPayBand; viewModel.MaleLowerMiddlePayBand = draftReturn.MaleMiddlePayBand; viewModel.FemaleLowerMiddlePayBand = draftReturn.FemaleMiddlePayBand; viewModel.MaleLowerPayBand = draftReturn.MaleLowerPayBand; viewModel.FemaleLowerPayBand = draftReturn.FemaleLowerPayBand; }
private void SetHourlyPayQuarterFiguresFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.MaleUpperPayBand = submittedReturn.MaleUpperQuartilePayBand; viewModel.FemaleUpperPayBand = submittedReturn.FemaleUpperQuartilePayBand; viewModel.MaleUpperMiddlePayBand = submittedReturn.MaleUpperPayBand; viewModel.FemaleUpperMiddlePayBand = submittedReturn.FemaleUpperPayBand; viewModel.MaleLowerMiddlePayBand = submittedReturn.MaleMiddlePayBand; viewModel.FemaleLowerMiddlePayBand = submittedReturn.FemaleMiddlePayBand; viewModel.MaleLowerPayBand = submittedReturn.MaleLowerPayBand; viewModel.FemaleLowerPayBand = submittedReturn.FemaleLowerPayBand; }
private void SetValuesFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { SetHourlyPayQuarterFiguresFromDraftReturn(viewModel, draftReturn); SetMeanAndMedianGenderPayGapUsingHourlyPayFiguresFromDraftReturn(viewModel, draftReturn); SetBonusPayFiguresFromDraftReturn(viewModel, draftReturn); SetPersonResponsibleFromDraftReturn(viewModel, draftReturn); SetOrganisationSizeFromDraftReturn(viewModel, draftReturn); SetLinkToGenderPayGapInformationFromDraftReturn(viewModel, draftReturn); SetOptedOutOfReportingPayQuarterFromDraftReturn(viewModel, draftReturn); }
private void PopulateViewModel(ReportOverviewViewModel viewModel, long organisationId, int reportingYear) { Organisation organisation = dataRepository.Get <Organisation>(organisationId); viewModel.Organisation = organisation; viewModel.ReportingYear = reportingYear; Return submittedReturn = organisation.GetReturn(reportingYear); bool isEditingSubmittedReturn = submittedReturn != null; viewModel.IsEditingSubmittedReturn = isEditingSubmittedReturn; }
private void PopulateViewModel(ReportOverviewViewModel viewModel, Organisation organisation, DraftReturn draftReturn, Return submittedReturn, int reportingYear) { SetOrganisationInformation(viewModel, organisation, reportingYear); viewModel.DraftReturnExists = draftReturn != null; if (submittedReturn != null) { SetValuesFromSubmittedReturn(viewModel, submittedReturn); } if (draftReturn != null) { SetValuesFromDraftReturn(viewModel, draftReturn); } }
private void SetReportStatusesFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.HourlyPayStatus = TaskListStatus.Completed; viewModel.BonusPayStatus = TaskListStatus.Completed; viewModel.EmployessByPayQuartileStatus = TaskListStatus.Completed; viewModel.PersonResponsibleStatus = TaskListStatus.Completed; viewModel.OrganisationSizeStatus = TaskListStatus.Completed; // LinkStatus is the only status that isn't definitely Complete // All the other fields are non-nullable in the database viewModel.LinkStatus = GetStatusFromStrings(submittedReturn.CompanyLinkToGPGInfo); viewModel.ReviewAndSubmitStatus = TaskListStatus.Completed; }
private void SetReportStatusesFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.HourlyPayStatus = GetStatusFromNullableValues( draftReturn.DiffMeanHourlyPayPercent, draftReturn.DiffMedianHourlyPercent); if (draftReturn.MaleMedianBonusPayPercent == 0 && draftReturn.FemaleMedianBonusPayPercent == 0) { // If the number of men & women that receive bonuses is BOTH 0, then: // - these two fields are complete // - we don't need them to fill in the other two fields // so, the overall bonus task is complete viewModel.BonusPayStatus = TaskListStatus.Completed; } else { viewModel.BonusPayStatus = GetStatusFromNullableValues( draftReturn.FemaleMedianBonusPayPercent, draftReturn.MaleMedianBonusPayPercent, draftReturn.DiffMeanBonusPercent, draftReturn.DiffMedianBonusPercent); } viewModel.EmployessByPayQuartileStatus = GetStatusFromNullableValues( draftReturn.FemaleUpperQuartilePayBand, draftReturn.MaleUpperQuartilePayBand, draftReturn.FemaleUpperPayBand, draftReturn.MaleUpperPayBand, draftReturn.FemaleMiddlePayBand, draftReturn.MaleMiddlePayBand, draftReturn.FemaleLowerPayBand, draftReturn.MaleLowerPayBand); viewModel.PersonResponsibleStatus = GetStatusFromStrings( draftReturn.FirstName, draftReturn.LastName, draftReturn.JobTitle); viewModel.OrganisationSizeStatus = draftReturn.OrganisationSize.HasValue ? TaskListStatus.Completed : TaskListStatus.NotStarted; viewModel.LinkStatus = GetStatusFromStrings(draftReturn.CompanyLinkToGPGInfo); viewModel.ReviewAndSubmitStatus = CalculateReviewStatus(viewModel); }
public IActionResult ReportOverview(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); var viewModel = new ReportOverviewViewModel(); PopulateViewModel(viewModel, organisationId, reportingYear); SetReportStatuses(viewModel, organisationId, reportingYear); return(View("ReportOverview", viewModel)); }
private TaskListStatus CalculateReviewStatus(ReportOverviewViewModel viewModel) { if (viewModel.HourlyPayStatus == TaskListStatus.Completed && viewModel.BonusPayStatus == TaskListStatus.Completed && viewModel.EmployessByPayQuartileStatus == TaskListStatus.Completed && ( viewModel.PersonResponsibleStatus == TaskListStatus.Completed || viewModel.Organisation.SectorType == SectorTypes.Public // Public sector organisations don't have to provide a responsible person ) && viewModel.OrganisationSizeStatus == TaskListStatus.Completed) // The "website link" page is optional, so we don't check viewModel.LinkStatus { return(TaskListStatus.NotStarted); } else { return(TaskListStatus.CannotStartYet); } }
public ActionResult Index(int id /* reviewId */) { var review = _databaseContext.ReviewConfigurations.Find(id); var reviewCategories = review.Categories.OrderBy(c => c.Name).ToList(); var result = new ReportOverviewViewModel { ReviewId = id, Title = string.Format(@"Reports for review ""{0}""", review.Name), CategoryIds = review.Categories.Select(p => p.Id).ToList(), Categories = reviewCategories, CategoryId = 0, //reviewCategories.First().Id, Peers = review.Peers, PeerIds = review.Peers.Select(p => p.Id).ToList(), LoggedInUserId = _databaseContext.UserProfiles.Single(user => user.EmailAddress == User.Identity.Name).Id, SelectedPeerIds = new List <int>() }; return(View(result)); }
private void SetReportStatuses(ReportOverviewViewModel viewModel, long organisationId, int reportingYear) { DraftReturn draftReturn = draftReturnService.GetDraftReturn(organisationId, reportingYear); if (draftReturn != null) { viewModel.DraftReturnExists = true; SetReportStatusesFromDraftReturn(viewModel, draftReturn); return; } Return submittedReturn = viewModel.Organisation.GetReturn(reportingYear); if (submittedReturn != null) { SetReportStatusesFromSubmittedReturn(viewModel, submittedReturn); return; } SetInitialReportStatuses(viewModel); }
private void SetOptedOutOfReportingPayQuarterFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.OptedOutOfReportingPayQuarters = submittedReturn.OptedOutOfReportingPayQuarters; }
private void SetOptedOutOfReportingPayQuarterFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.OptedOutOfReportingPayQuarters = draftReturn.OptedOutOfReportingPayQuarters; }
private void SetLinkToGenderPayGapInformationFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.LinkToOrganisationWebsite = submittedReturn.CompanyLinkToGPGInfo; }
private void SetLinkToGenderPayGapInformationFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.LinkToOrganisationWebsite = draftReturn.CompanyLinkToGPGInfo; }
private void SetOrganisationSizeFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.SizeOfOrganisation = submittedReturn.OrganisationSize; }
private void SetOrganisationSizeFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.SizeOfOrganisation = draftReturn.OrganisationSize; }
private void SetPersonResponsibleFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.ResponsiblePersonFirstName = submittedReturn.FirstName; viewModel.ResponsiblePersonLastName = submittedReturn.LastName; viewModel.ResponsiblePersonJobTitle = submittedReturn.JobTitle; }
private void SetPersonResponsibleFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.ResponsiblePersonFirstName = draftReturn.FirstName; viewModel.ResponsiblePersonLastName = draftReturn.LastName; viewModel.ResponsiblePersonJobTitle = draftReturn.JobTitle; }
public OverviewView(ClientOverviewViewModel clientOverviewViewModel, DeviceOverviewViewModel deviceOverviewViewModel, ReportOverviewViewModel reportOverviewViewModel) : this() { ClientControl.DataContext = clientOverviewViewModel; DeviceControl.DataContext = deviceOverviewViewModel; ReportControl.DataContext = reportOverviewViewModel; }
private void SetMeanAndMedianGenderPayGapUsingHourlyPayFiguresFromSubmittedReturn(ReportOverviewViewModel viewModel, Return submittedReturn) { viewModel.DiffMeanHourlyPayPercent = submittedReturn.DiffMeanHourlyPayPercent; viewModel.DiffMedianHourlyPercent = submittedReturn.DiffMedianHourlyPercent; }
protected bool Equals(ReportOverviewViewModel other) { return(string.Equals(WorkCell, other.WorkCell) && string.Equals(WorkUnit, other.WorkUnit) && Actual == other.Actual && Remaining == other.Remaining && Set == other.Set && OverflowRemaining == other.OverflowRemaining && OverflowSet == other.OverflowSet && string.Equals(RuleName, other.RuleName) && string.Equals(RuleType, other.RuleType)); }
private void SetMeanAndMedianGenderPayGapUsingHourlyPayFiguresFromDraftReturn(ReportOverviewViewModel viewModel, DraftReturn draftReturn) { viewModel.DiffMeanHourlyPayPercent = draftReturn.DiffMeanHourlyPayPercent; viewModel.DiffMedianHourlyPercent = draftReturn.DiffMedianHourlyPercent; }