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; } }