Example #1
0
        public static void MapToBasketOrderAndUpdate(BasketOrder basketOrder)
        {
            BasketModel model = GlobalConfig.Connection.GetBasketById(basketOrder.Id);

            foreach (BasketDetailOrder bDetO in basketOrder.BasketDeatils)
            {
                if (model.BasketDetails.Where(x => x.Product.ProductID == bDetO.ProductId).ToList().Count > 0)
                {
                    BasketDetailModel bDM = model.BasketDetails.Where(x => x.Product.ProductID == bDetO.ProductId).ToList().FirstOrDefault();
                    bDM.Quantity = bDetO.quantity;
                    bDM.Price    = bDetO.quantity * bDM.Product.Price;
                    GlobalConfig.Connection.UpdateQuantityBasketDetail(bDM);
                    // update BasketModel file
                    List <BasketDetailModel> listBasketDetail = model.BasketDetails;
                    listBasketDetail.Remove(model.BasketDetails.Where(x => x.Product.ProductID == bDetO.ProductId).ToList().FirstOrDefault());
                    listBasketDetail.Add(bDM);
                    model.BasketDetails = listBasketDetail;
                    GlobalConfig.Connection.UpdateBasket(model.UpdateTotalAmountBasket());
                }
                else
                {
                    BasketDetailModel newBasketDe = new BasketDetailModel();
                    newBasketDe.Quantity = bDetO.quantity;
                    newBasketDe.Product  = bDetO.ProductId.ToString().LookupProductById();
                    newBasketDe.Price    = bDetO.quantity * newBasketDe.Product.Price;
                    newBasketDe.Time     = DateTime.Now;
                    GlobalConfig.Connection.CreateBasketDetail(newBasketDe);
                    // TODO: update BasketModel file
                    List <BasketDetailModel> listBasketDetail = model.BasketDetails;
                    listBasketDetail.Add(newBasketDe);
                    model.BasketDetails = listBasketDetail;
                    GlobalConfig.Connection.UpdateBasket(model.UpdateTotalAmountBasket());
                }
            }
        }
        public IActionResult Buy()
        {
            // létrehozunk egy foglalást csak az alapadatokkal (apartman, dátumok)
            BasketOrder order = _service.NewOrder();

            return(View("Buy", order));
        }
Example #3
0
        public void SaveOrder(string userName, BasketOrder bOrder)
        {
            context.Orders.Add(new Order
            {
                UserName    = bOrder.Name,
                Email       = bOrder.Email,
                Address     = bOrder.Address,
                PhoneNumber = bOrder.PhoneNumber
            });

            context.SaveChanges();
        }
        public void SaveOrder(string userName, BasketOrder bOrder)
        {
            Basket basket = GetBasketForUser(userName);

            context.Orders.Add(new Order
            {
                UserName        = bOrder.Name,
                Email           = bOrder.Email,
                Address         = bOrder.Address,
                PhoneNumber     = bOrder.PhoneNumber,
                Delivered       = false,
                OrderedProducts = basket.elems.ToList()
            });

            context.SaveChanges();
        }
        [ValidateAntiForgeryToken] // védelem XSRF támadás ellen
        public IActionResult Buy(BasketOrder order)
        {
            if (!ModelState.IsValid)
            {
                return(View("Buy", order));
            }

            String userName = _accountService.CurrentUserName;

            _service.SaveOrder(userName, order);

            // kiszámoljuk a teljes árat
            order.TotalPrice = _service.GetPrice(userName);

            _service.EmptyBasket(userName);

            return(View("Result", order));
        }
Example #6
0
 public void Post(BasketOrder value)
 {
     MapData.MapToBasketOrderAndUpdate(value);
 }
        public BasketOrder NewOrder()
        {
            var order = new BasketOrder();

            return(order);
        }
Example #8
0
        public ActionResult Verify(Guid cusId, Guid orderid)
        {
            Order order = db.Order.Find(orderid);


            if (Request.QueryString["Status"] != "" && Request.QueryString["Status"] != null && Request.QueryString["Authority"] != "" && Request.QueryString["Authority"] != null)
            {
                if (Request.QueryString["Status"].ToString().Equals("OK"))
                {
                    int Amount = Convert.ToInt32(order.CurrentPrice);
                    System.Net.ServicePointManager.Expect100Continue = false;
                    ZarinPal.PaymentGatewayImplementationServicePortTypeClient zp = new ZarinPal.PaymentGatewayImplementationServicePortTypeClient();

                    int Status = zp.PaymentVerification("a3078700-d5bd-11e8-81b7-005056a205be", Request.QueryString["Authority"].ToString(), Amount, out long RefID);

                    if (Status == 100)
                    {
                        order.IsFinaly = true;
                        db.SaveChanges();
                        ViewBag.IsSuccess = true;
                        ViewBag.RefId     = RefID;
                        List <Basket> baskets = db.Basket.Where(c => c.CustomerId == SessionParameters.Customer.CustomerId && c.IsArchive == false).ToList();
                        ViewBag.Status = "پرداخت شما با موفقیت انجام شد";
                        var customerOffer = new CustomerOffer()
                        {
                            CustomerId  = cusId,
                            OfferCardId = order.OfferCardId
                        };
                        db.CustomerOffers.Add(customerOffer);
                        db.SaveChanges();
                        foreach (Basket item in baskets)
                        {
                            BasketOrder basketOrder = new BasketOrder()
                            {
                                BasketId = item.BasketId,
                                OrderId  = orderid
                            };
                            db.BasketOrder.Add(basketOrder);
                            db.SaveChanges();
                            item.LangId          = CultureInfo.CurrentCulture.Name;
                            item.IsArchive       = true;
                            db.Entry(item).State = EntityState.Modified;
                            db.SaveChanges();

                            Product product = item.Product;
                            product.IsBlocked = false;
                            product.Count--;
                            db.Entry(product).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        ViewBag.IsSuccess = false;

                        ViewBag.Status = "خطا در انجام تراکنش";
                    }
                }
                else
                {
                    return(Redirect("/Baskets/FinalApproval"));
                    //Response.Write("Error! Authority: " + Request.QueryString["Authority"].ToString() + " Status: " + Request.QueryString["Status"].ToString());
                }
            }
            else
            {
                Response.Write("Invalid Input");
            }
            return(View());
        }