public async Task <IActionResult> Index() { var blockingRateList = _dashboardRepository.GetBlockingRateByFactory(); var listPO = _dashboardRepository.GetNumberOfPONeedToCheckListByFactory(blockingRateList); int numberPONeedToInspect = 0; foreach (var item in listPO) { numberPONeedToInspect += item.NumberOfPONeedToCheck; } var numberOfPONeedToCheckList = _dashboardRepository.GetNumberOfPONeedToCheckListByFactory(blockingRateList); var dpm = _dashboardRepository.GetDPM(); var dpmList = _dashboardRepository.GetDPMByFactory(); var brChart = _dashboardRepository.GetBRChartDatapoint(); var dashboardViewModel = new DashboardViewModel() { BlokingRate = _dashboardRepository.GetBlockingRate(), NumberPONeedToInspect = numberPONeedToInspect, BlockingRateList = blockingRateList, NumberOfPONeedToCheckList = numberOfPONeedToCheckList, DPM = dpm, DPMList = dpmList, BlockingRateChart = brChart }; var data = string.Empty; var week = string.Empty; foreach (var item in brChart.BRDatapoints.Reverse()) { data += item.BRValue + ","; week += item.Week + ","; } data = data.Remove(data.Length - 1); week = week.Remove(week.Length - 1); ViewBag.Data = data; ViewBag.Label = week; var factoryLabels = string.Empty; var poData = string.Empty; foreach (var item in numberOfPONeedToCheckList) { factoryLabels += item.FactoryName + ","; poData += item.NumberOfPONeedToCheck + ","; } if (!string.IsNullOrEmpty(factoryLabels)) { factoryLabels = factoryLabels.Remove(factoryLabels.Length - 1); poData = poData.Remove(poData.Length - 1); ViewBag.PoData = poData; ViewBag.FactoryLabels = factoryLabels; } var dpmFactoryLabels = string.Empty; var dpmData = string.Empty; foreach (var item in dpmList.DPMList) { dpmFactoryLabels += item.FactoryName + ","; dpmData += item.DPMValue + ","; } if (!string.IsNullOrEmpty(dpmData)) { dpmFactoryLabels = dpmFactoryLabels.Remove(dpmFactoryLabels.Length - 1); dpmData = dpmData.Remove(dpmData.Length - 1); ViewBag.DPMData = dpmData; ViewBag.DPMFactoryLabels = dpmFactoryLabels; } var username = await _userManager.GetUserAsync(User); var inspectionList = _inspectionRepository.Inspections; if (username != null) { inspectionList = inspectionList.Where(x => x.UserBookingId == username.Id); } var list = inspectionList.Where(p => p.Result == (int)InspectionResultEnum.Reject && p.InspectStatus == true); var count = list.Count(); TempData["RejectCount"] = count; return(View(dashboardViewModel)); }