public async Task <VoidResult> Handle(DespachadoCommand request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta obj = await _ordenVentaRepository.GetOrdenVentaByIdyListProductos(request.OrdenVentaDto); List <Tienda_Inventario_Domain.Model.Servicio.ProductoPedido> productosPedidos = new List <Tienda_Inventario_Domain.Model.Servicio.ProductoPedido>(obj.ProductoPedidos); foreach (var item in productosPedidos) { Guid guid = new Guid(item.Producto_Id.ToString()); Tienda_Inventario_Domain.Model.Servicio.Producto objProducto = await _productoRepository.GetProductoBiId(guid); var cantidad = int.Parse(objProducto.Cantidad.Value.ToString()); var cantidadPedida = int.Parse(item.Cantidad); var cantActualizada = cantidad - cantidadPedida; string cantidadActualizada = cantActualizada.ToString(); objProducto.ActualizarCantidad(cantidadActualizada); await _ordenVentaRepository.UpdateProducto(objProducto); } Tienda_Inventario_Domain.Model.Servicio.OrdenVenta objOrden = await _ordenVentaRepository.GetOrdenVentaByIdy(obj.Id); objOrden.Despachado(); await _ordenVentaRepository.UpdateOrdenVenta(objOrden); await _unitOfWork.Commit(cancellationToken); return(new VoidResult()); }
public async Task <VoidResult> Handle(ListoParaDespachoCommand request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta obj = await _ordenVentaRepository.GetOrdenVentaByIdy(request.OrdenVentaDto); obj.ConsolidarOrdenVenta(); await _ordenVentaRepository.UpdateOrdenVenta(obj); await _unitOfWork.Commit(cancellationToken); return(new VoidResult()); }