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; } }
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; } }