private List <ItemCarrito> cargarItems(string codigoFactura) { GestorConexion gestor = new GestorConexion(); List <ItemCarrito> aux = new List <ItemCarrito>(); SqlConnection connection = gestor.connection(); SqlCommand command = new SqlCommand(); SqlDataReader lector; try { command.CommandType = System.Data.CommandType.Text; command.CommandText = "select * from vw_itemFactura where CodigoFactura = @code"; command.Parameters.AddWithValue("@code", codigoFactura); command.Connection = connection; connection.Open(); lector = command.ExecuteReader(); while (lector.Read()) { ItemCarrito x = new ItemCarrito(); x.code = lector.GetString(1); x.name = lector.GetString(2); x.ammount = lector.GetInt32(3); x.unitPrice = (float)lector.GetDecimal(4); aux.Add(x); } connection.Close(); return(aux); } catch (Exception) { throw; } }
public List <ItemCarrito> Listar(Pedido pedidin) { AccesoDatos Acceso = new AccesoDatos(); List <ItemCarrito> Lista = new List <ItemCarrito>(); try { Acceso.setearQuery("Select IdProducto, IdPedido, PrecioActual, CantidadPedida, UrlImagen, Nombre from Detalle where IdPedido = @idPed"); Acceso.agregarParametro("@idPed", pedidin.IdPedido); Acceso.ejecutarLector(); Acceso.lector = Acceso.comando.ExecuteReader(); while (Acceso.lector.Read()) { ItemCarrito Aux = new ItemCarrito(); Aux.IdProducto = (long)Acceso.lector["IdProducto"]; Aux.IdPedido = (long)Acceso.lector["IdPedido"]; Aux.PrecioActual = (Decimal)Acceso.lector["PrecioActual"]; Aux.CantidadPedida = (Byte)Acceso.lector["CantidadPedida"]; Aux.UrlImagen = (string)Acceso.lector["UrlImagen"]; Aux.NombreActual = (string)Acceso.lector["Nombre"]; Lista.Add(Aux); } Acceso.cerrarConexion(); return(Lista); } catch (Exception ex) { throw ex; // return Lista; //obviamente hay que hacer una redireccion a una pagina de error :) } }
//-------ESCRITURA--------------- public void saveItems(ItemCarrito item, string codigoFactura) { GestorConexion gestor = new GestorConexion(); SqlConnection connection = gestor.connection(); SqlCommand command = new SqlCommand(); try { command.CommandType = System.Data.CommandType.Text; command.CommandText = "insert into itemsxfactura values(@ArtCode, @CodigoFactura, @price, @cant) "; command.Parameters.AddWithValue("@ArtCode", item.code); command.Parameters.AddWithValue("@CodigoFactura", codigoFactura); command.Parameters.AddWithValue("@price", (decimal)item.unitPrice); command.Parameters.AddWithValue("@cant", item.ammount); command.Connection = connection; connection.Open(); command.ExecuteNonQuery(); } catch (Exception) { throw; } finally { connection.Close(); } }
protected void Page_Load(object sender, EventArgs e) { carrito = (List <ItemCarrito>)Session["listaCarrito"]; elemento = new ItemCarrito(); if (carrito == null) { carrito = new List <ItemCarrito>(); } if (!IsPostBack) { if (Request.QueryString["id"] != null) { if (carrito.Find(x => x.Articulos.ID.ToString() == Request.QueryString["id"]) == null) { List <Articulos> listadoOriginal = (List <Articulos>)Session["listadoArticulos"]; elemento.Articulos = listadoOriginal.Find(x => x.ID.ToString() == Request.QueryString["id"]); carrito.Add(elemento); } } Repetidor.DataSource = carrito; Repetidor.DataBind(); } Session.Add("ListaCarrito", carrito); }
private void SetearFila(DataGridViewRow r, ItemCarrito itemCarrito) { r.Cells[cmnPropiedad.Index].Value = itemCarrito.Propiedad.DescripcionP; r.Cells[cmnValorPropiedad.Index].Value = itemCarrito.Valor; r.Cells[cmnCostoOperacion.Index].Value = itemCarrito.Propiedad.CostoOperacion; r.Cells[cmnTotal.Index].Value = itemCarrito.Valor + itemCarrito.Propiedad.CostoOperacion; r.Tag = itemCarrito; }
public void Agregar(Producto producto, int cantidad) { var productoEnCarrito = new ItemCarrito(); productoEnCarrito.Producto = producto; productoEnCarrito.Cantidad = cantidad; Productos.Add(productoEnCarrito); }
public void btn_AgregarClick(object sender, EventArgs e) { var id = int.Parse((sender as LinkButton).CommandArgument); ItemCarrito item = carr.Items.Find(x => x.Id == id); carr.AgregarItem(item); Session.Add("carrito", carr); Response.Redirect(Request.RawUrl); }
public void InsertarItemCarrito(ItemCarritoInsVO carivo) { using (TiendaVirtualEntities db = new TiendaVirtualEntities()) { ItemCarrito ica = new ItemCarrito(carivo); db.ItemCarrito.Add(ica); db.SaveChanges(); } }
private void SetearFila(DataGridViewRow r, ItemCarrito itemCarrito) { r.Cells[cmnProducto.Index].Value = itemCarrito.Producto.Descripcion; r.Cells[cmnPrecioUnitario.Index].Value = itemCarrito.Producto.Precio; r.Cells[cmnCantidad.Index].Value = itemCarrito.Cantidad; r.Cells[cmnTotal.Index].Value = itemCarrito.Cantidad * itemCarrito.Producto.Precio; r.Tag = itemCarrito; }
public ActionResult Agregar(int IdAux) // aca viene por medio del href, con el id para agregar al carrito { ItemCarrito item; Producto producto; List <ItemCarrito> listaCarrito; producto = negocio.BuscarPorId(IdAux); DetalleCarritoNegocio negocioCarrito = new DetalleCarritoNegocio(); item = negocioCarrito.Map(producto); if (Session["listaCarrito"] == null) { listaCarrito = new List <ItemCarrito>(); } else { listaCarrito = (List <ItemCarrito>)Session["listaCarrito"]; } ItemCarrito repe = new ItemCarrito(); foreach (var itemCarrito in listaCarrito) { if (IdAux == itemCarrito.IdProducto) { repe = itemCarrito; } } if (item.IdProducto != repe.IdProducto) { listaCarrito.Add(item); Session["listaCarrito"] = listaCarrito; } foreach (var itemProd in listaCarrito) { if (IdAux == itemProd.IdProducto) { itemProd.CantidadItem++; } } return(RedirectToAction("Carrito")); }
private void agregarProductoAlCarrito(Producto producto, int cantidad) { ItemCarrito item = new ItemCarrito(); if (!carrito.ContainsKey(producto.Id.ToString())) { item.producto = producto; item.cantidad = cantidad; carrito.Add(producto.Id.ToString(), item); } else { this.sumarCantidad(producto.Id, cantidad); } }
public ItemCarrito Map(Producto producto) { ItemCarrito carrito = new ItemCarrito() // inicializacion mientras instancio { UrlImagen = producto.UrlImagen, Precio = producto.Precio, IdProducto = producto.Id, IdTipo = producto.IdTipo, Nombre = producto.Nombre, Talle = producto.talle.Nombre, Descripcion = producto.Descripcion, Color = producto.color.Nombre, }; return(carrito); }
public void btn_AgregarClick(object sender, EventArgs e) { var id = int.Parse((sender as LinkButton).CommandArgument); Articulo a = listaArticulo.Find(x => x.Id == id); ItemCarrito i = new ItemCarrito(a); if ((Carrito)Session["carrito"] == null) { carr.AgregarItem(i); } else { carr = (Carrito)Session["carrito"]; carr.AgregarItem(i); } Session.Add("carrito", carr); }
protected void buttonEliminar_Click(object sender, EventArgs e) { try { var argument = ((Button)sender).CommandArgument; List <ItemCarrito> carrito = (List <ItemCarrito>)Session["listaCarrito"]; ItemCarrito elim = carrito.Find(x => x.Articulos.ID.ToString() == argument); carrito.Remove(elim); Session.Add("listaFavoritos", carrito); Repetidor.DataSource = null; Repetidor.DataSource = carrito; Repetidor.DataBind(); } catch (Exception ex) { Response.Redirect("Error.aspx"); } }
private void Additem() { var comp = new ItemCarrito(); try { string code = (string)Request.QueryString["ART"]; if (code != null) { page = findProductPage(); bool nuevo = true; Carrito aux = (Carrito)Session["chart"]; foreach (ItemCarrito item in aux.items) { if (item.code == code) { item.ammount++; nuevo = false; } } if (nuevo) { var auxproduct = productoBusiness.buscarid(code); comp.name = auxproduct.name; comp.code = auxproduct.code; comp.ammount = 1; comp.unitPrice = (float)auxproduct.unitPrice(); aux.items.Add(comp); } Session.Remove("chart"); Session["chart"] = aux; } } catch (Exception) { throw; } }
private void btnAceptar_Click(object sender, EventArgs e) { if (ValidarPropiedad()) { Propiedad propiedad = new Propiedad { PropiedadId = propiedadSeleccionado.PropiedadId, DescripcionP = propiedadSeleccionado.DescripcionP, CostoOperacion = propiedadSeleccionado.CostoOperacion }; var itemCarrito = new ItemCarrito { Propiedad = propiedad, Valor = (int)nudValor.Value }; carrito.AgregarAlCarrito(propiedad, (int)nudValor.Value); MostrarDatosEnGrilla(); CalcularTotal(); InicializarControles(); } }
public void AgregarDetalle(ItemCarrito item) { try { AccesoDatos Acceso = new AccesoDatos(); Acceso.setearQuery_conPa("SP_AgregarDetalle"); Acceso.agregarParametro("@IdProducto ", item.IdProducto); Acceso.agregarParametro("@idPedido ", item.IdPedido); Acceso.agregarParametro("@PrecioActual ", item.PrecioActual); Acceso.agregarParametro("@CantidadPedida ", item.CantidadPedida); Acceso.agregarParametro("@UrlImagen ", item.UrlImagen); Acceso.agregarParametro("@Nombre ", item.NombreActual); Acceso.ejecutarAccion(); Acceso.cerrarConexion(); } catch (Exception) { throw; } }
public List <DetalleCarrito> Asignar(List <ItemCarrito> lista) { List <DetalleCarrito> ListaDetalle = new List <DetalleCarrito>(); DetalleCarrito detalle = new DetalleCarrito(); ItemCarrito itemcarrito = new ItemCarrito(); foreach (var item in lista) { detalle = new DetalleCarrito(); // esto es para no pisar lo que esta en la direccion de memoria, si solo tengo un detalle siempre se va a pisar ahi, en cambio instanciandolo le doy un nuevo lugar en memoria detalle.NombreActual = item.Nombre; detalle.PrecioActual = item.Precio; detalle.UrlImagen = item.UrlImagen; detalle.IdProducto = item.IdProducto; detalle.CantidadPedida = item.CantidadItem; ListaDetalle.Add(detalle); } return(ListaDetalle); }
private void AceptarProductoButton_Click(object sender, EventArgs e) { if (ValidarProducto()) { Producto producto = new Producto { ProductoId = productoSeleccionado.ProductoId, Descripcion = productoSeleccionado.Descripcion, Precio = productoSeleccionado.Precio }; var itemCarrito = new ItemCarrito { Producto = producto, Cantidad = (int)CantidadNumericUpDown.Value }; carrito.AgregarAlCarrito(producto, (int)CantidadNumericUpDown.Value); MostrarDatosEnGrilla(); CalcularTotal(); InicializarControles(); } }
public IHttpActionResult AgregarProducto(long id, int cantidad) { try { if (id == 0) { throw new System.ArgumentException("Código de producto no válido."); } if (cantidad == 0) { throw new System.ArgumentException("Cantidad de producto no válida."); } Producto producto = db.Productos.Find(id); if (producto == null) { ItemCarrito item = new ItemCarrito(); item = carrito[id]; if (item == null) { item.producto = producto; item.cantidad = cantidad; carrito.Add(id, item); } else { item.cantidad = item.cantidad + cantidad; } } else { throw new System.ArgumentException("El producto no fue encontrado."); } }catch (Exception e) { return((IHttpActionResult)e); } return((IHttpActionResult)carrito); }
protected void ButtonAddChart_Click(object sender, EventArgs e) { var comp = new ItemCarrito(); try { bool nuevo = true; Carrito aux = (Carrito)Session["chart"]; foreach (ItemCarrito item in aux.items) { if (item.code == producto.code) { item.ammount += int.Parse(TextCuantity.Text); nuevo = false; } } if (nuevo) { var auxproduct = productoBusiness.buscarid(producto.code); comp.name = auxproduct.name; comp.code = auxproduct.code; comp.ammount = int.Parse(TextCuantity.Text); comp.unitPrice = (float)auxproduct.unitPrice(); aux.items.Add(comp); } Session.Remove("chart"); Session["chart"] = aux; } catch (Exception) { throw; } }
private void sumarCantidad(long id, int cantidad) { ItemCarrito item = carrito[id.ToString()]; item.cantidad += cantidad; }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { bandera = false; } carrito.listaItem = (List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"]; if (carrito.listaItem == null) { carrito.listaItem = new List <ItemCarrito>(); } var prodQuitar = Request.QueryString["idQuitar"]; if (prodQuitar != null) { ItemCarrito productoQuitar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(prodQuitar)); carrito.listaItem.Remove(productoQuitar); Session[Session.SessionID + "listaCarrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx", false); } else if (Request.QueryString["idprod"] != null) { //obtengo lista original (el listado completo) List <Producto> listaOriginal = (List <Producto>)Session[Session.SessionID + "listaProducto"]; var prodSeleccionado = Convert.ToInt32(Request.QueryString["idprod"]); Producto producto = listaOriginal.Find(J => J.ID == prodSeleccionado); ItemCarrito auxCarrito = carrito.listaItem.Find(B => B.Producto.ID == producto.ID); if (auxCarrito == null) { CarritoItem.Producto = producto; CarritoItem.Cantidad++; carrito.Total += CarritoItem.Producto.Precio; carrito.listaItem.Add(CarritoItem); Session[Session.SessionID + "listaCarrito"] = carrito.listaItem; } Response.Redirect("Carrito.aspx", false); } var CantRest = Request.QueryString["idCantRest"]; if (CantRest != null) { if (!bandera) { } ItemCarrito productoRestar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(CantRest)); if (productoRestar.Cantidad != 0 && productoRestar.Cantidad != 1) { productoRestar.Cantidad--; } else { } Session[Session.SessionID + "listaCarrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx", false); } var CantSum = Request.QueryString["idCantSum"]; if (CantSum != null) { ItemCarrito productoSumar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(CantSum)); if (productoSumar.Cantidad == productoSumar.Producto.Stock || productoSumar.Cantidad > productoSumar.Producto.Stock) { } else { productoSumar.Cantidad++; } Session[Session.SessionID + "listaCarrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx", false); } var idCarrito = Request.QueryString["idComprar"]; if (idCarrito != null) { Usuario usuario = (Usuario)Session["usersession"]; if ((List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"] == null) { Session["Error" + Session.SessionID] = "Error al realizar la compra."; Response.Redirect("Error.aspx", false); } else if (usuario == null) { Response.Redirect("Login.aspx", false); } else { carrito.listaItem = (List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"]; Producto_X_Venta productoXventa = new Producto_X_Venta(); List <Venta> listaVenta = new List <Venta>(); Producto producto = new Producto(); Venta venta = new Venta(); DateTime fechaHoy = DateTime.Now; //decimal subtotal = 0; //foreach (var item in listaItem) //{ // subtotal += item.PrecioItem(); //} //Total = subtotal; decimal total = carrito.SubTotal(); venta.usuario = usuario; venta.PrecioTotal = total; venta.Fecha = fechaHoy; negocioVenta.Agregar(venta); VentasNegocio negocioVentas = new VentasNegocio(); listaVenta = negocioVentas.Listar(); Int64 idVenta = 0; foreach (var item in listaVenta) { if (item.usuario.ID_Usuario == usuario.ID_Usuario) { idVenta = item.ID; } } venta.ID = idVenta; foreach (var itemCarrito in carrito.listaItem) { productoXventa.venta = venta; productoXventa.producto = itemCarrito.Producto; productoXventa.Cantidad = itemCarrito.Cantidad; //productoXventa.Precio = itemCarrito.PrecioItem(); productoXventa.Precio = itemCarrito.Producto.Precio; producto.ID = itemCarrito.Producto.ID; producto.Stock = itemCarrito.Producto.Stock - itemCarrito.Cantidad; negocioProducto.ModificarStock(producto); negocioVenta.AgregarItem(productoXventa); } Response.Redirect("CompraFinalizada.aspx", false); } //else //{ // Session["Error" + Session.SessionID] = "Error al realizar la compra."; // Response.Redirect("Error.aspx", false); //} //foreach (var item in listaCarrito) //{ // foreach (var item2 in item.listaItem) // { // item2. // negocioVenta.AgregarItem(item2); // } //} } } catch (Exception ex) { Session["Error" + Session.SessionID] = "Error en el carrito."; //Session["Error" + Session.SessionID] = ex; Response.Redirect("Error.aspx"); } }
public void QuitarProducto(int codProducto, int nroCarrito) { ItemCarrito item = (ItemCarrito)contexto.ItemCarrito.Where(b => b.IdCarrito == nroCarrito && b.CodProducto == codProducto).First(); contexto.ItemCarrito.Remove(item); }
protected void Page_Load(object sender, EventArgs e) { ProductoNegocio negocio = new ProductoNegocio(); try { IdAux = Convert.ToInt32(Request.QueryString["idArticulo"]); extra = Convert.ToInt32(Request.QueryString["extra"]); Liston = negocio.Listar(); Producto = Liston.Find(x => x.Id == IdAux); if (IdAux == 0) //Si entra desde el botón carrito. { if (Session["ListaCarrito"] == null) //Si la lista no llegó a instanciarse { ListaAux = new List <ItemCarrito>(); Session["ListaCarrito"] = ListaAux; } else { ListaAux = (List <ItemCarrito>)Session["ListaCarrito"]; } CalcularImporteTotal(ListaAux); return; } Detalle = new ItemCarrito(); Detalle.IdProducto = Producto.Id; Detalle.NombreActual = Producto.Nombre; Detalle.PrecioActual = Producto.Precio; Detalle.UrlImagen = Producto.Imagen; if (IdAux > 0 && extra == 1) // Si viene a eliminar { ListaAux = (List <ItemCarrito>)Session["ListaCarrito"]; //traeme lo que tenemos en session //foreach (var item in ListaAux) //{ // if (IdAux == item.IdProducto) // { // ListaAux.Remove(item); // Session["ListaCarrito"] = ListaAux; // CalcularImporteTotal(ListaAux); // Response.Redirect("Carrito.aspx"); // } //} int indice; indice = ListaAux.FindIndex(x => x.IdProducto == IdAux); ListaAux.RemoveAt(indice); Session["ListaCarrito"] = ListaAux; CalcularImporteTotal(ListaAux); Response.Redirect("Carrito.aspx", false); // si lo ponemos en false sigue ejecutandose el codigo return; } else//Si viene a hacer otra cosa. { if (Session["ListaCarrito"] == null) { ListaAux = new List <ItemCarrito>(); Detalle.CantidadPedida = 1; ListaAux.Add(Detalle); Session["ListaCarrito"] = ListaAux; CalcularImporteTotal(ListaAux); } else { ListaAux = (List <ItemCarrito>)Session["ListaCarrito"];// mi lista con los Items del carrito q agregue en session foreach (var item in ListaAux) { if (item.IdProducto == IdAux) { item.CantidadPedida++; foreach (var Producto in Liston)//listaCatalogo { if (IdAux == Producto.Id) { if (Producto.StockActual >= item.CantidadPedida)//se valida el stock { Session["ListaCarrito"] = ListaAux; CalcularImporteTotal(ListaAux); return; } else { item.CantidadPedida--; //habría que Session["ListaCarrito"] = ListaAux; CalcularImporteTotal(ListaAux); return; } } } } } Detalle.CantidadPedida = 1; ListaAux.Add(Detalle); CalcularImporteTotal(ListaAux); Session.Add("ListaCarrito", ListaAux); //Session["ListaCarrito"] = ListCarritoaux; esto es lo mismo que Session["ListaAux"] = ListaAux; } } } catch (Exception ex) { //HAY QUE REDIRECCIONARLO A UNA PAG DE ERROR Response.Redirect("error.aspx"); } }
public void SetCantidad(int isbn, int cantidad, string titulo, decimal precio) { if (cantidad == 0) { EliminarItem(isbn, titulo, precio); return; } ItemCarrito itemActualizado = new ItemCarrito(isbn, titulo, precio); foreach (ItemCarrito item in Items) { if (item.Equals(itemActualizado)) { item.Cantidad = cantidad; return; } } }
public void EliminarItem(int isbn, string titulo, decimal precio) { ItemCarrito itemEliminado = new ItemCarrito(isbn, titulo, precio); Items.Remove(itemEliminado); }
public void AnyadirItem(int libroId, string titulo, decimal precio) { ItemCarrito nuevoItem = new ItemCarrito(libroId, titulo, precio); if (Items.Contains(nuevoItem)) { foreach (ItemCarrito item in Items) { if (item.Equals(nuevoItem)) { item.Cantidad++; return; } } } else { nuevoItem.Cantidad = 1; Items.Add(nuevoItem); } }
//public DetalleVenta detalle { get; set; } protected void Page_Load(object sender, EventArgs e) { try { carrito.listaItem = (List <ItemCarrito>)Session["carrito"]; if (carrito.listaItem == null) { carrito.listaItem = new List <ItemCarrito>(); } if (Request.QueryString["idProducto"] != null) { producto = new Produ(); ProduNegocio negocio = new ProduNegocio(); int idProd = Convert.ToInt32(Request.QueryString["idProducto"]); producto = negocio.listar().Find(X => X.idProdu == idProd); ItemCarrito item = carrito.listaItem.Find(H => H.producto.idProdu == producto.idProdu); if (item == null) { itemCarrito.producto = producto; itemCarrito.cantidad++; carrito.total += itemCarrito.producto.precio; carrito.listaItem.Add(itemCarrito); Session["carrito"] = carrito.listaItem; } Response.Redirect("Carrito.aspx"); } var sumar = Request.QueryString["idSumar"]; if (sumar != null) { ItemCarrito itemSumar = carrito.listaItem.Find(X => X.producto.idProdu == int.Parse(sumar)); itemSumar.cantidad += 1; Session["carrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx"); } var restar = Request.QueryString["idBajar"]; if (restar != null) { ItemCarrito item = carrito.listaItem.Find(K => K.producto.idProdu == int.Parse(restar)); if (item.cantidad > 1) { item.cantidad--; } Session["carrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx"); } if (Request.QueryString["idCancelar"] != null) { int cancelar = Convert.ToInt32(Request.QueryString["idCancelar"]); ItemCarrito item = carrito.listaItem.Find(F => F.producto.idProdu == cancelar); if (item != null) { carrito.listaItem.Remove(item); Session["carrito"] = carrito.listaItem; Response.Redirect("Carrito.aspx"); } } } catch (Exception) { throw; } lbtotal.Text = carrito.SubTotal().ToString(); }