protected void btnAgregar_Click(object sender, EventArgs e)
 {
     try
     {
         if ((List <ItemCarro>)Session[Session.SessionID + "carro"] == null)
         {
             listaCarro = new List <ItemCarro>();
         }
         else
         {
             listaCarro = (List <ItemCarro>)Session[Session.SessionID + "carro"];
         }
         ItemCarro item = new ItemCarro();
         item.Color         = new Color();
         item.articulo      = new Articulo();
         item.articulo      = ProdDetalle;
         item.Color.IdColor = int.Parse(cboColores.SelectedItem.Value);
         item.Cantidad      = Convert.ToInt32(txtCantidad.Text);
         item.subtotal      = Convert.ToDecimal(item.articulo.Precio * item.Cantidad);
         listaCarro.Add(item);
         Session[Session.SessionID + "carro"] = listaCarro;
         Response.Redirect("Carrito.aspx");
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (listaCarro == null)
                {
                    listaCarro = new List <ItemCarro>();
                    user       = new Usuario();
                }
                if ((List <ItemCarro>)Session[Session.SessionID + "carro"] != null)
                {
                    listaCarro = (List <ItemCarro>)Session[Session.SessionID + "carro"];
                    user       = (Usuario)Session[Session.SessionID + "Login"];
                }

                //Quitar producto
                var quitar = Request.QueryString["idquitar"];
                if (quitar != null)
                {
                    ItemCarro carroremover = new ItemCarro();
                    ItemCarro remover      = listaCarro.Find(J => J.articulo.IdArticulo == int.Parse(quitar));
                    listaCarro.Remove(remover);
                    Session[Session.SessionID + "carro"] = listaCarro;
                }

                //Sumar cantidad
                var cant = Request.QueryString["idsumcantidad"];
                if (cant != null)
                {
                    ItemCarro sumarcant = listaCarro.Find(J => J.articulo.IdArticulo == int.Parse(cant));
                    sumarcant.Cantidad = sumarcant.Cantidad + 1;
                    sumarcant.subtotal = sumarcant.articulo.Precio * sumarcant.Cantidad;
                    Session[Session.SessionID + "carro"] = listaCarro;
                }

                //Restar cantidad
                var resta = Request.QueryString["idrestcantidad"];
                if (resta != null)
                {
                    ItemCarro restarcant = listaCarro.Find(J => J.articulo.IdArticulo == int.Parse(resta));
                    if (restarcant.Cantidad > 1)
                    {
                        restarcant.Cantidad = restarcant.Cantidad - 1;
                        restarcant.subtotal = restarcant.articulo.Precio * restarcant.Cantidad;
                        Session[Session.SessionID + "carro"] = listaCarro;
                    }
                }


                //Acumulador de total
                decimal total = 0;
                foreach (var prod in listaCarro)
                {
                    total = prod.subtotal + total;
                }
                lblTotal.Text = /*"$" + */ total.ToString();
            }
            catch (Exception)
            {
                throw;
            }
        }