public IViewComponentResult Invoke(PcsDailyResults pcsWeightsDailyResults) { PcsSummary pcsSummary = new PcsSummary { Date = pcsWeightsDailyResults.Date, Title = pcsWeightsDailyResults.Date.DayOfWeek.ToString() + " " + pcsWeightsDailyResults.Date.ToShortDateString() + " - Compliance " + pcsWeightsDailyResults.PcsCompliancePercentage.ToString("0.##") + "%", Percentage = pcsWeightsDailyResults.PcsCompliancePercentage }; GetClassColours(pcsSummary, pcsWeightsDailyResults.PcsCompliancePercentage); foreach (var parameter in pcsWeightsDailyResults.MaterialsChecked) { PcsSummaryParameter currentParam = new PcsSummaryParameter(); switch (parameter.Score) { case 0: currentParam.Reasons = parameter.GetComplianceErrorsOutOfRange(); if (currentParam.Reasons.Count == 0) { currentParam.Reasons = parameter.GetComplianceErrorsOutOfTolerance(); } currentParam.Heading = parameter.GetErrorHeading(); currentParam.Subheading = parameter.GetSubheading(); break; case 1: currentParam.Reasons = parameter.GetComplianceErrorsOutOfTolerance(); currentParam.Heading = parameter.GetErrorHeading(); currentParam.Subheading = parameter.GetSubheading(); break; default: currentParam.Reasons = new List <KeyValuePair <string, string> >(); break; } pcsSummary.ParameterSummary.Add(currentParam); } return(View(pcsSummary)); }
private void GetClassColours(PcsSummary pcsSummary, decimal percentage) { if (percentage >= 85) { pcsSummary.IconColourClass = "pcs-daily-icon-good"; pcsSummary.Icon = "fas fa-check-circle"; pcsSummary.TitleColourClass = "pcs-daily-heading-good"; } else if (percentage > 70 && percentage < 85) { pcsSummary.IconColourClass = "pcs-daily-icon-warning"; pcsSummary.Icon = "fas fa-exclamation-circle"; pcsSummary.TitleColourClass = "pcs-daily-heading-warning"; } else { pcsSummary.IconColourClass = "pcs-daily-icon-error"; pcsSummary.Icon = "fas fa-times-circle"; pcsSummary.TitleColourClass = "pcs-daily-heading-error"; } }