Exemple #1
0
        /// <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();
        }
Exemple #2
0
        /// <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();
        }
Exemple #3
0
        /// <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);
        }