public async Task <IList <Artista> > Filtro(ArtistaFiltro filtro)
        {
            var artistaQuery = DbSet.AsNoTracking();

            if (filtro != null)
            {
                if (!string.IsNullOrEmpty(filtro.Nome))
                {
                    artistaQuery = artistaQuery.Where(a => a.Nome.Contains(filtro.Nome));
                }
            }

            return(await artistaQuery.ToListAsync());
        }
        public async Task <IActionResult> Excel([FromQuery] ArtistaFiltro filtro)
        {
            var artistas = await _artistaRepository.Filtro(filtro);

            using (var wb = new XLWorkbook())
            {
                var ws         = wb.AddWorksheet("Artistas");
                var linhaAtual = 1;
                ws.Cell(linhaAtual, (int)ArtistaColumns.Nome).Value           = "Nome";
                ws.Cell(linhaAtual, (int)ArtistaColumns.Nome).Style.Font.Bold = true;

                foreach (var artista in artistas)
                {
                    linhaAtual++;
                    ws.Cell(linhaAtual, (int)ArtistaColumns.Nome).Value = artista.Nome;
                }

                return(await GerarArquivoExcel(wb, "artistas.xlsx"));
            }
        }
 public async Task <IList <ArtistaViewModel> > GetAll([FromQuery] ArtistaFiltro filtro)
 {
     return(_mapper.Map <IList <ArtistaViewModel> >(await _artistaRepository.Filtro(filtro)));
 }