public Ventas CancelaVenta(CancelacionDto cancelacion) { string webApiUrl = WebApiMethods.CancelaVenta; Ventas venta = App.HttpTools.HttpPostObjectWithResponseDataAsync <CancelacionDto, Ventas>(webApiUrl, cancelacion, $"Error en la cancelación de la venta {cancelacion.folioVenta}").Result; return(venta); }
public IActionResult CancelaVenta([FromBody] CancelacionDto cancelacion) { try { Ventas venta = PosUoW.VentasRepository.GetVentaByFolio(cancelacion.folioVenta); if (venta != null) { venta.Estatus = 'C'; venta.idUsuarioCancela = cancelacion.idUsuario; foreach (VentaLote lote in venta.Lotes) { ProductosCompra compra = PosUoW.ProductosCompraRepository.GetById(a => a.idCompraProducto.Equals(lote.idProductoCompra)); if (compra != null) { compra.Restante += lote.cantidad; } lote.estatus = false; } foreach (ProductosVenta producto in venta.Productos) { producto.Estatus = false; Productos currentProduct = PosUoW.ProductosRepository.GetById(x => x.idProducto.Equals(producto.idProducto)); Almacenes principalWarehouse = PosUoW.AlmacenesRepository.GetSingleByCriteria(x => x.Principal); ProductoAlmacen almacen = PosUoW.ProductoAlmacenRepository.GetSingleByCriteria(x => x.idProducto.Equals(currentProduct.idProducto) && x.idAlmacen.Equals(principalWarehouse.idAlmacen)); almacen.Existencia += producto.Cantidad; } PosUoW.Save(); return(Ok(venta)); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public Ventas CancelaVenta(CancelacionDto cancelacion) { return(_salesServices.CancelaVenta(cancelacion)); }