Beispiel #1
0
        public async Task <IEnumerable <ClienteDTO> > PesquisarAsync(FiltrosDaPesquisaDeClientesDTO filtros)
        {
            var query = _clientsContext.Clientes.AsQueryable();

            if (!string.IsNullOrWhiteSpace(filtros.Nome))
            {
                query = query.Where(x => x.Nome.ToUpper().Contains(filtros.Nome.ToUpper()));
            }

            if (filtros.DataDeNascimentoDe.HasValue)
            {
                query = query.Where(x => x.DataDeNascimento >= filtros.DataDeNascimentoDe);
            }

            if (filtros.DataDeNascimentoAte.HasValue)
            {
                query = query.Where(x => x.DataDeNascimento <= filtros.DataDeNascimentoAte);
            }

            if (filtros.SalarioDe.HasValue)
            {
                query = query.Where(x => x.Salario >= filtros.SalarioDe);
            }

            if (filtros.SalarioAte.HasValue)
            {
                query = query.Where(x => x.Salario <= filtros.SalarioAte);
            }

            return(await query.Select(x => new ClienteDTO
            {
                Id = x.Id,
                Nome = x.Nome,
                DataDeNascimento = x.DataDeNascimento,
                Salario = x.Salario
            }).ToListAsync()
                   .ConfigureAwait(false));
        }
Beispiel #2
0
        public async Task <IActionResult> GetAsync([FromQuery] FiltrosDaPesquisaDeClientesDTO filtros)
        {
            var clientes = await _servicoDePesquisaDeClientes.PesquisarAsync(filtros).ConfigureAwait(false);

            return(Ok(clientes));
        }
Beispiel #3
0
 public Task <IEnumerable <ClienteDTO> > PesquisarAsync(FiltrosDaPesquisaDeClientesDTO filtros)
 {
     return(_clienteRepository.PesquisarAsync(filtros));
 }