protected void AgragarCaritoButton_Click(object sender, EventArgs e) { List<PedidosDetalle> listado = new List<PedidosDetalle>(); PedidosDetalle item = new PedidosDetalle(); Productos producto = new Productos(); int Codigo = 0; //verificamos si el carrito tiene contenido if (Session["Carrito"] != null) { listado = (List<PedidosDetalle>)Session["Carrito"]; } if (Request.QueryString["Id"] != null) { Codigo = Convert.ToInt32(Request.QueryString["Id"]); } producto.Buscar(Codigo); item.IdProducto = producto.IdProducto; item.IdProductor = producto.IdProductor; item.Precio = producto.Precio; item.Foto = producto.Imagen; try { if (listado.Where(dato => dato.IdProducto == item.IdProducto).FirstOrDefault().IdProducto > 0) { PedidosDetalle ItemSeleccionado = (PedidosDetalle)listado.Find(dato => dato.IdProducto == item.IdProducto); listado.RemoveAll(dato => dato.IdProducto == item.IdProducto); if (Convert.ToDouble(CantidadTextBox.Text) > 0) { item.Cantidad = ItemSeleccionado.Cantidad + Convert.ToDouble(CantidadTextBox.Text); } } } catch (NullReferenceException ex) { if (Convert.ToDouble(CantidadTextBox.Text) > 0) { item.Cantidad = Convert.ToDouble(CantidadTextBox.Text); } Console.Write(ex.Message); } //si la cantidad del producto a agregar es mayor k cero entonces lo agregamos al carrito //de lo contrario no porque etonces el total seria 0 ya que no agregaria nada. if (item.Cantidad > 0) { //agregamos el item al carrito listado.Add(item); //guardamos el carrito en la variable de session. Session["Carrito"] = listado; } Response.Redirect("/DatosProducto.aspx?Id=" + id); }
protected void AgregarCarritoButton_Click(object sender, EventArgs e) { List<PedidosDetalle> listado = new List<PedidosDetalle>(); PedidosDetalle item = new PedidosDetalle(); Productos producto = new Productos(); Button button; int Argumento; //Asignamos al boton el objecto boton al que se ha hecho click button = (sender as Button); //optenemos el dato que esta en el CommandArgument del boton Argumento = Convert.ToInt32(button.CommandArgument); //verificamos si el carrito tiene contenido if (Session["Carrito"] != null) { listado = (List<PedidosDetalle>)Session["Carrito"]; } producto.Buscar(Argumento); item.IdProducto = producto.IdProducto; item.Precio = producto.Precio; item.Foto = producto.Imagen; item.IdProductor = producto.IdProductor; try { //esta condicion identifica si existe un item dentro del carrito para entonces agregar mas cantidades o agregar un nuevo item. if (listado.Where(dato => dato.IdProducto == item.IdProducto).FirstOrDefault().IdProducto > 0) { PedidosDetalle ItemSeleccionado = (PedidosDetalle)listado.Find(dato => dato.IdProducto == item.IdProducto); listado.RemoveAll(dato => dato.IdProducto == item.IdProducto); item.Cantidad = ItemSeleccionado.Cantidad + 1; } } catch (NullReferenceException ex) { item.Cantidad = 1; Console.Write(ex.Message); } //agregamos el item al carrito listado.Add(item); //guardamos el carrito en la variable de session. Session["Carrito"] = listado; Response.Redirect("/"); }
protected void ActualizarCarroButton_Click(object sender, EventArgs e) { List<PedidosDetalle> listado = new List<PedidosDetalle>(); Productos producto = new Productos(); //verificamos si el carrito tiene contenido if (Session["Carrito"] != null) { listado = (List<PedidosDetalle>)Session["Carrito"]; } foreach (RepeaterItem item in ProductosRepeater.Items) { TextBox IdProductoTextBox = (TextBox)item.FindControl("IdProductoTextBox"); TextBox CantidadTextBox = (TextBox)item.FindControl("CantidadProductoText"); int idProducto = Convert.ToInt32(IdProductoTextBox.Text); int cantidad = 0; int.TryParse(CantidadTextBox.Text, out cantidad); PedidosDetalle detalle = new PedidosDetalle(); if (cantidad > 0) { PedidosDetalle ItemSeleccionado = (PedidosDetalle)listado.Find(dato => dato.IdProducto == idProducto); listado.RemoveAll(dato => dato.IdProducto == idProducto); producto = new Productos(); producto.Buscar(idProducto); detalle.IdProducto = producto.IdProducto; detalle.IdProductor = 1; //Todo: revisar bien lo que necesitamos con los productores detalle.Precio = producto.Precio; detalle.Foto = producto.Imagen; detalle.Cantidad = cantidad; //agregamos el item al carrito... listado.Add(detalle); } } //guardamos el carrito en la variable de session. Session["Carrito"] = listado; Response.Redirect("/rPedidos.aspx"); }