public async Task <IList <Album> > Filtro(AlbumFiltro filtro) { var albumQuery = DbSet.AsNoTracking(); if (filtro != null) { if (!string.IsNullOrEmpty(filtro.Titulo)) { albumQuery = albumQuery.Where(a => a.Titulo.Contains(filtro.Titulo)); } if (!string.IsNullOrEmpty(filtro.Artista)) { albumQuery = albumQuery.Where(a => a.Artista.Nome.Contains(filtro.Artista)); } } return(await albumQuery.Include(a => a.Artista).ToListAsync()); }
public async Task <IActionResult> Excel([FromQuery] AlbumFiltro filtro) { var albuns = await _albumRepository.Filtro(filtro); using (var wb = new XLWorkbook()) { var ws = wb.AddWorksheet("Álbuns"); var linhaAtual = 1; ws.Cell(linhaAtual, (int)AlbumColumns.Titulo).Value = "Título"; ws.Cell(linhaAtual, (int)AlbumColumns.Titulo).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)AlbumColumns.Artista).Value = "Artista"; ws.Cell(linhaAtual, (int)AlbumColumns.Artista).Style.Font.Bold = true; foreach (var album in albuns) { linhaAtual++; ws.Cell(linhaAtual, (int)AlbumColumns.Titulo).Value = album.Titulo; ws.Cell(linhaAtual, (int)AlbumColumns.Artista).Value = album.Artista.Nome; } return(await GerarArquivoExcel(wb, "albuns.xlsx")); } }
public async Task <IList <AlbumViewModel> > GetAll([FromQuery] AlbumFiltro filtro) { return(_mapper.Map <IList <AlbumViewModel> >(await _albumRepository.Filtro(filtro))); }