public OrderTrackingListViewModel GetListOrder(int customerId) { DBModel db = new DBModel(); OrderTrackingListViewModel result = new OrderTrackingListViewModel(); result.Items = new List <OrderTrackingViewModel>(); DbRepository <Order> repoOrder = new DbRepository <Order>(db); DbRepository <OrderDetail> repoOrderDetail = new DbRepository <OrderDetail>(db); DbRepository <Payment> repoPayment = new DbRepository <Payment>(db); var tmp = from o in repoOrder.GetAll() join od in repoOrderDetail.GetAll() on o.Order_ID equals od.Order_Id where o.Customer_ID == customerId join pay in repoPayment.GetAll() on o.Payment_ID equals pay.Payment_ID group od by new { o.Order_ID, o.Order_Date, o.Status, pay.Payment_Name } into g orderby g.Key.Order_ID descending select new OrderTrackingViewModel { OrderId = g.Key.Order_ID, OrderDate = g.Key.Order_Date, Price = (g.Sum(od => od.Quantity * od.UnitPrice)).ToString(), Payment = g.Key.Payment_Name, OrderState = g.Key.Status }; foreach (var item in tmp) { result.Items.Add(item); } return(result); }
public ActionResult history_order() { int id = (int)Session["id"]; OrderService cs = new OrderService(); OrderTrackingListViewModel olv = cs.GetListOrder(id); return(View(olv)); }