Exemplo n.º 1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     var Order = OrdersLogic.GetOrder(Request["rf"]);
     if (Order == null) Response.Redirect("~/checkout?success=false");
     PaymentLogic PaymentLogic = new PaymentLogic(ref Order);
     switch (Order.StatusId)
     {
         case 1:
             IframeLBL.Text = "<iframe src=\"" + PaymentLogic.GetIframeUrl() + "\" width=\"100%\" height=\"600\" border=\"0\" style=\"border: none;padding: 20px 0 0 0;\"></iframe>";
             break;
         default:
             if (Order.ChargeStatus == ChargeStatusEnum.ChargedSuccessfully.ToString())
             {
                 Response.Redirect("~/Checkout?success=true");
             }
             else
             {
                 Response.Redirect("~/Checkout");
             }
             break;
     }
 }
Exemplo n.º 2
0
        public string InsertOrder(Orders Order, List<Entities.Basket> BasketList = null)
        {
            Page page = HttpContext.Current.Handler as Page;
            if (!page.ModelState.IsValid)
            {
                return "";
            }

            if (BasketList == null)
            {
                BasketList = BasketLogic.GetBasket();
            }

            if (BasketList.Count == 0)
            {
                SiteLogic.AddError(Resources.mod.OrderProductsNotFound);
                return "";
            }

            Order.ReferenceCode = (new MiscLogic()).GenerateRandomCode();
            Order.UserId = 0;
            Order.StatusId = (int)OrderStatus.New; //New order
            Order.Total = BasketLogic.GetTotalPrice();
            Order.Tax = 0;
            //Order.ShippingPrice = BasketLogic.GetShippingPrice(Order.ShippingMethod);
            //Order.Discount = BasketLogic.getOrderDiscount(BasketList);
            Order.PaypalEmail = BasketList.FirstOrDefault(b => !string.IsNullOrEmpty(b.Event.PaypalEmail)).Event.PaypalEmail;
            Order.DateCreated = DateTime.Now;

            db.Orders.Add(Order);
            db.SaveChanges();

            foreach (var product in BasketList)
            {
                db.OrderProducts.Add(new OrderProducts()
                {
                    ProductId = product.TicketId,
                    Name = product.Event.Name + "- " + product.Ticket.Name,
                    EventId = product.EventId,
                    Pic = product.Pic,
                    Quantity = product.Quantity,
                    Price = product.Ticket.Price.HasValue ? product.Ticket.Price.Value : 0,
                    OrderId = Order.OrdersId,
                    UserId = Order.UserId.ToString(),
                    DateCreated = DateTime.Now
                });
            }

            db.SaveChanges();
            string redirect = "";
            if(Order.Total > 0)
            {
                PaymentLogic PaymentLogic = new PaymentLogic(ref Order);
                PaymentLogic.ProccessPayment(ref redirect);
            }
            else
            {
                redirect = "/CheckoutFinish?rf=" + Order.ReferenceCode;
            }

            return redirect;
        }