public ActionResult ListCustomerOrders(int id,int? page, int? itemsPerPage, string sortOrder, string currentFilter) { if (!isAdmin()) return RedirectToAction("LogIn", "Main"); ViewBag.CurrentSort = sortOrder; ViewBag.IDSortParm = String.IsNullOrEmpty(sortOrder) ? "id_desc" : ""; ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date"; ViewBag.CIDSortParm = sortOrder == "CID" ? "cid_desc" : "CID"; ViewBag.CFNameSortParm = sortOrder == "CFName" ? "cfname_desc" : "CFName"; ViewBag.CLNameSortParm = sortOrder == "CLName" ? "clname_desc" : "CLName"; ViewBag.AmountSortParm = sortOrder == "Amount" ? "amount_desc" : "Amount"; ViewBag.TotalSortParm = sortOrder == "Total" ? "total_desc" : "Total"; IOrderBLL _orderbll = new OrderBLL(); List<Order> orders = _customerbll.getAllOrdersbyCust(id); List<OrderViewModel> list = new List<OrderViewModel>(); foreach (var item in orders) { list.Add(new OrderViewModel() { id = item.id, orderdate = item.orderdate, customerid = item.customerid, customer = item.customer, quantity = _orderbll.getNumItems(item), sum = _orderbll.getSum(item) }); } switch (sortOrder) { case "id_desc": list = list.OrderByDescending(s => s.id).ToList(); break; case "Date": list = list.OrderBy(s => s.orderdate).ToList(); break; case "date_desc": list = list.OrderByDescending(s => s.orderdate).ToList(); break; case "CID": list = list.OrderBy(s => s.customerid).ToList(); break; case "cid_desc": list = list.OrderByDescending(s => s.customerid).ToList(); break; case "CFName": list = list.OrderBy(s => s.customer.firstname).ToList(); break; case "cfname_desc": list = list.OrderByDescending(s => s.customer.firstname).ToList(); break; case "CLName": list = list.OrderBy(s => s.customer.lastname).ToList(); break; case "clname_desc": list = list.OrderByDescending(s => s.customer.lastname).ToList(); break; case "Amount": list = list.OrderBy(s => s.quantity).ToList(); break; case "amount_desc": list = list.OrderByDescending(s => s.quantity).ToList(); break; case "Total": list = list.OrderBy(s => s.sum).ToList(); break; case "total_desc": list = list.OrderByDescending(s => s.sum).ToList(); break; default: list = list.OrderBy(s => s.id).ToList(); break; } ViewBag.CurrentItemsPerPage = itemsPerPage; return View(list.ToPagedList(pageNumber: page ?? 1, pageSize: itemsPerPage ?? 15)); }
public ActionResult ListCustomersOrderLines(int id, int? page, int? itemsPerPage, string sortOrder, string currentFilter) { if (!isAdmin()) return RedirectToAction("LogIn", "Main"); ViewBag.CurrentSort = sortOrder; ViewBag.IDSortParm = String.IsNullOrEmpty(sortOrder) ? "id_desc" : ""; ViewBag.PIDSortParm = sortOrder == "PID" ? "pid_desc" : "PID"; ViewBag.PNameSortParm = sortOrder == "PName" ? "pname_desc" : "PName"; ViewBag.AmountSortParm = sortOrder == "Amount" ? "amount_desc" : "Amount"; ViewBag.PriceSortParm = sortOrder == "Price" ? "price_desc" : "Price"; ViewBag.TotalSortParm = sortOrder == "Total" ? "total_desc" : "Total"; IOrderBLL _orderbll = new OrderBLL(); List<OrderLineViewModel> list = new List<OrderLineViewModel>(); List<Order> allOrders = _orderbll.getAllOrders(id); int linje = 1; foreach (var item in allOrders) { foreach (var olItem in item.orderLine) { list.Add(new OrderLineViewModel() { id = linje, customer = item.customer, orderdate = item.orderdate, orderId = item.id, order = item, product = olItem.product, quantity = olItem.quantity, orderlineSum = (olItem.quantity * olItem.product.price), customerid = item.customerid, price = olItem.product.price.ToString(), productid = olItem.productid.ToString(), productname = olItem.product.name }); linje++; } } switch (sortOrder) { case "id_desc": list = list.OrderByDescending(s => s.id).ToList(); break; case "PID": list = list.OrderBy(s => s.product.itemnumber).ToList(); break; case "pid_desc": list = list.OrderByDescending(s => s.product.itemnumber).ToList(); break; case "PName": list = list.OrderBy(s => s.product.name).ToList(); break; case "pname_desc": list = list.OrderByDescending(s => s.product.name).ToList(); break; case "Amount": list = list.OrderBy(s => s.quantity).ToList(); break; case "amount_desc": list = list.OrderByDescending(s => s.quantity).ToList(); break; case "Price": list = list.OrderBy(s => s.product.price).ToList(); break; case "price_desc": list = list.OrderByDescending(s => s.product.price).ToList(); break; case "Total": list = list.OrderBy(s => s.orderlineSum).ToList(); break; case "total_desc": list = list.OrderByDescending(s => s.orderlineSum).ToList(); break; default: list = list.OrderBy(s => s.id).ToList(); break; } ViewBag.CurrentItemsPerPage = itemsPerPage; ViewBag.contoller = "customer"; return View(list.ToPagedList(pageNumber: page ?? 1, pageSize: itemsPerPage ?? 15)); }
public OrderController(OrderBLL stud) { _orderbll = stud; }