예제 #1
0
 //客戶訂單
 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));
        }
예제 #3
0
 //客戶看訂單
 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));
        }