public Paginacao <Unidade_TipoPacto> Buscar(UnidadeTipoPactoFiltro filtro) { var retorno = new Paginacao <Unidade_TipoPacto>(); var query = DbSet.AsQueryable(); if (filtro.IncludeTipoPacto) { query.Include("TipoPacto"); } if (filtro.IncludeUnidade) { query.Include("Unidade"); } query = !string.IsNullOrWhiteSpace(filtro.DescTipoPacto) ? query.Where(x => x.TipoPacto.DescTipoPacto.ToLower().Contains(filtro.DescTipoPacto.ToLower())) : query; query = !string.IsNullOrWhiteSpace(filtro.NomeUnidade) ? query.Where(x => x.Unidade.Nome.ToLower().Contains(filtro.NomeUnidade.ToLower())) : query; query = filtro.IdUnidade.HasValue && filtro.IdUnidade != 0 ? query.Where(x => x.IdUnidade == filtro.IdUnidade) : query; query = filtro.IdTipoPacto.HasValue && filtro.IdTipoPacto != 0 ? query.Where(x => x.IdTipoPacto == filtro.IdTipoPacto) : query; query = filtro.Id.HasValue && filtro.Id != 0 ? query.Where(x => x.IdUnidade_TipoPacto == filtro.Id) : query; retorno.QtRegistros = query.Count(); if (filtro.Skip.HasValue && filtro.Take.HasValue) { retorno.Lista = filtro.OrdenarDescendente ? query.OrderByDescending(filtro.OrdenarPor).Skip(filtro.Skip.Value).Take(filtro.Take.Value).ToList() : query.OrderBy(filtro.OrdenarPor).Skip(filtro.Skip.Value).Take(filtro.Take.Value).ToList(); } else { retorno.Lista = query.ToList(); } return(retorno); }
public Paginacao <Unidade_TipoPacto> Buscar(UnidadeTipoPactoFiltro filtro) { return(_classRepository.Buscar(filtro)); }