public ActionResult ProductPerchesBarChart() { if (CheckIfCustomer()) { var customerinvoice = cusinvrepo.GetAllByUserName(Session["UserName"].ToString()); List <ReportViewModel> view = new List <ReportViewModel>(); foreach (var item in customerinvoice) { var lineItems = cuslirepo.GetByInvoiceId(item.InvoiceId); foreach (var items in lineItems) { var indevisualproduct = comprodrepo.GetById(items.ProductId); bool check = false; foreach (var item_s in view) { if (item_s.Product.ProductId == indevisualproduct.ProductId) { item_s.Count = item_s.Count + items.Quantity; check = true; break; } else { continue; } } if (check == false) { ReportViewModel newp = new ReportViewModel(); newp.Product = indevisualproduct; newp.Count = items.Quantity; view.Add(newp); } } } List <string> ProductName = new List <string>(); List <int> PerchesQuantity = new List <int>(); foreach (var item in view) { ProductName.Add(item.Product.ProductName); PerchesQuantity.Add(item.Count); } return(Json(new { ProductName, PerchesQuantity }, JsonRequestBehavior.AllowGet)); } else { return(RedirectToAction("Login", "Home")); } }
public IHttpActionResult ProductPerchesBarChart([FromUri] string userName) { var customerinvoice = cusinvrepo.GetAllByUserName(userName); List <ReportViewModel> view = new List <ReportViewModel>(); foreach (var item in customerinvoice) { var lineItems = cuslirepo.GetByInvoiceId(item.InvoiceId); foreach (var items in lineItems) { var indevisualproduct = comprodrepo.GetById(items.ProductId); bool check = false; foreach (var item_s in view) { if (item_s.Product.ProductId == indevisualproduct.ProductId) { item_s.Count = item_s.Count + items.Quantity; check = true; break; } else { continue; } } if (check == false) { ReportViewModel newp = new ReportViewModel(); newp.Product = indevisualproduct; newp.Count = items.Quantity; view.Add(newp); } } } List <string> ProductName = new List <string>(); List <int> PerchesQuantity = new List <int>(); foreach (var item in view) { ProductName.Add(item.Product.ProductName); PerchesQuantity.Add(item.Count); } return(Ok(new { ProductName, PerchesQuantity })); }