Esempio n. 1
0
        public Shop_Order_Details GetOrderDetailByOrderId(Shop_Order_Details model)
        {
            int orderid         = model.order_id;
            var GetOrderDetails = unitOfWork.Shop_Order_DetailsRepository.SearchBy(x => x.order_id == orderid).FirstOrDefault();

            return(GetOrderDetails);
        }
Esempio n. 2
0
        public bool UpdateOrderDetails(Shop_Order_Details model)
        {
            try
            {
                unitOfWork.Shop_Order_DetailsRepository.Update(model);

                unitOfWork.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        public Shop_Order_Details AddOrderDetail(Shop_Order_Details model)
        {
            try
            {
                unitOfWork.Shop_Order_DetailsRepository.Insert(model);

                unitOfWork.SaveChanges();
                return(model);
            }
            catch (Exception ex)
            {
                return(null);

                throw;
            }
        }
Esempio n. 4
0
        public string AddOrderDetails(string mobileNumber = "", double totalPrice = 0, string addressId = "")
        {
            try
            {
                Shop_Order_Details objShop_Order_Details = new Shop_Order_Details();


                objShop_Order_Details.retailer_id         = mobileNumber;
                objShop_Order_Details.retailer_mobile     = mobileNumber;
                objShop_Order_Details.Totalprice          = totalPrice.ToString();
                objShop_Order_Details.payment_mode        = "Online";
                objShop_Order_Details.orderDate           = DateTime.Now;
                objShop_Order_Details.order_status        = "Pending";
                objShop_Order_Details.shipping_address_id = addressId;
                var    addorder = objIUser.AddOrderDetail(objShop_Order_Details);
                string orderId  = addorder.order_id.ToString();
                var    getCartDetailForMobileNumber = GetCartDetailByMobileNumber(mobileNumber);
                if (addorder != null)
                {
                    Shop_OrderProductDetails objShop_OrderProductDetails = new Shop_OrderProductDetails();
                    foreach (var product in getCartDetailForMobileNumber)
                    {
                        objShop_OrderProductDetails.order_id   = orderId;
                        objShop_OrderProductDetails.qty        = product.Quantity.ToString();
                        objShop_OrderProductDetails.price      = product.Price;
                        objShop_OrderProductDetails.product_id = product.ProductId.ToString();
                        objShop_OrderProductDetails.tr_date    = DateTime.Now;

                        var addProductorder = objIUser.AddProductOrderDetail(objShop_OrderProductDetails);
                    }
                    return(orderId);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 5
0
        public ActionResult Actions()
        {
            var msg   = new JsonMessage();
            var order = new Shop_Orders();

            switch (DoAction)
            {
            case ActionType.Add:
                var dateCreated = DateTime.Now.TotalSeconds();
                var keyorder    = Request["KeyOrder"];
                var lstOrder    = (List <ModelWholeSaleItem>)Session["WholeSale"] ?? new List <ModelWholeSaleItem>();
                var temp        = _freightWarehouseDa.GetByKey(Guid.Parse(keyorder));
                if (temp.IsOrder == true)
                {
                    msg = new JsonMessage
                    {
                        Erros   = true,
                        Message = "Đơn Yêu cầu này đã được tạo đơn hàng"
                    };
                    return(Json(msg));
                }
                else
                {
                    if (lstOrder.Any())
                    {
                        var model = lstOrder.FirstOrDefault(c => c.Key == Guid.Parse(keyorder));
                        if (model != null)
                        {
                            var lstM      = model.WholeSaleItems;
                            var lstDetail = new List <Shop_Order_Details>();
                            foreach (var saleItem in lstM)
                            {
                                var shopOrderDetails = new Shop_Order_Details
                                {
                                    ProductID   = saleItem.ProductID,
                                    Quantity    = saleItem.Quantity,
                                    Status      = (int)FDI.CORE.OrderStatus.Complete,
                                    QuantityOld = 0,
                                    IsPromotion = false,
                                    Price       = saleItem.Price ?? 0,
                                    Barcode     = saleItem.Barcode,
                                    //DateCreated = dateCreated,
                                    Percent          = saleItem.PercentSale,
                                    Value            = saleItem.Value,
                                    ImportProductGID = saleItem.Idimport,
                                    PriceSale        = saleItem.PriceSale,
                                    Discount         = saleItem.Discount,
                                    TotalPrice       = saleItem.TotalPrice * saleItem.Quantity,
                                    Total            = saleItem.TotalPrice - saleItem.Discount,
                                };
                                lstDetail.Add(shopOrderDetails);
                                if (saleItem.PromotionPs != null)
                                {
                                    lstDetail.AddRange(from shopOrderDetailse in saleItem.PromotionPs
                                                       from orderDetailse in shopOrderDetailse.PromotionSPItems
                                                       select new Shop_Order_Details
                                    {
                                        ProductID   = orderDetailse.ProductID,
                                        Quantity    = orderDetailse.Quantity,
                                        Status      = (int)FDI.CORE.OrderStatus.Complete,
                                        QuantityOld = 0,
                                        Price       = orderDetailse.PriceSp ?? 0,
                                        Percent     = orderDetailse.Percent,
                                        PriceSale   = orderDetailse.Price,
                                        //DateCreated = dateCreated,
                                        IsPromotion        = true,
                                        PromotionProductID = orderDetailse.ID,
                                        Discount           = orderDetailse.Percent * orderDetailse.Quantity * orderDetailse.PriceSp / 100 + orderDetailse.Price,
                                        TotalPrice         = orderDetailse.TotalPrice * orderDetailse.Quantity,
                                        Total            = orderDetailse.TotalPrice * orderDetailse.Quantity - (orderDetailse.Percent * orderDetailse.Quantity * orderDetailse.PriceSp + orderDetailse.Price),
                                        ContentPromotion = orderDetailse.Name
                                    });
                                }
                            }
                            var lstO = model.PromotionOrder;
                            if (lstO != null)
                            {
                                lstDetail.AddRange(from itemP in lstO
                                                   from items in itemP.PromotionSPItems
                                                   select new Shop_Order_Details
                                {
                                    ProductID   = items.ProductID,
                                    Quantity    = items.Quantity,
                                    Status      = (int)FDI.CORE.OrderStatus.Complete,
                                    QuantityOld = 0,
                                    Price       = items.PriceSp ?? 0,
                                    //DateCreated = dateCreated,
                                    IsPromotion        = true,
                                    PromotionProductID = items.ID,
                                    Percent            = items.Percent,
                                    PriceSale          = items.Price,
                                    Discount           = items.PriceSp + (items.PriceSp * items.Percent / 100),
                                    TotalPrice         = items.TotalPrice * items.Quantity,
                                    ContentPromotion   = items.Title,
                                    Total = (items.TotalPrice - items.PriceSp - (items.PriceSp * items.Percent / 100)) * items.Quantity,
                                });
                            }

                            if (lstDetail.Any())
                            {
                                UpdateModel(order);
                                var dateOfSale = Request["DateOfSale_"];
                                order.StartDate          = dateOfSale.StringToDate().TotalSeconds();
                                order.DateCreated        = DateTime.Now.TotalSeconds();
                                order.TotalPrice         = model.Total;
                                order.Total              = model.Total;
                                order.Status             = (int)FDI.CORE.OrderStatus.Complete;
                                order.IsDelete           = false;
                                order.UserId             = UserItem.UserId;
                                order.UserCreate         = UserItem.UserId;
                                order.AgencyId           = UserItem.AgencyID;
                                order.SalePercent        = model.SalePercent;
                                order.SalePrice          = model.SalePrice;
                                order.Shop_Order_Details = lstDetail;
                                order.Discount           = model.Discount ?? 0;
                                var payment = model.Total - (order.PrizeMoney ?? 0) - order.Discount - model.DiscountSale;
                                order.Payments     = payment;
                                order.PriceReceipt = order.Payments;
                                if (!string.IsNullOrEmpty(order.Company) && !string.IsNullOrEmpty(order.CodeCompany))
                                {
                                    order.Isinvoice = true;
                                }
                                order.Type = (int)TypeOrder.Banbuon;
                                _ordersDa.Add(order);
                                _ordersDa.Save();
                                // set trạng thái đơn yêu cầu đã đc đặt hàng
                                temp.IsOrder = true;
                                _freightWarehouseDa.Save();
                                // xóa key tại session
                                lstOrder.Remove(model);
                                Session["WholeSale"] = lstOrder;
                            }
                            else
                            {
                                msg.Erros   = true;
                                msg.Message = "Bạn chưa chọn sản phẩm nào.";
                            }
                        }
                        else
                        {
                            msg.Erros   = true;
                            msg.Message = "Không thể tạo đơn hàng.";
                        }
                    }
                    else
                    {
                        msg.Erros   = true;
                        msg.Message = "Bạn chưa chọn sản phẩm nào.";
                    }
                }

                break;

            default:
                msg.Message = "Bạn không được phần quyển cho chức năng này.";
                msg.Erros   = true;
                break;
            }
            return(Json(msg));
        }
Esempio n. 6
0
        public ActionResult Actions()
        {
            var msg   = new JsonMessage();
            var order = new Shop_Orders();

            switch (DoAction)
            {
            case ActionType.Add:
                var dateCreated = DateTime.Now.TotalSeconds();
                var keyorder    = Request["KeyOrder"];
                var lstOrder    = (List <ModelSaleItem>)Session["AddSale"] ?? new List <ModelSaleItem>();
                var model       = lstOrder.FirstOrDefault(c => c.Key == Guid.Parse(keyorder));
                if (model != null)
                {
                    var lstM      = model.SaleItems;
                    var lstDetail = new List <Shop_Order_Details>();
                    foreach (var saleItem in lstM)
                    {
                        var shopOrderDetails = new Shop_Order_Details
                        {
                            ProductID        = saleItem.ProductID,
                            Quantity         = saleItem.Quantity,
                            Status           = (int)FDI.CORE.OrderStatus.Complete,
                            QuantityOld      = 0,
                            IsPromotion      = false,
                            Value            = saleItem.Value,
                            Price            = saleItem.Price,
                            Barcode          = saleItem.Barcode,
                            ImportProductGID = saleItem.Idimport,
                            //DateCreated = dateCreated,
                            Percent    = saleItem.PercentSale,
                            PriceSale  = saleItem.PriceSale,
                            Discount   = saleItem.Discount,
                            TotalPrice = saleItem.TotalPrice * saleItem.Quantity,
                            Total      = saleItem.TotalPrice - saleItem.Discount,
                        };
                        lstDetail.Add(shopOrderDetails);
                        if (saleItem.PromotionPs.Any())
                        {
                            lstDetail.AddRange(from shopOrderDetailse in saleItem.PromotionPs
                                               from orderDetailse in shopOrderDetailse.PromotionSPItems
                                               select new Shop_Order_Details
                            {
                                ProductID   = orderDetailse.ProductID,
                                Quantity    = orderDetailse.Quantity,
                                Status      = (int)FDI.CORE.OrderStatus.Complete,
                                QuantityOld = 0,
                                Price       = orderDetailse.PriceSp ?? 0,
                                Percent     = orderDetailse.Percent,
                                PriceSale   = orderDetailse.Price,
                                //DateCreated = dateCreated,
                                IsPromotion        = true,
                                PromotionProductID = orderDetailse.ID,
                                Discount           = orderDetailse.Percent * orderDetailse.Quantity * orderDetailse.PriceSp / 100 + orderDetailse.Price,
                                TotalPrice         = orderDetailse.TotalPrice * orderDetailse.Quantity,
                                Total            = orderDetailse.TotalPrice * orderDetailse.Quantity - (orderDetailse.Percent * orderDetailse.Quantity * orderDetailse.PriceSp + orderDetailse.Price),
                                ContentPromotion = orderDetailse.Name
                            });
                        }
                    }
                    var lstO = model.PromotionOrder;
                    lstDetail.AddRange(from itemP in lstO
                                       from items in itemP.PromotionSPItems
                                       select new Shop_Order_Details
                    {
                        ProductID   = items.ProductID,
                        Quantity    = items.Quantity,
                        Status      = (int)FDI.CORE.OrderStatus.Complete,
                        QuantityOld = 0,
                        Price       = items.PriceSp ?? 0,
                        //DateCreated = dateCreated,
                        IsPromotion        = true,
                        PromotionProductID = items.ID,
                        Percent            = items.Percent,
                        PriceSale          = items.Price,
                        Discount           = items.PriceSp + (items.PriceSp * items.Percent / 100),
                        TotalPrice         = items.TotalPrice * items.Quantity,
                        ContentPromotion   = items.Title,
                        Total = (items.TotalPrice - items.PriceSp - (items.PriceSp * items.Percent / 100)) * items.Quantity,
                    });
                    if (lstDetail.Any())
                    {
                        UpdateModel(order);
                        var dateOfSale = Request["DateOfSale_"];
                        order.StartDate          = dateOfSale.StringToDate().TotalSeconds();
                        order.DateCreated        = DateTime.Now.TotalSeconds();
                        order.TotalPrice         = model.TotalPrice;
                        order.Total              = model.Total;
                        order.Status             = (int)FDI.CORE.OrderStatus.Complete;
                        order.IsDelete           = false;
                        order.UserId             = UserItem.UserId;
                        order.UserCreate         = UserItem.UserId;
                        order.AgencyId           = UserItem.AgencyID;
                        order.SalePercent        = model.SalePercent;
                        order.SalePrice          = model.SalePrice;
                        order.Shop_Order_Details = lstDetail;
                        decimal?price = 0;
                        if (!string.IsNullOrEmpty(order.SaleCode))
                        {
                            var temp = _dnSalesDa.GetSaleCodebyCode(order.SaleCode);
                            temp.IsUse   = true;
                            temp.DateUse = DateTime.Now.TotalSeconds();
                            price        = (temp.DN_Sale.Price ?? 0) + ((temp.DN_Sale.Percent ?? 0) * order.TotalPrice / 100);
                            _dnSalesDa.Save();
                        }
                        order.Discount = model.Discount;
                        var payment = model.Total - (order.PrizeMoney ?? 0) - order.Discount - price ?? 0;
                        order.Payments     = payment;
                        order.PriceReceipt = order.Payments;
                        if (!string.IsNullOrEmpty(order.Company) && !string.IsNullOrEmpty(order.CodeCompany))
                        {
                            order.Isinvoice = true;
                        }
                        _ordersDa.Add(order);
                        _ordersDa.Save();
                    }
                    else
                    {
                        msg.Erros   = true;
                        msg.Message = "Bạn chưa chọn sản phẩm nào.";
                    }
                }
                else
                {
                    msg.Erros   = true;
                    msg.Message = "Bạn chưa chọn sản phẩm nào.";
                }
                break;

            default:
                msg.Message = "Bạn không được phần quyển cho chức năng này.";
                msg.Erros   = true;
                break;
            }
            return(Json(msg));
        }
Esempio n. 7
0
        public async Task <ActionResult> Booking(List <OrderAppIG4Item> datas)
        {
            try
            {
                decimal?totalall  = 0;
                var     listOrder = new List <Shop_Orders>();
                foreach (var data in datas)
                {
                    if (data.LisOrderDetailItems == null || !data.LisOrderDetailItems.Any())
                    {
                        return(Json(new JsonMessage(1000, "Không có sản phẩm trong giỏ hàng"),
                                    JsonRequestBehavior.AllowGet));
                    }

                    SaleCode coupon = null;
                    if (!string.IsNullOrEmpty(data.Coupon))
                    {
                        coupon = _productDa.GetSaleCodeUseByCode(data.Coupon);
                        if (coupon != null)
                        {
                            coupon.IsUse = true;
                        }
                        //if (coupon == null)
                        //{
                        //    return Json(new JsonMessage(1000, "Coupon không tồn tại"));
                        //}
                    }

                    var order = new Shop_Orders()
                    {
                        Address       = data.Address,
                        CustomerID    = CustomerId,
                        Longitude     = data.Longitude,
                        Latitude      = data.Latitude,
                        Mobile        = data.Mobile,
                        CustomerName  = data.CustomerName,
                        DateCreated   = DateTime.Now.TotalSeconds(),
                        Code          = FDIUtils.RandomCode(12),
                        FeeShip       = data.FeeShip ?? 0,
                        StatusPayment = (int)PaymentOrder.Process,
                        Coupon        = data.Coupon,
                        ShopID        = data.ShopID,
                        //Discount = data.Discount,
                        CouponPrice       = coupon?.DN_Sale.Price ?? 0,
                        PaymentMethodId   = data.PaymentmethodId,
                        Status            = (int)StatusOrder.Create,
                        Note              = data.Note,
                        CustomerAddressID = data.CustomerAddressID,
                    };
                    order.CouponPrice = !string.IsNullOrEmpty(data.Coupon)
                        ? coupon.DN_Sale.Price ?? 0
                        : order.CouponPrice = 0;

                    foreach (var product in data.LisOrderDetailItems)
                    {
                        var productData = _productDa.GetProductItem(product.ProductId ?? 0);
                        if (productData == null)
                        {
                            return(Json(new JsonMessage(1000, "Sản phẩm không tồn tại"), JsonRequestBehavior.AllowGet));
                        }

                        var item = new Shop_Order_Details()
                        {
                            ProductID     = product.ProductId,
                            Price         = productData.PriceNew ?? 0,
                            Quantity      = product.Quantity ?? 1,
                            Status        = (int)StatusOrder.Create,
                            TotalPrice    = productData.PriceNew * (product.Quantity ?? 1),
                            StatusPayment = (int)PaymentOrder.Process,
                            IsPrestige    = product.IsPrestige,
                        };
                        order.Shop_Order_Details.Add(item);
                    }

                    var total = order.Shop_Order_Details.Sum(m => m.Price * m.Quantity);
                    order.Total      = total;
                    order.TotalPrice = total;
                    order.Payments   = total - order.CouponPrice + data.FeeShip;
                    totalall        += total - order.CouponPrice + data.FeeShip;
                    listOrder.Add(order);
                    //orderDA.Add(order);
                }

                //kiểm tra ví và trừ tiền khách hàng sau đó lưu đơn hàng
                var check = CheckWallets(totalall, CustomerId);
                if (check)
                {
                    foreach (var order in listOrder)
                    {
                        orderDA.Add(order);
                        await orderDA.SaveAsync();

                        var cashout = new CashOutWallet
                        {
                            CustomerID = CustomerId,
                            TotalPrice = order.Payments,
                            DateCreate = DateTime.Now.TotalSeconds(),
                            OrderID    = order.ID,
                            Type       = 1,
                            Code       = order.Code,
                        };
                        _cashOutWalletDa.Add(cashout);
                        _cashOutWalletDa.Save();
                    }
                    await _productDa.SaveAsync();
                }
                else
                {
                    return(Json(new JsonMessage(1001, "Tài khoản của bạn không đủ tiền."),
                                JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new JsonMessage(404, e.ToString()), JsonRequestBehavior.AllowGet));
            }

            return(Json(new JsonMessage(200, ""), JsonRequestBehavior.AllowGet));
        }
Esempio n. 8
0
 public void Add(Shop_Order_Details obj)
 {
     FDIDB.Shop_Order_Details.Add(obj);
 }
Esempio n. 9
0
        public bool UpdateOrderDeatils(OrderViewModel model, string type = "")
        {
            EmailFunction  objEmailFunction  = new EmailFunction();
            EmailViewModel objEmailViewModel = new EmailViewModel();

            if (type == "online")
            {
                //  EmailFunction objEmailFunction = new EmailFunction();
                Shop_Order_Details objShop_Order_Details = new Shop_Order_Details();
                objShop_Order_Details.order_id = model.Order_Id;
                var getOrderIndo = objIUser.GetOrderDetailByOrderId(objShop_Order_Details);
                if (getOrderIndo != null)
                {
                    getOrderIndo.rzp_order_id       = model.rzp_order_id;
                    getOrderIndo.rzp_payment_id     = model.rzp_payment_id;
                    getOrderIndo.rzp_payment_status = model.rzp_payment_status;
                    getOrderIndo.order_status       = model.order_status;
                    getOrderIndo.rzp_payment_status = model.rzp_payment_status;

                    var result = objIUser.UpdateOrderDetails(getOrderIndo);

                    //for Email
                    if (result)
                    {
                        #region to get shipping address
                        //  ToString get shipping address
                        long shippingId         = Convert.ToInt64(getOrderIndo.shipping_address_id);
                        var  getShippingAddress = objIUser.GetShippingAddress(shippingId);
                        #endregion

                        #region to get userdetails
                        //to get ratialer detail

                        string mobileNumnber      = getOrderIndo.retailer_mobile;
                        var    getRetailerDetails = objIUser.GetRetailerDetails(mobileNumnber);
                        #endregion

                        //#region to get product details


                        //string orderId= model.Order_Id.ToString();
                        //var getOrderProducts= objIUser.GetOrderProducts(orderId);
                        //Shop_Product_Master objShop_Product_Master = new Shop_Product_Master();

                        //foreach (var productId in getOrderProducts)
                        //{
                        //    objShop_Product_Master.pkSkuId =Convert.ToInt32( productId.product_id);
                        //}

                        //var getProductDetail = objIUser.GetProductDetail(objShop_Product_Master);

                        //#endregion

                        objEmailViewModel.OrderId = model.Order_Id;

                        objEmailViewModel.FirmName     = getRetailerDetails.firm_name;
                        objEmailViewModel.RetailerName = getRetailerDetails.firm_name;

                        //objEmailViewModel.Product = "";

                        objEmailViewModel.ShippingAddress = getShippingAddress.ship_address + " " + getShippingAddress.city + " " + getShippingAddress.pincode;
                        objEmailViewModel.MobileNumber    = getOrderIndo.retailer_mobile;
                        objEmailViewModel.Amount          = getOrderIndo.Totalprice;
                        objEmailViewModel.PaymentMode     = type;
                        objEmailViewModel.OrderDate       = getOrderIndo.orderDate;



                        objEmailFunction.SendEmailAfterOrderPlaced(objEmailViewModel, type);
                    }
                    else
                    {
                    }
                    return(result);
                }
                else
                {
                    return(false);
                }
            }

            else
            {
                Shop_Order_Details objShop_Order_Details = new Shop_Order_Details();
                objShop_Order_Details.order_id = model.Order_Id;
                var getOrderIndo = objIUser.GetOrderDetailByOrderId(objShop_Order_Details);
                if (getOrderIndo != null)
                {
                    if (type == "DAP")
                    {
                        getOrderIndo.payment_mode       = "Delivery Against Payment";
                        getOrderIndo.order_status       = "Submitted";
                        getOrderIndo.rzp_payment_status = "success";
                    }
                    else
                    {
                        getOrderIndo.payment_mode       = "Cash On Delivery";
                        getOrderIndo.order_status       = "Submitted";
                        getOrderIndo.rzp_payment_status = "success";
                    }



                    var result = objIUser.UpdateOrderDetails(getOrderIndo);

                    #region to get shipping address
                    //  ToString get shipping address
                    long shippingId         = Convert.ToInt64(getOrderIndo.shipping_address_id);
                    var  getShippingAddress = objIUser.GetShippingAddress(shippingId);
                    #endregion

                    #region to get userdetails
                    //to get ratialer detail

                    string mobileNumnber      = getOrderIndo.retailer_mobile;
                    var    getRetailerDetails = objIUser.GetRetailerDetails(mobileNumnber);
                    #endregion

                    #region to get product details


                    string orderId    = model.Order_Id.ToString();
                    var    productIds = objIUser.GetOrderProducts(orderId);


                    var getProductDetail = objIUser.GetProductDetail(productIds);

                    #endregion

                    objEmailViewModel.OrderId = model.Order_Id;

                    objEmailViewModel.FirmName     = getRetailerDetails.firm_name;
                    objEmailViewModel.RetailerName = getRetailerDetails.firm_name;

                    objEmailViewModel.Product = getProductDetail;

                    objEmailViewModel.ShippingAddress = getShippingAddress.ship_address + " " + getShippingAddress.city + " " + getShippingAddress.pincode;
                    objEmailViewModel.MobileNumber    = getOrderIndo.retailer_mobile;
                    objEmailViewModel.Amount          = getOrderIndo.Totalprice;
                    objEmailViewModel.PaymentMode     = type;
                    objEmailViewModel.OrderDate       = getOrderIndo.orderDate;



                    objEmailFunction.SendEmailAfterOrderPlaced(objEmailViewModel, type);

                    return(result);
                }
                else
                {
                    return(false);
                }
            }
        }