public JsonResult OntimeDocReturnedTableSummaryYearly(string DepartmentId, string SectionId, string MatNameId) { // add IEnumerable<AcceptOntimeSummaryViewModels> List <DocReturnedOntimeSummaryYearlyViewModels> viewSummaryModel = new List <DocReturnedOntimeSummaryYearlyViewModels>(); // filter by department var q = objBs.ontimeDocReturnYearBs.GetAll().Where(x => !String.IsNullOrEmpty(x.DepartmentName) && !String.IsNullOrEmpty(x.SectionName) && !String.IsNullOrEmpty(x.MatName)); //filter department if (!String.IsNullOrEmpty(DepartmentId)) { q = q.Where(x => x.DepartmentId == DepartmentId); } //filter Section if (!String.IsNullOrEmpty(SectionId)) { q = q.Where(x => x.SectionId == SectionId); } //filter matname if (!String.IsNullOrEmpty(MatNameId)) { q = q.Where(x => x.MatFriGrp == MatNameId); } var results = (from c in q group c by new { c.DepartmentName, c.SectionName } into g select new { DepartmentName = g.Key.DepartmentName, SectionName = g.Key.SectionName, SumOfDocReturn = g.Sum(x => x.SumOfDocReturn), OnTime = g.Sum(x => x.OnTime), Delay = g.Sum(x => x.Delay), Adjust = g.Sum(x => x.AdjustDocReturn) }).OrderBy(x => x.DepartmentName); foreach (var item in results) { DocReturnedOntimeSummaryYearlyViewModels model = new DocReturnedOntimeSummaryYearlyViewModels(); model.DepartmentName = item.DepartmentName; model.SectionName = item.SectionName; model.SumOfDocReturn = item.SumOfDocReturn; model.OnTime = item.OnTime; model.Delay = item.Delay; model.Adjust = item.Adjust; model.Plan = 98.0; model.Percent = Math.Round(((double)item.OnTime / (double)item.SumOfDocReturn) * 100, 2); model.PercentAdjust = Math.Round((((double)item.OnTime + (double)item.Adjust) / (double)item.SumOfDocReturn) * 100, 2); viewSummaryModel.Add(model); } return(Json(viewSummaryModel, JsonRequestBehavior.AllowGet)); }
public JsonResult OntimeDocReturnedTableSummaryYearly(string DepartmentId, string SectionId, string MatNameId) { // add IEnumerable<AcceptOntimeSummaryViewModels> List<DocReturnedOntimeSummaryYearlyViewModels> viewSummaryModel = new List<DocReturnedOntimeSummaryYearlyViewModels>(); // filter by department var q = objBs.ontimeDocReturnYearBs.GetAll().Where(x => !String.IsNullOrEmpty(x.DepartmentName) && !String.IsNullOrEmpty(x.SectionName) && !String.IsNullOrEmpty(x.MatName)); //filter department if (!String.IsNullOrEmpty(DepartmentId)) q = q.Where(x => x.DepartmentId == DepartmentId); //filter Section if (!String.IsNullOrEmpty(SectionId)) q = q.Where(x => x.SectionId == SectionId); //filter matname if (!String.IsNullOrEmpty(MatNameId)) q = q.Where(x => x.MatFriGrp == MatNameId); var results = (from c in q group c by new { c.DepartmentName, c.SectionName } into g select new { DepartmentName = g.Key.DepartmentName, SectionName = g.Key.SectionName, SumOfDocReturn = g.Sum(x => x.SumOfDocReturn), OnTime = g.Sum(x => x.OnTime), Delay = g.Sum(x => x.Delay), Adjust = g.Sum(x => x.AdjustDocReturn) }).OrderBy(x => x.DepartmentName); foreach (var item in results) { DocReturnedOntimeSummaryYearlyViewModels model = new DocReturnedOntimeSummaryYearlyViewModels(); model.DepartmentName = item.DepartmentName; model.SectionName = item.SectionName; model.SumOfDocReturn = item.SumOfDocReturn; model.OnTime = item.OnTime; model.Delay = item.Delay; model.Adjust = item.Adjust; model.Plan = 98.0; model.Percent = Math.Round(((double)item.OnTime / (double)item.SumOfDocReturn) * 100, 2); model.PercentAdjust = Math.Round((((double)item.OnTime + (double)item.Adjust) / (double)item.SumOfDocReturn) * 100, 2); viewSummaryModel.Add(model); } return Json(viewSummaryModel, JsonRequestBehavior.AllowGet); }