Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public static void EliminarDetalle(CarritoDetalle detalle)
 {
     CarritoMapper.EliminarDetalle(detalle);
 }
Exemplo n.º 6
0
        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);
        }