/// <summary>
 /// Update Order
 /// </summary>
 /// <param name="orderRequest"></param>
 /// <returns></returns>
 public bool UpdateOrder(ecom_Orders orderRequest)
 {
     try
     {
         ecom_Orders order = orderRepository.GetByID(orderRequest.Id);
         if (order != null)
         {
             order.FeeShip            = orderRequest.FeeShip;
             order.AddressOfRecipient = orderRequest.AddressOfRecipient;
             order.NameOfRecipient    = orderRequest.NameOfRecipient;
             order.OrderNote          = orderRequest.OrderNote;
             order.PhoneOfRecipient   = orderRequest.PhoneOfRecipient;
             order.Status             = orderRequest.Status;
             order.OrderStatus        = orderRequest.OrderStatus;
             order.DeliveryDate       = orderRequest.DeliveryDate;
             orderRepository.Update(order);
             orderRepository.Save();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
        public UpdateOrderModel getOrderForEdit(int id)
        {
            UpdateOrderModel retValue;
            ecom_Orders      order = orderRepository.GetByID(id);

            if (order != null)
            {
                retValue = new UpdateOrderModel()
                {
                    Id = order.Id,
                    AddressOfRecipient = order.AddressOfRecipient,
                    FeeShip            = order.FeeShip,
                    NameOfRecipient    = order.NameOfRecipient,
                    OrderNote          = order.OrderNote,
                    OrderStatus        = order.OrderStatus,
                    PhoneOfRecipient   = order.PhoneOfRecipient,
                    Status             = order.Status,
                    DeliveryDate       = order.DeliveryDate != null?((DateTime)order.DeliveryDate).ToString("dd/MM/yyyy"):""
                };

                return(retValue);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// Get Order Details
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public OrderSumaryModel GetOrderDetails(int id)
        {
            ecom_Orders order = orderRepository.GetByID(id);

            OrderSumaryModel retValue = new OrderSumaryModel()
            {
                Id = order.Id,
                NameOfRecipient    = order.NameOfRecipient,
                OrderCode          = order.OrderCode,
                PhoneOfRecipient   = order.PhoneOfRecipient,
                AddressOfRecipient = order.AddressOfRecipient,
                FeeShip            = order.FeeShip,
                OrderNote          = order.OrderNote,
                OrderStatus        = EnumHelper.GetDescriptionFromEnum((OrderStatus)order.OrderStatus),
                CreatedDate        = order.CreatedDate.ToString(),
                OrderDetailsList   = from orderDetails in order.ecom_OrderDetails
                                     select new OrderDetailsSumaryModel()
                {
                    ProductName    = orderDetails.ecom_Products.Name,
                    PriceOfUnit    = orderDetails.PriceOfUnit,
                    Quantity       = orderDetails.Quantity,
                    TotalDiscount  = orderDetails.TotalDiscount,
                    CoverImagePath = orderDetails.ecom_Products.CoverImage.ImagePath
                }
            };

            return(retValue);
        }
Exemplo n.º 4
0
        public ActionResult Edit(UpdateOrderModel orderRequest)
        {
            if (ModelState.IsValid)
            {
                CultureInfo    culture = CultureInfo.CreateSpecificCulture("vi-VN");
                DateTimeStyles styles  = DateTimeStyles.None;
                DateTime       outDeliveryDate;
                if (!DateTime.TryParse(orderRequest.DeliveryDate, culture, styles, out outDeliveryDate))
                {
                    return(View(orderRequest));
                }

                ecom_Orders updatedOrder = new ecom_Orders()
                {
                    Id                 = orderRequest.Id,
                    FeeShip            = orderRequest.FeeShip,
                    AddressOfRecipient = orderRequest.AddressOfRecipient,
                    NameOfRecipient    = orderRequest.NameOfRecipient,
                    OrderNote          = orderRequest.OrderNote,
                    PhoneOfRecipient   = orderRequest.PhoneOfRecipient,
                    Status             = orderRequest.Status,
                    OrderStatus        = orderRequest.OrderStatus,
                    DeliveryDate       = outDeliveryDate
                };

                bool result = orderService.UpdateOrder(updatedOrder);

                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(orderRequest));
                }
            }
            return(View(orderRequest));
        }
        /// <summary>
        /// Create Order
        /// </summary>
        /// <param name="orderRequest"></param>
        /// <returns></returns>
        public bool CreateOrder(RequestCreateOrderModel orderRequest)
        {
            try
            {
                ecom_Orders order = new ecom_Orders()
                {
                    OrderCode          = new Guid().ToString(),
                    FeeShip            = 0,
                    OrderStatus        = (int)OrderStatus.NotDeliver,
                    OrderNote          = orderRequest.OrderNote,
                    NameOfRecipient    = orderRequest.NameOfRecipient,
                    PhoneOfRecipient   = orderRequest.PhoneOfRecipient,
                    AddressOfRecipient = orderRequest.AddressOfRecipient,
                    Status             = (int)OnlineStore.Infractructure.Utility.Define.Status.Active,
                    CreatedDate        = DateTime.Now,
                    ecom_OrderDetails  = (from product in orderRequest.Products
                                          select new ecom_OrderDetails()
                    {
                        ProductID = product.Id,
                        Quantity = product.Quantity,
                        PriceOfUnit = productRepository.GetByID(product.Id).Price,
                        Status = (int)OnlineStore.Infractructure.Utility.Define.Status.Active,
                        CreatedDate = DateTime.Now
                    }).ToList()
                };

                orderRepository.Insert(order);
                orderRepository.Save();

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemplo n.º 6
0
 public void DeleteOrder(ecom_Orders order)
 {
     context.ecom_Orders.Remove(order);
 }
Exemplo n.º 7
0
 public void Add(ecom_Orders order)
 {
     context.ecom_Orders.Add(order);
 }
Exemplo n.º 8
0
        public void ProsessOrder(ShippingDetailsViewModel shippingDetails, Cart cart)
        {
            var customer = context.ecom_Customer.FirstOrDefault(x => x.Phone == shippingDetails.Phone);

            if (customer == null)
            {
                customer = new ecom_Customer()
                {
                    Name    = shippingDetails.Name,
                    Email   = shippingDetails.Email,
                    Address = shippingDetails.Address,
                    Phone   = shippingDetails.Phone,
                    //NoiDung = shippingDetails.NoiDung
                };
                context.ecom_Customer.Add(customer);
            }
            else
            {
                customer.Name    = shippingDetails.Name;
                customer.Address = shippingDetails.Address;
                customer.Email   = shippingDetails.Email;
            }
            context.SaveChanges();

            ecom_Orders order = new ecom_Orders()
            {
                CreatedDate        = DateTime.Now,
                Status             = (int)Define.OrderStatus.Waiting,
                CustomerId         = customer.Id,
                AddressOfRecipient = customer.Address,
                NameOfRecipient    = customer.Name,
                PhoneOfRecipient   = customer.Phone,
                EmailOfRecipient   = shippingDetails.Email,
                OrderNote          = shippingDetails.Note,
            };

            context.ecom_Orders.Add(order);
            context.SaveChanges();

            foreach (var item in cart.LineCollection)
            {
                ecom_OrderDetails orderDetaisl = new ecom_OrderDetails()
                {
                    OrderID     = order.Id,
                    ProductID   = item.Product.Id,
                    Quantity    = item.Quantity,
                    PriceOfUnit = item.Product.Price,
                    CreatedDate = DateTime.Now,
                    CreatedByTy = customer.Name,
                    Status      = (int)Define.OrderStatus.Waiting
                };
                context.ecom_OrderDetails.Add(orderDetaisl);
            }
            context.SaveChanges();

            foreach (var item in cart.LineCollection)
            {
                var model = context.ecom_Products.Where(x => x.Id == item.Product.Id).FirstOrDefault();
                if (model.TotalBuy == null)
                {
                    model.TotalBuy = 0;
                }
                model.Quantity -= item.Quantity;
                model.TotalBuy += item.Quantity;
            }
            context.SaveChanges();
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append("<ol>");
            foreach (var line in cart.LineCollection)
            {
                stringBuilder.Append("<li>");
                stringBuilder.Append(line.Product.Name);
                stringBuilder.Append("<span>" + line.Quantity + "x" + line.Product.Price);
                stringBuilder.Append("= " + line.Quantity * line.Product.Price);
                stringBuilder.Append("</span>");
                stringBuilder.Append("</ol>");
                stringBuilder.Append("<h3>Tổng Tiền : <strong>" + cart.ComputerTotal() + "</strong></h3>");
            }
            MailHelper emailHelper = new MailHelper();

            emailHelper.Send(
                "Đơn Hàng" + order.Id,
                shippingDetails.Email,
                stringBuilder.ToString(),
                null,
                null);
        }