public IActionResult Index()
        {
            OrderViewModel rs = new OrderViewModel()
            {
                Products = new List <Product>()
            };
            SaveOrderViewModel cart = HttpContext.Session.Get <SaveOrderViewModel>(OrderSessionName);

            if (cart != null && cart.AllProduct != null)
            {
                for (int i = 0; i < cart.AllProduct.Count; i++)
                {
                    var item = cart.AllProduct[i];
                    var pro  = db.Products.Where(x => x.Id == item.ProductId).Include(x => x.Product_Media).Include("Product_Media.Media").FirstOrDefault();
                    if (pro != null)
                    {
                        pro.Qty = item.Qty;
                        rs.Products.Add(pro);
                    }
                }
            }
            var total = rs.Total;

            return(View(rs));
        }
Пример #2
0
        // GET: CustomerOrders/Create
        public ActionResult Create()
        {
            /*
             * //var customers = GetAllCustomers();
             * //var divisions = GetAllDivisions();
             * //var mlsdivisions = GetAllMlsDivisions();
             * //var statuss = GetAllStatuss();
             *
             * //var model = new Order();
             *
             * //model.Customers = GetSelectListItems(customers);
             * //model.CustomerDivisions = GetSelectListItems(divisions);
             * //model.MlsDivisions = GetSelectListItems(mlsdivisions);
             * //model.Statuss = GetSelectListItems(statuss);
             */

            //drop down list feed coded here
            var customers         = db.Customers.ToList();
            var customerdivisions = db.CustomerDivisions.ToList();
            var mlsdivisions      = db.MlsDivisions.ToList();
            var orderstatuses     = db.OrderStatuses.ToList();

            var viewModel = new SaveOrderViewModel()
            {
                Customers         = customers,
                CustomerDivisions = customerdivisions,
                MlsDivisions      = mlsdivisions,
                OrderStatuses     = orderstatuses
            };

            return(View("Create", viewModel));
        }
Пример #3
0
        // GET: CustomerOrders/Edit/5
        public ActionResult Edit(int?id)
        {
            var customerorders = db.CustomerOrders.SingleOrDefault(c => c.CustomerOrderId == id);

            var customers         = db.Customers.ToList();
            var customerdivisions = db.CustomerDivisions.ToList();
            var mlsdivisions      = db.MlsDivisions.ToList();
            var orderstatuses     = db.OrderStatuses.ToList();

            var viewModel = new SaveOrderViewModel()
            {
                CustomerOrder     = customerorders,
                Customers         = customers,
                CustomerDivisions = customerdivisions,
                MlsDivisions      = mlsdivisions,
                OrderStatuses     = orderstatuses
            };

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CustomerOrder customerOrder = db.CustomerOrders.Find(id);

            if (customerOrder == null)
            {
                return(HttpNotFound());
            }

            return(View("Edit", viewModel));
            //return View(customerOrder);
        }
