public async Task <IList <Prestador> > Pesquisa(PrestadorFiltroTo filtro, PesquisaTo pesquisa) { var consulta = _db.Prestador .Where(p => //(string.IsNullOrEmpty(filtro.Nome) || EF.Functions.Like(p.Nome, $"%{filtro.Nome}%")) //&& (string.IsNullOrEmpty(filtro.Cnpj) || EF.Functions.Like(p.Cnpj, $"%{filtro.Cnpj}%")) && p.Situacao == SituacaoEnum.Ativo); if (pesquisa == null) { return(consulta.ToList()); } int excludedRows = 0; pesquisa.TotalRegistros = consulta.Count(); if (pesquisa.TamanhoPagina.HasValue && pesquisa.PaginaAtual.HasValue) { if (pesquisa.TotalRegistros <= pesquisa.TamanhoPagina || pesquisa.PaginaAtual <= 0) { pesquisa.PaginaAtual = 1; } excludedRows = (pesquisa.PaginaAtual.Value - 1) * pesquisa.TamanhoPagina.Value; } if (excludedRows > 0) { consulta = consulta.Skip(excludedRows); } if (pesquisa.TamanhoPagina.HasValue) { consulta = consulta.Take(pesquisa.TamanhoPagina.Value); } return(consulta.ToList()); }
public async Task <IList <Prestador> > Pesquisa(PrestadorFiltroTo filtro, PesquisaTo pesquisa) { return(await _prestadorRepository.Pesquisa(filtro, pesquisa)); }