public HttpResponseMessage GetDiagnosticReportsStatsGrid(DiagnosticReportsStatsModel model) { var query = objDiagnosticReportsStats.GetDiagnosticReportsStatsGrid(model); var data = query.ToDataSourceResult(model.Request); return(Request.CreateResponse(HttpStatusCode.OK, data)); //return Request.CreateResponse(HttpStatusCode.OK, query); }
public ActionResult GetDiagnosticReportsStatsGrid([DataSourceRequest] DataSourceRequest request, DiagnosticReportsStatsModel model) { var token = objToken.GetAPIToken(); var reportsStatsModel = new DiagnosticReportsStatsModel(); // Set the values into model reportsStatsModel.Request = request; reportsStatsModel.ExternalSystemId = (Request.Params["ExternalSystemId"] == "1" || Request.Params["ExternalSystemId"] == "") ? null : Request.Params["ExternalSystemId"]; reportsStatsModel.MakesList = (Request.Params["MakesList"] == "1" || Request.Params["MakesList"] == "") ? null : Request.Params["MakesList"]; if (!string.IsNullOrEmpty(Request.Params["StartDateUTC"])) { reportsStatsModel.StartDateUTC = Convert.ToDateTime(Request.Params["StartDateUTC"]); } else { reportsStatsModel.StartDateUTC = null; } if (!string.IsNullOrEmpty(Request.Params["EndDateUTC"])) { reportsStatsModel.EndDateUTC = Convert.ToDateTime(Request.Params["EndDateUTC"]); } else { reportsStatsModel.EndDateUTC = null; } // Call web API method HttpResponseMessage httpResponse = API.Post.PostObject("Reports/GetDiagnosticReportsStatsGrid", reportsStatsModel, token); string response = httpResponse.Content.ReadAsStringAsync().Result; JObject json = JObject.Parse(response); List <DiagnosticReportsStatsCaculatedValues> partNameObj = JsonConvert.DeserializeObject <List <DiagnosticReportsStatsCaculatedValues> >(json["Data"].ToString()); int Total = JsonConvert.DeserializeObject <int>(json["Total"].ToString()); IEnumerable <AggregateResult> AggregateResults = JsonConvert.DeserializeObject <IEnumerable <AggregateResult> >(json["AggregateResults"].ToString()); var data = new GridViewBindResult(); data.Data = partNameObj; data.AggregateResults = AggregateResults; data.Total = Total; return(Json(data)); }
/// <summary> /// Used to get the Grid data of Diagnostic Reports Stats /// </summary> /// <param name="model"></param> /// <returns></returns> public List <DiagnosticReportsStatsCaculatedValues> GetDiagnosticReportsStatsGrid(DiagnosticReportsStatsModel model) { // Apply limit 100 recrods var unitOfWork = new UnitOfWork <CarMDEntities>(); var DiagnosticReportRepo = unitOfWork.GetRepository <DiagnosticReport>(); var UserRepo = unitOfWork.GetRepository <User>(); var ExternalSystemRepo = unitOfWork.GetRepository <ExternalSystem>(); var VehicleRepo = unitOfWork.GetRepository <Vehicle>(); var PolkVehicleYMMERepo = unitOfWork.GetRepository <PolkVehicleYMME>(); var DiagnosticReportResultRepo = unitOfWork.GetRepository <DiagnosticReportResult>(); var DiagnosticReportResultFixRepo = unitOfWork.GetRepository <DiagnosticReportResultFix>(); List <string> makesListList = new List <string>(); if (model.MakesList != null) { var makeList = model.MakesList.Split(','); foreach (var rowData in makeList) { makesListList.Add(rowData); } } var ReportsTotal = (from dReport in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on dReport.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId join vh in VehicleRepo.DoQuery() on dReport.VehicleId equals vh.VehicleId join pvYMME in PolkVehicleYMMERepo.DoQuery() on vh.PolkVehicleYMMEId equals pvYMME.PolkVehicleYMMEId where ((es.ExternalSystemId == model.ExternalSystemId && es.ExternalSystemId != null) || model.ExternalSystemId == null) && (makesListList.Contains(pvYMME.Make) || model.MakesList == null) && (dReport.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (dReport.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = dReport.DiagnosticReportId }).Distinct().ToList(); //var ReportsBasic = 0; var tempReportsBasic = (from DiagnosticReportBasic in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportBasic.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where DiagnosticReportBasic.OrderLineItemId == null && (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && (DiagnosticReportBasic.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportBasic.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportBasic.DiagnosticReportId }).Take(100).Distinct().ToList(); var ReportsBasic = (from dBasic in tempReportsBasic join dReport in ReportsTotal on dBasic.DiagnosticReportId equals dReport.DiagnosticReportId select dBasic ).ToList(); //var ReportsAdvanced = 0; var tempReportsAdvanced = (from DiagnosticReportAdvanced in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportAdvanced.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where DiagnosticReportAdvanced.OrderLineItemId != null && (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && (DiagnosticReportAdvanced.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportAdvanced.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportAdvanced.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsAdvanced = (from dAdvanced in tempReportsAdvanced join dReport in ReportsTotal on dAdvanced.DiagnosticReportId equals dReport.DiagnosticReportId select dAdvanced ).ToList(); //var ReportsBasicCreatedWithFixNeeded = 0; var tempReportsBasicCreatedWithFixNeeded = (from DiagnosticReportBasicCreatedWithFixNeeded in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportBasicCreatedWithFixNeeded.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportBasicCreatedWithFixNeeded.OrderLineItemId == null && ( DiagnosticReportBasicCreatedWithFixNeeded.PwrDiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportBasicCreatedWithFixNeeded.Obd1DiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportBasicCreatedWithFixNeeded.AbsDiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportBasicCreatedWithFixNeeded.SrsDiagnosticReportFixStatusWhenCreated == 2 ) && (DiagnosticReportBasicCreatedWithFixNeeded.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportBasicCreatedWithFixNeeded.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportBasicCreatedWithFixNeeded.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsBasicCreatedWithFixNeeded = (from dReport in ReportsTotal join dWithFixNeeded in tempReportsBasicCreatedWithFixNeeded on dReport.DiagnosticReportId equals dWithFixNeeded.DiagnosticReportId select dWithFixNeeded).ToList(); //var ReportsAdvancedCreatedWithFixNeeded = 0; var tempReportsAdvancedCreatedWithFixNeeded = (from DiagnosticReportAdvancedCreatedWithFixNeeded in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportAdvancedCreatedWithFixNeeded.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportAdvancedCreatedWithFixNeeded.OrderLineItemId != null && ( DiagnosticReportAdvancedCreatedWithFixNeeded.PwrDiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportAdvancedCreatedWithFixNeeded.Obd1DiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportAdvancedCreatedWithFixNeeded.AbsDiagnosticReportFixStatusWhenCreated == 2 || DiagnosticReportAdvancedCreatedWithFixNeeded.SrsDiagnosticReportFixStatusWhenCreated == 2 ) && (DiagnosticReportAdvancedCreatedWithFixNeeded.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportAdvancedCreatedWithFixNeeded.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportAdvancedCreatedWithFixNeeded.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsAdvancedCreatedWithFixNeeded = (from dReport in ReportsTotal join dWithFixNeeded in tempReportsAdvancedCreatedWithFixNeeded on dReport.DiagnosticReportId equals dWithFixNeeded.DiagnosticReportId select dWithFixNeeded).ToList(); //var ReportsAdvancedCreatedWithFixNeededAndNowFixFound = 0; var tempReportsAdvancedCreatedWithFixNeededAndNowFixFound = (from DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.OrderLineItemId != null && ( (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.PwrDiagnosticReportFixStatusWhenCreated == 2 && DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.PwrDiagnosticReportFixStatus == 1) || (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.Obd1DiagnosticReportFixStatusWhenCreated == 2 && DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.Obd1DiagnosticReportFixStatus == 1) || (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.AbsDiagnosticReportFixStatusWhenCreated == 2 && DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.AbsDiagnosticReportFixStatus == 1) || (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.SrsDiagnosticReportFixStatusWhenCreated == 2 && DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.SrsDiagnosticReportFixStatus == 1) ) && (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportAdvancedCreatedWithFixNeededAndNowFixFound.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsAdvancedCreatedWithFixNeededAndNowFixFound = (from dReport in ReportsTotal join dNowFixFound in tempReportsAdvancedCreatedWithFixNeededAndNowFixFound on dReport.DiagnosticReportId equals dNowFixFound.DiagnosticReportId select dNowFixFound).ToList(); //var ReportsGreen = 0; var tempReportsGreen = (from DiagnosticReportGreen in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportGreen.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportGreen.ToolLEDStatus == 1 && (DiagnosticReportGreen.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportGreen.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportGreen.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsGreen = (from dGreen in tempReportsGreen join dReport in ReportsTotal on dGreen.DiagnosticReportId equals dReport.DiagnosticReportId select dGreen ).ToList(); //var ReportsYellow = 0; var tempReportsYellow = (from DiagnosticReportYellow in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportYellow.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportYellow.ToolLEDStatus == 2 && (DiagnosticReportYellow.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportYellow.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportYellow.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsYellow = (from dYellow in tempReportsYellow join dReport in ReportsTotal on dYellow.DiagnosticReportId equals dReport.DiagnosticReportId select dYellow ).ToList(); //var ReportsRed = 0; var tempReportsRed = (from DiagnosticReportRed in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportRed.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportRed.ToolLEDStatus == 3 && (DiagnosticReportRed.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportRed.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportRed.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsRed = (from dRed in tempReportsRed join dReport in ReportsTotal on dRed.DiagnosticReportId equals dReport.DiagnosticReportId select dRed ).ToList(); //var ReportsError = 0; var tempReportsError = (from DiagnosticReportError in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportError.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportError.ToolLEDStatus == 4 && (DiagnosticReportError.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportError.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportError.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsError = (from dError in tempReportsError join dReport in ReportsTotal on dError.DiagnosticReportId equals dReport.DiagnosticReportId select dError ).ToList(); //var ReportsTechRequested = 0; var tempReportsTechRequested = (from DiagnosticReportTechRequested in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on DiagnosticReportTechRequested.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId where (es.ExternalSystemId == model.ExternalSystemId || model.ExternalSystemId == null) && DiagnosticReportTechRequested.RequestedTechnicianContactDateTimeUTC != null && (DiagnosticReportTechRequested.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (DiagnosticReportTechRequested.CreatedDateTimeUTC <= model.EndDateUTC || model.EndDateUTC == null) select new { DiagnosticReportId = DiagnosticReportTechRequested.DiagnosticReportId } ).Take(100).Distinct().ToList(); var ReportsTechRequested = (from dTechRequested in tempReportsTechRequested join dReport in ReportsTotal on dTechRequested.DiagnosticReportId equals dReport.DiagnosticReportId select dTechRequested ).ToList(); //var ReportsAdvancedWithRepairProcedure = 0; var ReportsAdvancedWithRepairProcedure = (from dReport in DiagnosticReportRepo.DoQuery() join user in UserRepo.DoQuery() on dReport.UserId equals user.UserId join es in ExternalSystemRepo.DoQuery() on user.UserTypeExternalId equals es.ExternalSystemId join vh in VehicleRepo.DoQuery() on dReport.VehicleId equals vh.VehicleId join pvYMME in PolkVehicleYMMERepo.DoQuery() on vh.PolkVehicleYMMEId equals pvYMME.PolkVehicleYMMEId join drrr in DiagnosticReportResultRepo.DoQuery() on dReport.DiagnosticReportResultId equals drrr.DiagnosticReportResultId join drrrf in DiagnosticReportResultFixRepo.DoQuery() on drrr.DiagnosticReportResultId equals drrrf.DiagnosticReportResultId where drrrf.OrderLineItemId != null && dReport.OrderLineItemId != null && es.ExternalSystemId == model.ExternalSystemId && (makesListList.Contains(pvYMME.Make) || model.MakesList == null) && (dReport.CreatedDateTimeUTC >= model.StartDateUTC || model.StartDateUTC == null) && (dReport.CreatedDateTimeUTC <= model.StartDateUTC || model.StartDateUTC == null) select new { DiagnosticReportId = dReport.DiagnosticReportId } ).Distinct().ToList(); DiagnosticReportsStatsValues objDiagnosticReportsStatsValues = new DiagnosticReportsStatsValues(); objDiagnosticReportsStatsValues.ReportsBasic = ReportsBasic.Count(); objDiagnosticReportsStatsValues.ReportsAdvanced = ReportsAdvanced.Count(); objDiagnosticReportsStatsValues.ReportsBasicCreatedWithFixNeeded = ReportsBasicCreatedWithFixNeeded.Count(); objDiagnosticReportsStatsValues.ReportsAdvancedCreatedWithFixNeeded = ReportsAdvancedCreatedWithFixNeeded.Count(); objDiagnosticReportsStatsValues.ReportsAdvancedCreatedWithFixNeededAndNowFixFound = ReportsAdvancedCreatedWithFixNeededAndNowFixFound.Count(); objDiagnosticReportsStatsValues.ReportsGreen = ReportsGreen.Count(); objDiagnosticReportsStatsValues.ReportsYellow = ReportsYellow.Count(); objDiagnosticReportsStatsValues.ReportsRed = ReportsRed.Count(); objDiagnosticReportsStatsValues.ReportsError = ReportsError.Count(); objDiagnosticReportsStatsValues.ReportsTechRequested = ReportsTechRequested.Count(); objDiagnosticReportsStatsValues.ReportsAdvancedWithRepairProcedure = ReportsAdvancedWithRepairProcedure.Count(); objDiagnosticReportsStatsValues.ReportsTotal = ReportsTotal.Count(); return(BindDiagnosticReportStats(model, objDiagnosticReportsStatsValues)); }
private List <DiagnosticReportsStatsCaculatedValues> BindDiagnosticReportStats(DiagnosticReportsStatsModel model, DiagnosticReportsStatsValues stats) { DiagnosticReportsStatsGridHeader objHeader = new DiagnosticReportsStatsGridHeader(); List <string> descriptionList = new List <string>(); List <string> dayList = new List <string>(); List <string> weekList = new List <string>(); List <string> monthList = new List <string>(); List <string> quarterList = new List <string>(); List <string> yearList = new List <string>(); List <string> totalList = new List <string>(); descriptionList.Add("Basic Reports"); descriptionList.Add("Advanced Reports"); descriptionList.Add("Advanced Reports w/Repairs"); descriptionList.Add("Basic Reports Created With No Fix"); descriptionList.Add("Advanced Reports Created With No Fix"); descriptionList.Add("Advanced Reports Created With No Fix But Now Have a Fix"); descriptionList.Add("Green LED Status Reports"); descriptionList.Add("Yellow LED Status Reports"); descriptionList.Add("Red LED Status Reports"); descriptionList.Add("Error LED Status Reports"); descriptionList.Add("Technician Contact Requested"); descriptionList.Add("Total"); string tempStart = model.StartDateUTC.ToString(); string tempEnd = model.EndDateUTC.ToString(); DateTime start = tempStart == "" ? DateTime.Today : Convert.ToDateTime(tempStart); DateTime end = tempEnd == "" ? DateTime.Today : Convert.ToDateTime(tempEnd); end = end.AddSeconds(1); TimeSpan ts = end.Subtract(start); int days = (int)ts.TotalDays; int weeks = (int)(days / 7); int months = this.GetMonthsBetweenDates(start, end); int quarters = (int)(months / 3); int years = (int)(months / 12); objHeader.DaysCount = "(" + days.ToString() + " day" + ((days > 1) ? "s" : "") + ")"; objHeader.WeeksCount = "(" + weeks.ToString() + " week" + ((weeks > 1) ? "s" : "") + ")"; objHeader.MonthsCount = "(" + months.ToString() + " month" + ((months > 1) ? "s" : "") + ")"; objHeader.QuartersCount = "(" + quarters.ToString() + " quarter" + ((quarters > 1) ? "s" : "") + ")"; objHeader.YearsCount = "(" + years.ToString() + " year" + ((years > 1) ? "s" : "") + ")"; if (days > 0) { dayList.Add(((int)(stats.ReportsBasic / days)).ToString()); dayList.Add(((int)(stats.ReportsAdvanced / days)).ToString()); dayList.Add(((int)(stats.ReportsAdvancedWithRepairProcedure / days)).ToString()); dayList.Add(((int)(stats.ReportsBasicCreatedWithFixNeeded / days)).ToString()); dayList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeeded / days)).ToString()); dayList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound / days)).ToString()); dayList.Add(((int)(stats.ReportsGreen / days)).ToString()); dayList.Add(((int)(stats.ReportsYellow / days)).ToString()); dayList.Add(((int)(stats.ReportsRed / days)).ToString()); dayList.Add(((int)(stats.ReportsError / days)).ToString()); dayList.Add(((int)(stats.ReportsTechRequested / days)).ToString()); dayList.Add(((int)(stats.ReportsTotal / days)).ToString()); } if (weeks > 0) { weekList.Add(((int)(stats.ReportsBasic / weeks)).ToString()); weekList.Add(((int)(stats.ReportsAdvanced / weeks)).ToString()); weekList.Add(((int)(stats.ReportsAdvancedWithRepairProcedure / weeks)).ToString()); weekList.Add(((int)(stats.ReportsBasicCreatedWithFixNeeded / weeks)).ToString()); weekList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeeded / weeks)).ToString()); weekList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound / weeks)).ToString()); weekList.Add(((int)(stats.ReportsGreen / weeks)).ToString()); weekList.Add(((int)(stats.ReportsYellow / weeks)).ToString()); weekList.Add(((int)(stats.ReportsRed / weeks)).ToString()); weekList.Add(((int)(stats.ReportsError / weeks)).ToString()); weekList.Add(((int)(stats.ReportsTechRequested / weeks)).ToString()); weekList.Add(((int)(stats.ReportsTotal / weeks)).ToString()); } if (months > 0) { monthList.Add(((int)(stats.ReportsBasic / months)).ToString()); monthList.Add(((int)(stats.ReportsAdvanced / months)).ToString()); monthList.Add(((int)(stats.ReportsAdvancedWithRepairProcedure / months)).ToString()); monthList.Add(((int)(stats.ReportsBasicCreatedWithFixNeeded / months)).ToString()); monthList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeeded / months)).ToString()); monthList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound / months)).ToString()); monthList.Add(((int)(stats.ReportsGreen / months)).ToString()); monthList.Add(((int)(stats.ReportsYellow / months)).ToString()); monthList.Add(((int)(stats.ReportsRed / months)).ToString()); monthList.Add(((int)(stats.ReportsError / months)).ToString()); monthList.Add(((int)(stats.ReportsTechRequested / months)).ToString()); monthList.Add(((int)(stats.ReportsTotal / months)).ToString()); } if (quarters > 0) { quarterList.Add(((int)(stats.ReportsBasic / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsAdvanced / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsAdvancedWithRepairProcedure / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsBasicCreatedWithFixNeeded / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeeded / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsGreen / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsYellow / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsRed / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsError / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsTechRequested / quarters)).ToString()); quarterList.Add(((int)(stats.ReportsTotal / quarters)).ToString()); } if (years > 0) { yearList.Add(((int)(stats.ReportsBasic / years)).ToString()); yearList.Add(((int)(stats.ReportsAdvanced / years)).ToString()); yearList.Add(((int)(stats.ReportsAdvancedWithRepairProcedure / years)).ToString()); yearList.Add(((int)(stats.ReportsBasicCreatedWithFixNeeded / years)).ToString()); yearList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeeded / years)).ToString()); yearList.Add(((int)(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound / years)).ToString()); yearList.Add(((int)(stats.ReportsGreen / years)).ToString()); yearList.Add(((int)(stats.ReportsYellow / years)).ToString()); yearList.Add(((int)(stats.ReportsRed / years)).ToString()); yearList.Add(((int)(stats.ReportsError / years)).ToString()); yearList.Add(((int)(stats.ReportsTechRequested / years)).ToString()); yearList.Add(((int)(stats.ReportsTotal / years)).ToString()); } totalList.Add(stats.ReportsBasic.ToString()); totalList.Add(stats.ReportsAdvanced.ToString()); totalList.Add(stats.ReportsAdvancedWithRepairProcedure.ToString()); totalList.Add(stats.ReportsBasicCreatedWithFixNeeded.ToString()); totalList.Add(stats.ReportsAdvancedCreatedWithFixNeeded.ToString()); totalList.Add(stats.ReportsAdvancedCreatedWithFixNeededAndNowFixFound.ToString()); totalList.Add(stats.ReportsGreen.ToString()); totalList.Add(stats.ReportsYellow.ToString()); totalList.Add(stats.ReportsRed.ToString()); totalList.Add(stats.ReportsError.ToString()); totalList.Add(stats.ReportsTechRequested.ToString()); totalList.Add(stats.ReportsTotal.ToString()); List <DiagnosticReportsStatsCaculatedValues> objDiagnosticReportsStatsCaculatedValues = new List <DiagnosticReportsStatsCaculatedValues>(); for (int i = -1; i < descriptionList.Count(); i++) { if (i == -1) { DiagnosticReportsStatsCaculatedValues obj = new DiagnosticReportsStatsCaculatedValues(); obj.DescriptionList = ""; obj.DaysList = objHeader.DaysCount; obj.WeeklyList = objHeader.WeeksCount; obj.MonthlyList = objHeader.MonthsCount; obj.QuarterlyList = objHeader.QuartersCount; obj.YearlyList = objHeader.YearsCount; obj.TotalList = ""; objDiagnosticReportsStatsCaculatedValues.Add(obj); } else { DiagnosticReportsStatsCaculatedValues obj = new DiagnosticReportsStatsCaculatedValues(); obj.DescriptionList = descriptionList[i]; obj.DaysList = dayList.Count == 0 ? "0" : dayList[i]; obj.WeeklyList = weekList.Count == 0 ? "0" : weekList[i]; obj.MonthlyList = monthList.Count == 0 ? "0" : monthList[i]; obj.QuarterlyList = quarterList.Count == 0 ? "0" : quarterList[i]; obj.YearlyList = yearList.Count == 0 ? "0" : yearList[i]; obj.TotalList = totalList.Count == 0 ? "0" : totalList[i]; objDiagnosticReportsStatsCaculatedValues.Add(obj); } } return(objDiagnosticReportsStatsCaculatedValues); }