Пример #4
0
 public async Task <JsonResult> SaveOrder(SaveOrderViewModel save)
 {
     try
     {
         if (!save.IsNull())
         {
             return(Json(new { succeeded = await _orderService.SaveOrder(save) }));
         }
     }
     catch (Exception e)
     {
         _logger.LogError(e.Message);
         _logger.LogTrace(e.StackTrace);
     }
     return(Json(new { succeeded = false }));
 }
 public IActionResult SaveOrder(SaveOrderViewModel products)
 {
     //HttpContext
     try
     {
         HttpContext.Session.Set(OrderSessionName, products);
         return(Json(new ResultData <object>()));
     }
     catch (Exception e)
     {
         return(Json(new ResultData <object>()
         {
             Success = false,
             ErrorMessage = e.Message
         }));
     }
 }
 public IActionResult CreateOrder(Order orderData)
 {
     //HttpContext
     try
     {
         SaveOrderViewModel allProduct = HttpContext.Session.Get <SaveOrderViewModel>(OrderSessionName);
         orderData.Address.CreateDate = DateTime.Now;
         var tempAddress = new Address()
         {
             CityId     = orderData.Address.CityId,
             DistrictId = orderData.Address.DistrictId,
             Status     = 1,
             Street     = orderData.Address.Street,
             WardId     = orderData.Address.WardId,
             CreateDate = DateTime.Now
         };
         db.Address.Add(tempAddress);
         db.SaveChanges();
         orderData.OrderStatusId = 1;
         orderData.Email         = string.IsNullOrEmpty(orderData.Email) ? "" : orderData.Email;
         orderData.CustomerName  = string.IsNullOrEmpty(orderData.CustomerName) ? "" : orderData.CustomerName;
         orderData.AddressId     = orderData.Address.Id;
         orderData.TotalPrice    = Helpers.Common.TotalPrice(allProduct.AllProduct.Select(x =>
         {
             var productDetail = db.Products.Where(y => y.Id == x.ProductId).FirstOrDefault();
             if (productDetail == null)
             {
                 return(new OrderItem());
             }
             var price     = productDetail.PriceDiscount.HasValue && productDetail.DiscountDateTo.HasValue && (DateTime.Now > productDetail.DiscountDateTo.Value) ? productDetail.PriceDiscount.Value : productDetail.Price;
             var orderItem = new OrderItem()
             {
                 Quantity     = x.Qty,
                 CurrentPrice = price,
             };
             return(orderItem);
         }).ToList());
         orderData.TotalItemInOrder = Helpers.Common.GetTotalItemInOrder(allProduct.AllProduct.Select(x =>
         {
             var productDetail = db.Products.Where(y => y.Id == x.ProductId).FirstOrDefault();
             if (productDetail == null)
             {
                 return(new OrderItem());
             }
             var price     = productDetail.PriceDiscount.HasValue && productDetail.DiscountDateTo.HasValue && (DateTime.Now > productDetail.DiscountDateTo.Value) ? productDetail.PriceDiscount.Value : productDetail.Price;
             var orderItem = new OrderItem()
             {
                 Quantity     = x.Qty,
                 CurrentPrice = price,
             };
             return(orderItem);
         }).ToList());
         db.Orders.Add(orderData);
         //db.SaveChanges();
         //var orderDataSave = new Order() {
         //    Code = "",
         //    Note = orderData.Note,
         //    Phone = orderData.Phone,
         //    ReceiverInfo = orderData.ReceiverInfo,
         //    Status = 1,
         //    OrderStatusId = orderData.OrderStatusId,
         //    Email = orderData.Email,
         //    CustomerName = orderData.CustomerName,
         //    AddressId = orderData.AddressId,
         //    CreateDate = DateTime.Now,
         //};
         //db.Orders.Add(orderDataSave);
         db.SaveChanges();
         orderData.OrderItems = new List <OrderItem>();
         for (int i = 0; i < allProduct.AllProduct.Count; i++)
         {
             var pro           = allProduct.AllProduct[i];
             var productDetail = db.Products.Where(x => x.Id == pro.ProductId).FirstOrDefault();
             if (productDetail == null)
             {
                 continue;
             }
             var price     = productDetail.PriceDiscount.HasValue && productDetail.DiscountDateTo.HasValue && (DateTime.Now > productDetail.DiscountDateTo.Value) ? productDetail.PriceDiscount.Value : productDetail.Price;
             var orderItem = new OrderItem()
             {
                 ProductId    = pro.ProductId,
                 Quantity     = pro.Qty,
                 CurrentPrice = price,
                 Status       = 1,
                 OrderId      = orderData.Id,
                 CreateDate   = DateTime.Now
             };
             db.OrderItems.Add(orderItem);
             db.SaveChanges();
             //orderData.OrderItems.Add(orderItem);
         }
         return(Json(new ResultData <object>()
         {
             Success = true,
             Message = "Lên đơn hàng thành công"
         }));
     }
     catch (Exception e)
     {
         return(Json(new ResultData <object>()
         {
             Success = false,
             ErrorMessage = e.Message
         }));
     }
 }