/// <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(); }
/// <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(); }