public ActionResult GetUtilizationByRegion(int planId = -1) { var utilizations = _utilizationService.GetAllHeaderDistribution(); var r = new List <UtilizationViewModel>(); foreach (var utilization in utilizations) { foreach (var utilizationdetail in utilization.WoredaStockDistributionDetails) { var regionalutilization = new UtilizationViewModel() { Region = utilization.AdminUnit.AdminUnit2.AdminUnit2.Name, //Commodity = utilizationdetail.CommodityID.ToString(), //ActualBeneficicaries = utilization.ActualBeneficairies, Amount = utilizationdetail.DistributedAmount, }; r.Add(regionalutilization); } } var grouped = (from total in r group total by total.Region into g select new { Region = g.First().Region, total = g.Sum(t => t.Amount) }); return(Json(grouped, JsonRequestBehavior.AllowGet)); }