protected void BtnAgregarAlCarrito_Click(object sender, EventArgs e) { Carrito carrito = CarritoManager.ObtenerCarrito(UsuarioLogueado.Id, Session.SessionID); if (carrito == null) { carrito = new Carrito { FechaCreacion = DateTime.Now, Usuario = UsuarioLogueado, UsuarioSessionId = Session.SessionID }; } int vehiculoId = int.Parse(HiddenVehiculoId.Value); if (!carrito.Detalles.Any(d => d.Vehiculo.Id == vehiculoId)) { Vehiculo vehiculo = new Vehiculo { Id = vehiculoId, Precio = int.Parse(HiddenVehiculoPrecio.Value) }; CarritoDetalle detalle = new CarritoDetalle { Vehiculo = vehiculo, Cantidad = 1 }; carrito.Detalles.Add(detalle); CarritoManager.AgregarDetalle(carrito); } Response.Redirect("ListadoCarrito.aspx"); }
public static void EliminarDetalle(CarritoDetalle detalle) { string query = "DELETE FROM CarritoDetalle WHERE Id=@Id"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@Id", detalle.Id) }; SqlHelper.Ejecutar(query, parameters); }
protected void gvCarrito_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName != "EliminarDetalle") { return; } CarritoDetalle detalle = new CarritoDetalle() { Id = Convert.ToInt32(e.CommandArgument) }; CarritoManager.EliminarDetalle(detalle); CargarGvCarrito(); }
public int AgregarCarritoDetalle(int packID, int cantidad, int carritoID) { Carrito carrito = _context.Carritos.Where(x => x.CarritoId == carritoID) .Include(x => x.DetalleCompra) .FirstOrDefault(); CarritoDetalle det = new CarritoDetalle() { Pack = _context.Packs.Where(x => x.PackId == packID).FirstOrDefault(), Cantidad = cantidad }; carrito.DetalleCompra.Add(det); //_context.Entry(pack).State = EntityState.Modified; _context.SaveChanges(); return(det.CarritoDetalleId); }
public static void EliminarDetalle(CarritoDetalle detalle) { CarritoMapper.EliminarDetalle(detalle); }
public static Carrito ObtenerCarrito(int usuarioId, string usuarioSessionId) { List <SqlParameter> parameters = new List <SqlParameter> { new SqlParameter("@UsuarioSessionId", usuarioSessionId), new SqlParameter("@UsuarioId", usuarioId) }; string query = "SELECT cr.FechaCreacion,cd.Id AS CarritoDetalleId,cd.CarritoId,cd.Cantidad,cd.Precio AS PrecioDetalle," + " v.Id,v.Patente,v.ColorId,c.Nombre AS Color,v.ModeloId,m.Nombre AS Modelo,m.MarcaId,ma.Nombre AS Marca,v.Precio," + " v.AnioFabricacion,v.TipoVehiculoId,t.Nombre AS Tipo,v.CategoriaVehiculoId,ca.Nombre AS Categoria" + " FROM Carrito cr INNER JOIN CarritoDetalle cd ON cd.CarritoId=cr.Id" + " INNER JOIN Vehiculo v ON v.Id=cd.VehiculoId INNER JOIN Color c ON c.Id=v.ColorId" + " INNER JOIN CategoriaVehiculo ca ON ca.Id=v.CategoriaVehiculoId" + " INNER JOIN TipoVehiculo t ON t.Id=v.TipoVehiculoId" + " INNER JOIN Modelo m ON m.Id=v.ModeloId" + " INNER JOIN Marca ma ON ma.Id=m.MarcaId" + " WHERE UsuarioSessionId = @UsuarioSessionId" + " AND UsuarioId = @UsuarioId" + " ORDER BY v.Id"; DataTable tabla = SqlHelper.Obtener(query, parameters.ToArray()); if (tabla == null || tabla.Rows.Count == 0) { return(null); } Carrito carrito = new Carrito() { Usuario = UsuarioMapper.Obtener(usuarioId), UsuarioSessionId = usuarioSessionId }; List <CarritoDetalle> detalles = new List <CarritoDetalle>(); foreach (DataRow fila in tabla.Rows) { carrito.Id = int.Parse(fila["CarritoId"].ToString()); carrito.FechaCreacion = DateTime.Parse(fila["FechaCreacion"].ToString()); CarritoDetalle carritoDetalle = new CarritoDetalle { Id = int.Parse(fila["CarritoDetalleId"].ToString()), Cantidad = int.Parse(fila["Cantidad"].ToString()), Precio = int.Parse(fila["PrecioDetalle"].ToString()) }; Vehiculo vehiculo = new Vehiculo { Id = int.Parse(fila["Id"].ToString()), Patente = fila["Patente"].ToString(), AnioFabricacion = int.Parse(fila["AnioFabricacion"].ToString()), Precio = int.Parse(fila["Precio"].ToString()) }; Color color = new Color { Id = int.Parse(fila["ColorId"].ToString()), Nombre = fila["Color"].ToString() }; vehiculo.Color = color; Marca marca = new Marca { Id = int.Parse(fila["ModeloId"].ToString()), Nombre = fila["Marca"].ToString() }; Modelo modelo = new Modelo { Id = int.Parse(fila["ModeloId"].ToString()), Nombre = fila["Modelo"].ToString(), Marca = marca }; vehiculo.Modelo = modelo; CategoriaVehiculo categoriaVehiculo = new CategoriaVehiculo { Id = int.Parse(fila["CategoriaVehiculoId"].ToString()), Nombre = fila["Categoria"].ToString() }; vehiculo.Categoria = categoriaVehiculo; TipoVehiculo tipoVehiculo = new TipoVehiculo { Id = int.Parse(fila["TipoVehiculoId"].ToString()), Nombre = fila["Tipo"].ToString() }; vehiculo.Tipo = tipoVehiculo; carritoDetalle.Vehiculo = vehiculo; detalles.Add(carritoDetalle); } carrito.Detalles = detalles; return(carrito); }