public async Task <VoidResult> Handle(InsertOrdenVentaCommand request, CancellationToken cancellationToken) { //Tienda_Inventario_Domain.Model.Servicio.OrdenVenta ordenVenta // = await _ordenVentaRepository.GetOrdenVentaByFactura(request.OrdenVentaDTO.CodigoFactura.ToString()); //if (ordenVenta != null) //{ // return new VoidResult(); //} //else{ Dictionary <string, string> productosPedidosItems = new Dictionary <string, string>(); foreach (var item in request.OrdenVentaDTO.ProductoItems) { productosPedidosItems.Add(item.Producto_Id, item.Cantidad); } Tienda_Inventario_Domain.Model.Servicio.OrdenVenta obj = new Tienda_Inventario_Domain.Model.Servicio.OrdenVenta( request.OrdenVentaDTO.CodigoFactura, productosPedidosItems ); await _ordenVentaRepository.Insert(obj); await _unitOfWork.Commit(cancellationToken); return(new VoidResult()); //} }
public async Task <OrdenVentaDTO> Handle(GetOrdenVentaByIdyListaProductosQuery request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta ordenVenta = await _ordenVentaRepository.GetOrdenVentaByIdyListProductos(request.Id); if (ordenVenta == null) { return(null); } List <ProductoPedidoDTO> productoPedidos = new List <ProductoPedidoDTO>(); foreach (var productoPedido in ordenVenta.ProductoPedidos) { productoPedidos.Add(new ProductoPedidoDTO() { Id = productoPedido.Id, Cantidad = productoPedido.Cantidad, Producto_Id = productoPedido.Producto_Id }); } return(new OrdenVentaDTO() { Id = ordenVenta.Id, CodigoFactura = ordenVenta.CodigoFactura, Estado = ordenVenta.Estado.ToString(), ProductoItems = productoPedidos }); }
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()); }
public async Task <VoidResult> Handle(UpdateOrdenVentaCommand request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta obj = new Tienda_Inventario_Domain.Model.Servicio.OrdenVenta( request.OrdenVentaDTO.Id, request.OrdenVentaDTO.CodigoFactura ); await _ordenVentaRepository.UpdateOrdenVenta(obj); await _unitOfWork.Commit(cancellationToken); return(new VoidResult()); }
public async Task <OrdenVentaDTO> Handle(GetOrdenVentaByIdQuery request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta ordenVenta = await _ordenVentaRepository.GetOrdenVentaByIdyListProductos(request.Id); if (ordenVenta == null) { return(null); } return(new OrdenVentaDTO() { Id = ordenVenta.Id, CodigoFactura = ordenVenta.CodigoFactura }); }
public async Task <OrdenVentaDTO> Handle(GetOrdenVentaByIdyFacturaQuery request, CancellationToken cancellationToken) { Tienda_Inventario_Domain.Model.Servicio.OrdenVenta ordenVenta = await _ordenVentaRepository.GetOrdenVentaByFactura(request.Factura); if (ordenVenta == null) { return(null); } return(new OrdenVentaDTO() { Id = ordenVenta.Id, CodigoFactura = ordenVenta.CodigoFactura, Estado = ordenVenta.Estado.ToString() }); }