/// <summary> /// Método que elimina el producto seleccionado en el carrito. /// </summary> /// <param name="iIdProducto">La ID el producto que se eliminara del carrito.</param> /// <param name="iIdCarrito">La ID del carrito de la sesión.</param> public void EliminarProducto(int iIdProducto, int iIdCarrito) { tbl_DetalleCarrito _oDetalleCarrito = db.tbl_DetalleCarrito.AsNoTracking().FirstOrDefault(c => c.iIdCarrito == iIdCarrito && c.iIdProducto == iIdProducto); db.Entry(_oDetalleCarrito).State = EntityState.Deleted; db.SaveChanges(); }
/// <summary> /// Aumenta la cantidad del producto seleccionado. /// </summary> /// <param name="iIdProducto">Es la ID del producto que se agrega cantidad.</param> /// <param name="iIdCarrito">Es la ID del carrito de sesión.</param> public void AumentarCantidad(int iIdProducto, int iIdCarrito) { tbl_DetalleCarrito _oDetalleCarrito = db.tbl_DetalleCarrito.AsNoTracking().FirstOrDefault(c => c.iIdCarrito == iIdCarrito && c.iIdProducto == iIdProducto); _oDetalleCarrito.iCantidad++; db.Entry(_oDetalleCarrito).State = EntityState.Modified; db.SaveChanges(); }
/// <summary> /// En este método se agrega un producto al carrito, validando si ya existe el producto en el carrito. /// </summary> /// <param name="iIdProducto">Es la ID del producto que se desea agregar.</param> /// <param name="iIdCarrito">Es la ID del carrito donde se desea agregar el producto.</param> public bool AgregarAcarrito(int iIdProducto, int iIdCarrito) { bool lAgregar; if (db.tbl_DetalleCarrito.AsNoTracking().Any(c => c.iIdCarrito == iIdCarrito && c.iIdProducto == iIdProducto)) { tbl_DetalleCarrito _oDetalleCarrito = db.tbl_DetalleCarrito.AsNoTracking().FirstOrDefault(c => c.iIdCarrito == iIdCarrito && c.iIdProducto == iIdProducto); if (_oDetalleCarrito.iCantidad < db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == iIdProducto).iCantidad) { _oDetalleCarrito.iCantidad++; db.Entry(_oDetalleCarrito).State = EntityState.Modified; db.SaveChanges(); lAgregar = true; } else { lAgregar = false; } } else { tbl_DetalleCarrito oDetalleCarrito = new tbl_DetalleCarrito() { iIdCarrito = iIdCarrito, iIdProducto = iIdProducto, iCantidad = 1 }; db.tbl_DetalleCarrito.Add(oDetalleCarrito); db.SaveChanges(); lAgregar = true; } return(lAgregar); }