Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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"));
            }
        }
Exemplo n.º 3
0
 public async Task <IList <AlbumViewModel> > GetAll([FromQuery] AlbumFiltro filtro)
 {
     return(_mapper.Map <IList <AlbumViewModel> >(await _albumRepository.Filtro(filtro)));
 }