예제 #1
0
        public List<CartItem> UpdateCartItems()
        {
            using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
            {
                String cartId = usersShoppingCart.GetCartId();

                ShoppingCartActions.ShoppingCartUpdates[] cartUpdates = new ShoppingCartActions.ShoppingCartUpdates[CartList.Rows.Count];
                for (int i = 0; i < CartList.Rows.Count; i++)
                {
                    cartUpdates[i].ProductId = Convert.ToInt32(getDataKeyName(i, "ProductID"));
                    cartUpdates[i].tipo = getDataKeyName(i, "TipoItem");

                    CheckBox cbRemove = new CheckBox();
                    cbRemove = (CheckBox)CartList.Rows[i].FindControl("Remove");
                    cartUpdates[i].RemoveItem = cbRemove.Checked;

                    TextBox quantityTextBox = new TextBox();
                    quantityTextBox = (TextBox)CartList.Rows[i].FindControl("PurchaseQuantity");
                    cartUpdates[i].PurchaseQuantity = Convert.ToInt16(quantityTextBox.Text.ToString());
                }
                //actualiza los productos en el carro compras.
                usersShoppingCart.UpdateShoppingCartDatabase(cartId, cartUpdates);
                GetShoppingCartItems();
                lblTotal.Text = String.Format("{0:c}", usersShoppingCart.GetTotal());
                mostrarControles(CartList.Rows.Count);
                return usersShoppingCart.GetCartItems();
            }
        }
예제 #2
0
        public void GetShoppingCartItems()
        {
            List<CartItem> listaItems = null;
            decimal cartTotal = 0;

            using (ShoppingCartActions actions = new ShoppingCartActions())
            {
                listaItems = actions.GetCartItems();
                if (listaItems != null)
                {
                    CartList.DataSource = listaItems.ToList();
                    CartList.DataBind();
                    mostrarControles(listaItems.Count());
                }
                else 
                {
                    mostrarControles(0);
                }

                

                cartTotal = actions.GetTotal();
                if (cartTotal > 0)
                {
                    // Display Total.
                    lblTotal.Text = String.Format("{0:c}", cartTotal);
                }
            }
        }
예제 #3
0
  public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg)
  {
    if (bSandbox)
    {
      pEndPointURL = pEndPointURL_SB;
      host = host_SB;
    }

    string returnURL = "https://localhost:44300/Checkout/CheckoutReview.aspx";
    string cancelURL = "https://localhost:44300/Checkout/CheckoutCancel.aspx";

    NVPCodec encoder = new NVPCodec();
    encoder["METHOD"] = "SetExpressCheckout";
    encoder["RETURNURL"] = returnURL;
    encoder["CANCELURL"] = cancelURL;
    encoder["BRANDNAME"] = "KallSonys";
    encoder["PAYMENTREQUEST_0_AMT"] = amt;
    encoder["PAYMENTREQUEST_0_ITEMAMT"] = amt;
    encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
    encoder["PAYMENTREQUEST_0_CURRENCYCODE"] = "USD";

    // Get the Shopping Cart Products
    using (KallSonysB2C.Logic.ShoppingCartActions myCartOrders = new KallSonysB2C.Logic.ShoppingCartActions())
    {
      List<CartItem> myOrderList = myCartOrders.GetCartItems();

      for (int i = 0; i < myOrderList.Count; i++)
      {
        encoder["L_PAYMENTREQUEST_0_NAME" + i] = myOrderList[i].Product.nombreProducto.ToString();
        encoder["L_PAYMENTREQUEST_0_AMT" + i] = myOrderList[i].Product.precioProducto.ToString();
        encoder["L_PAYMENTREQUEST_0_QTY" + i] = myOrderList[i].Quantity.ToString();
      }
    }

    string pStrrequestforNvp = encoder.Encode();
    string pStresponsenvp = HttpCall(pStrrequestforNvp);

    NVPCodec decoder = new NVPCodec();
    decoder.Decode(pStresponsenvp);

    string strAck = decoder["ACK"].ToLower();
    if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
    {
      token = decoder["TOKEN"];
      string ECURL = "https://" + host + "/cgi-bin/webscr?cmd=_express-checkout" + "&token=" + token;
      retMsg = ECURL;
      return true;
    }
    else
    {
      retMsg = "ErrorCode=" + decoder["L_ERRORCODE0"] + "&" +
          "Desc=" + decoder["L_SHORTMESSAGE0"] + "&" +
          "Desc2=" + decoder["L_LONGMESSAGE0"];
      return false;
    }
  }
예제 #4
0
        protected void lnkAddToCart_Click(object sender, EventArgs e)
        {
            LinkButton link = sender as LinkButton;
            int idCampania = Convert.ToInt32(link.CommandArgument);

            using (ShoppingCartActions actions = new ShoppingCartActions())
            {
                if (actions.AddToCart(idCampania, "C"))
                {
                    Response.Redirect("~/ShoppingCart.aspx");
                }
                else
                {
                    //aca debe colocarse la validación que no se puede agregar más items al carro
                    KallSonysB2C.Logic.MessageBox.Show(actions.msjErrorAddingToCart);
                }
            }
        }
예제 #5
0
 protected void Page_PreRender(object sender, EventArgs e)
 {
     using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
     {
         string cartStr = string.Format("Carrito ({0})", usersShoppingCart.GetCount());
         cartCount.InnerText = cartStr;
     }
 }
예제 #6
0
 protected void Unnamed_LoggingOut(object sender, LoginCancelEventArgs e)
 {
     Context.GetOwinContext().Authentication.SignOut();
     //se debe borrar la lista del carro.
     using (KallSonysB2C.Logic.ShoppingCartActions usersShoppingCart = new KallSonysB2C.Logic.ShoppingCartActions())
     {
         usersShoppingCart.EmptyCart();
     }
 }
예제 #7
0
 public ShoppingCartActions GetCart(HttpContext context)
 {
     using (var cart = new ShoppingCartActions())
     {
         cart.ShoppingCartId = cart.GetCartId();
         return cart;
     }
 }
예제 #8
0
 protected void PagoBtn_Click(object sender, EventArgs e)
 {
     using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
     {
         Session["payment_amt"] = usersShoppingCart.GetTotal();
     }
     Response.Redirect("Checkout/CheckoutStart.aspx");
 }