Exemplo n.º 1
0
        public ActionResult CheckoutSubmit(Order Order)
        {
            dataTransfer = new DataTransfer();
            if (Order.NidOrder == Guid.Empty)
            {
                var     tmpCarts = dataTransfer.GetAllCartByNidUser(Order.NidUser);
                decimal total    = 0;
                foreach (var cart in tmpCarts)
                {
                    total += cart.Product.Price * cart.Quantity ?? 1;
                }
                Order.CreateDate = DateTime.Now;
                Order.NidOrder   = Guid.NewGuid();
                Order.state      = 0;
                Order.TotalPrice = total;
                if (dataTransfer.AddOrder(Order))
                {
                    foreach (var cart in tmpCarts)
                    {
                        cart.NidOrder = Order.NidOrder;
                        dataTransfer.UpdateCart(cart);
                    }
                }
                else
                {
                    return(Json(new JsonResults()
                    {
                        HasValue = false, Message = "خطا در سرور لطفا مجددا امتحان کنید"
                    }));
                }
                if (!dataTransfer.AddShip(new Ship()
                {
                    NidShip = Guid.NewGuid(), NidOrder = Order.NidOrder, CreateDate = DateTime.Now, Address = Order.Address, ShipPrice = 0, State = 0, ZipCode = Order.Zipcode
                }))
                {
                    return(Json(new JsonResults()
                    {
                        HasValue = false, Message = "خطا در سرور لطفا مجددا امتحان کنید"
                    }));
                }

                return(Json(new JsonResults()
                {
                    HasValue = true, Message = Order.NidOrder.ToString()
                }));
            }
            else
            {
                if (dataTransfer.UpdateOrder(Order))
                {
                    var tmpShip = dataTransfer.GetShipByNidOrder(Order.NidOrder);
                    if (tmpShip == null)
                    {
                        if (!dataTransfer.AddShip(new Ship()
                        {
                            NidShip = Guid.NewGuid(), NidOrder = Order.NidOrder, CreateDate = DateTime.Now, Address = Order.Address, ShipPrice = 0, State = 0, ZipCode = Order.Zipcode
                        }))
                        {
                            return(Json(new JsonResults()
                            {
                                HasValue = false, Message = "خطا در سرور لطفا مجددا امتحان کنید"
                            }));
                        }
                    }
                    return(Json(new JsonResults()
                    {
                        HasValue = true, Message = Order.NidOrder.ToString()
                    }));
                }
                else
                {
                    return(Json(new JsonResults()
                    {
                        HasValue = false, Message = "خطا در سرور لطفا مجددا امتحان کنید"
                    }));
                }
            }
        }