示例#1
0
        public async Task <IList <FacturacionCompraDTO> > GetAll()
        {
            try
            {
                List <FacturacionCompraDTO> facturacionesCompras = await _compraRepository.FindAll()
                                                                   .Include(cliente => cliente.IdClienteNavigation).ThenInclude(tipo => tipo.IdTipoDocumentoNavigation)
                                                                   .Include(compraProducto => compraProducto.CompraProductos).ThenInclude(producto => producto.IdProductoNavigation).
                                                                   Select(compra => new FacturacionCompraDTO
                {
                    IdCompra          = compra.IdCompra,
                    CantidadProductos = compra.CompraProductos.Sum(p => p.Cantidad),
                    FechaCompra       = compra.Fecha.ToString("dd MMMM yyyy"),
                    ValorCompra       = compra.CompraProductos.Sum(p => p.IdProductoNavigation.Precio),
                    Cliente           = new ClienteDTO()
                    {
                        IdCliente       = compra.IdCliente,
                        Apellido        = compra.IdClienteNavigation.Apellido,
                        Nombre          = compra.IdClienteNavigation.Nombre,
                        Documento       = compra.IdClienteNavigation.Documento,
                        IdTipoDocumento = compra.IdClienteNavigation.IdTipoDocumento,
                        TipoDocumento   = compra.IdClienteNavigation.IdTipoDocumentoNavigation.Nombre
                    }
                }).ToListAsync();

                return(facturacionesCompras);
            }
            catch (Exception e)
            {
                throw e;
            }
        }