Ejemplo n.º 1
0
        /// <summary>
        /// Método para realizar la compra de un producto
        /// </summary>
        /// <param name="oProducto">Objeto con los datos del producto</param>
        /// <param name="iIdCompra">ID de la compra</param>
        public void RealizarCompraDirecta(ProductosCompraDTO oProducto, int iIdCompra)
        {
            tbl_DetalleCompra _oDetalleCompra = new tbl_DetalleCompra()
            {
                iIdCompra   = iIdCompra,
                iIdProducto = oProducto.iIdProducto,
                iCantidad   = oProducto.iCantidadSeleccion
            };

            db.Entry(_oDetalleCompra).State = EntityState.Added;

            tblCat_Producto _oProducto = db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == _oDetalleCompra.iIdProducto);

            _oProducto.iCantidad -= _oDetalleCompra.iCantidad;

            db.Entry(_oProducto).State = EntityState.Modified;

            db.SaveChanges();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Método para realizar la compra desde el carrito
        /// </summary>
        /// <param name="iIdCarrito">ID del carrito</param>
        /// <param name="iIdCompra">ID de la compra</param>
        public void RealizarCompraCarrito(int iIdCarrito, int iIdCompra)
        {
            List <ProductosCompraDTO> _lstProductos = ObtenerProductosCompra(iIdCarrito);

            foreach (var _producto in _lstProductos)
            {
                tbl_DetalleCompra _oDetalleCompra = new tbl_DetalleCompra();

                _oDetalleCompra.iIdCompra   = iIdCompra;
                _oDetalleCompra.iIdProducto = _producto.iIdProducto;
                _oDetalleCompra.iCantidad   = _producto.iCantidadSeleccion;

                db.Entry(_oDetalleCompra).State = EntityState.Added;

                tblCat_Producto _oProducto = db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == _producto.iIdProducto);
                _oProducto.iCantidad -= _producto.iCantidadSeleccion;

                db.Entry(_oProducto).State = EntityState.Modified;
            }
            db.SaveChanges();
        }