//客戶訂單 public ActionResult 客戶看訂單() { if (Session[CSession關鍵字.SK_LOGINED_CUSTOMER] != null) { tCustomer cust = Session[CSession關鍵字.SK_LOGINED_CUSTOMER] as tCustomer; MotaiDataEntities db = new MotaiDataEntities(); List <tOrder> orders = db.tOrders.Where(o => o.oCustomerId.Equals(cust.CustomerId)).ToList(); List <CustomerOrderViewModel> OrderList = new List <CustomerOrderViewModel>(); foreach (var items in orders) { CustomerOrderViewModel order = new CustomerOrderViewModel(); order.oDate = items.oDate; order.WarehouseName = db.tWarehouseNames.Where(w => w.WarehouseNameId.Equals(items.oWarehouseName)).FirstOrDefault().WarehouseName; order.EmployeeName = db.tEmployees.Where(e => e.EmployeeId.Equals(items.oEmployeeId)).FirstOrDefault().eName; order.cNote = items.cNote; List <tOrderDetail> orderdetails = db.tOrderDetails.Where(od => od.oOrderId.Equals(items.OrderId)).ToList(); List <CustomerOrderDetailViewModel> OrderDetailList = new List <CustomerOrderDetailViewModel>(); foreach (var itemDetail in orderdetails) { CustomerOrderDetailViewModel orderdetail = new CustomerOrderDetailViewModel(); orderdetail.ProductNum = db.tProducts.Where(p => p.ProductId.Equals(itemDetail.oProductId)).FirstOrDefault().pNumber; orderdetail.ProductName = db.tProducts.Where(p => p.ProductId.Equals(itemDetail.oProductId)).FirstOrDefault().pName; orderdetail.oProductQty = itemDetail.oProductQty; orderdetail.oNote = itemDetail.oNote; OrderDetailList.Add(orderdetail); } order.CustomerOrderDetails = OrderDetailList; OrderList.Add(order); } return(View(OrderList)); } return(RedirectToAction("首頁")); }
public ActionResult AllOrdersPerCustomer() { var userId = User.Identity.GetUserId(); if (userId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Get the customer that is linked with the current user Customer customer = db.Customers.ToList().FirstOrDefault(c => c.AspNetUsersId == userId); //get user from Users list var user = db.Users.ToList().Find(u => u.Id == userId); //get user email from log in user var customerEmail = user.Email; //get All Orders from log in user var allOrdersPerCustomer = db.Orders.Include(a => a.OrderDetails).Where(o => o.UserName == customerEmail).ToList(); //var successOrdersPerCustomer = allOrdersPerCustomer.Where(a => a.IsPaid == true).ToList(); var viewModel = new CustomerOrderDetailViewModel() { AllOrdersPerCustomer = allOrdersPerCustomer }; return(View("AllOrdersPerCustomer", viewModel)); }
//客戶看訂單 public ActionResult 過往訂單() { if (Session[CSession關鍵字.SK_LOGINED_CUSTOMER] != null) { tCustomer cust = Session[CSession關鍵字.SK_LOGINED_CUSTOMER] as tCustomer; MotaiDataEntities db = new MotaiDataEntities(); List <tOrder> orders = db.tOrders.Where(o => o.oCustomerId == cust.CustomerId).ToList(); List <CustomerOrderViewModel> OrderList = new List <CustomerOrderViewModel>(); foreach (var items in orders) { CustomerOrderViewModel order = new CustomerOrderViewModel(); order.oDate = items.oDate; order.WarehouseName = db.tWarehouseNames.Where(w => w.WarehouseNameId.Equals(items.oWarehouseName)).FirstOrDefault().WarehouseName; tEmployee employee = db.tEmployees.Where(e => e.EmployeeId == items.oEmployeeId).FirstOrDefault(); if (employee != null) { order.EmployeeName = employee.eName; } order.cNote = items.cNote; List <tOrderDetail> orderdetails = db.tOrderDetails.Where(od => od.oOrderId == items.OrderId).ToList(); List <CustomerOrderDetailViewModel> OrderDetailList = new List <CustomerOrderDetailViewModel>(); int originPrice = 0; foreach (var itemDetail in orderdetails) { CustomerOrderDetailViewModel orderdetail = new CustomerOrderDetailViewModel(); tProduct product = db.tProducts.Where(p => p.ProductId == itemDetail.oProductId).FirstOrDefault(); orderdetail.ProductNum = product.pNumber; orderdetail.ProductName = product.pName; orderdetail.ProductPrice = product.pPrice; orderdetail.oProductQty = itemDetail.oProductQty; orderdetail.oNote = itemDetail.oNote; OrderDetailList.Add(orderdetail); originPrice += Convert.ToInt32(product.pPrice) * itemDetail.oProductQty; } if (items.oPromotionId != null) { tPromotion promotion = db.tPromotions.Where(p => p.PromotionId == items.oPromotionId).FirstOrDefault(); order.TotalAmount = originPrice - Convert.ToInt32(promotion.pDiscount); } else { order.TotalAmount = originPrice; } List <tOrderPay> paylists = db.tOrderPays.Where(op => op.oOrderId == items.OrderId).ToList(); foreach (var itemPay in paylists) { order.AlreadyPay += Convert.ToInt32(itemPay.oPayment); } order.Unpaid = order.TotalAmount - order.AlreadyPay; order.CustomerOrderDetails = OrderDetailList; OrderList.Add(order); } return(View(OrderList)); } return(RedirectToAction("首頁")); }
// GET: Orders/Details/5 public ActionResult OrderAfterPayPal() { var userId = User.Identity.GetUserId(); if (userId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Get the customer that is linked with the current user Customer customer = db.Customers.ToList().FirstOrDefault(c => c.AspNetUsersId == userId); //get user from Users list var user = db.Users.ToList().Find(u => u.Id == userId); //get user email from log in user var customerEmail = user.Email; //get All Orders from log in user var allOrdersPerCustomer = db.Orders.Where(o => o.UserName == customerEmail).ToList(); //get last order from log in cusomer var orderLastPerCustomer = allOrdersPerCustomer.LastOrDefault(); //get Last orderID from log in user var lastOrderPerCustomerID = allOrdersPerCustomer.Select(a => a.OrderID).LastOrDefault(); //get last orderDetails from log in user that has last order var lastOrderDetailsPerCustomer = db.OrderDetails.Where(o => o.OrderID == lastOrderPerCustomerID).ToList(); var viewModel = new CustomerOrderDetailViewModel() { LastOrderPerCustomer = orderLastPerCustomer, Customer = customer, LastOrderDetailsPerCustomer = lastOrderDetailsPerCustomer, }; return(View("SuccessView", viewModel)); }