public JsonResult GetCostDashboard() { List <dashboardcost> dashboardcosts = new List <dashboardcost>(); var shopcatdt = db.mg_shoplist.ToList(); var yearstr = Request.QueryString["year"]; var monthstr = Request.QueryString["month"]; var totaldata = Request.QueryString["total"]; int totals = 5; if (!string.IsNullOrEmpty(totaldata)) { totals = Convert.ToInt32(totaldata); } foreach (var dt in shopcatdt) { var datetimenow = DateTime.Now; if (!string.IsNullOrEmpty(yearstr) && !string.IsNullOrEmpty(monthstr)) { int year = Convert.ToInt32(yearstr); int month = Convert.ToInt32(monthstr); datetimenow = new DateTime(year, month, 1); } //else //{ // if (dt.TRANS_DATE > datetimenow.AddMonths(-4)) // { // dashboardcost fld = new dashboardcost(); // var month = dt.TRANS_DATE.ToString("MM-yyyy"); // fld.Monthyear = month; // double countpurchase = 0; // countpurchase = countpurchase + dt.AMOUNT; // fld.totalcost = countpurchase; // dashboardcosts.Add(fld); // } //} if (dt.TRANS_DATE.Month <= datetimenow.Month) { dashboardcost fld = new dashboardcost(); var months = dt.TRANS_DATE.ToString("MM-yyyy"); fld.Monthyear = months; double countpurchase = 0; countpurchase = countpurchase + dt.AMOUNT; fld.totalcost = countpurchase; dashboardcosts.Add(fld); } } List <dashboardcost> result = dashboardcosts.GroupBy(l => l.Monthyear) .Select(cl => new dashboardcost { Monthyear = cl.First().Monthyear, totalcost = cl.Sum(c => c.totalcost), }).OrderByDescending(y => y.Monthyear).Take(totals).ToList(); //dashboardcosts = dashboardcosts.OrderBy(y => y.Monthyear).ToList(); return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult GetProfitLoss() { List <dashboardcost> dashboardcosts = new List <dashboardcost>(); var shopcatdt = db.mg_shoplist.ToList(); var yearstr = Request.QueryString["year"]; var monthstr = Request.QueryString["month"]; var totaldata = Request.QueryString["total"]; int totals = 5; if (!string.IsNullOrEmpty(totaldata)) { totals = Convert.ToInt32(totaldata); } foreach (var dt in shopcatdt) { var datetimenow = DateTime.Now; if (!string.IsNullOrEmpty(yearstr) && !string.IsNullOrEmpty(monthstr)) { int year = Convert.ToInt32(yearstr); int month = Convert.ToInt32(monthstr); datetimenow = new DateTime(year, month, 1); } if (dt.TRANS_DATE.Month <= datetimenow.Month) { dashboardcost fld = new dashboardcost(); var month = dt.TRANS_DATE.ToString("MM-yyyy"); fld.Monthyear = month; double countpurchase = 0; countpurchase = countpurchase + dt.AMOUNT; fld.totalcost = countpurchase; dashboardcosts.Add(fld); } } List <dashboardcost> result = dashboardcosts.GroupBy(l => l.Monthyear) .Select(cl => new dashboardcost { Monthyear = cl.First().Monthyear, totalcost = cl.Sum(c => c.totalcost), }).OrderBy(y => y.Monthyear).ToList(); List <dashboardincome> dashboardincomes = new List <dashboardincome>(); var incomedt = db.mt_trans_dtl.ToList(); foreach (var dt in incomedt) { var datetimenow = DateTime.Now; if (!string.IsNullOrEmpty(yearstr) && !string.IsNullOrEmpty(monthstr)) { int year = Convert.ToInt32(yearstr); int month = Convert.ToInt32(monthstr); datetimenow = new DateTime(year, month, 1); } if (dt.mt_trans_hdr.TRANS_DATE.Month <= datetimenow.Month) { dashboardincome fld = new dashboardincome(); var month = dt.mt_trans_hdr.TRANS_DATE.ToString("MM-yyyy"); fld.Monthyear = month; double countpurchase = 0; countpurchase = countpurchase + dt.PRICE; fld.totalincome = countpurchase; dashboardincomes.Add(fld); } } List <dashboardincome> resultincome = dashboardincomes.GroupBy(l => l.Monthyear) .Select(cl => new dashboardincome { Monthyear = cl.First().Monthyear, totalincome = cl.Sum(c => c.totalincome), }).OrderByDescending(y => y.Monthyear).ToList(); foreach (var dt in resultincome) { var dtcost = result.Where(y => y.Monthyear == dt.Monthyear).FirstOrDefault(); if (dtcost != null) { dt.totalincome = dt.totalincome - dtcost.totalcost; } } //dashboardcosts = dashboardcosts.OrderBy(y => y.Monthyear).ToList(); return(Json(resultincome.Take(totals).ToList(), JsonRequestBehavior.AllowGet)); }