public IPagedList <ITarefa> Paged(ITarefaParameter parameter) { var query = _context.Set <TarefaData>().Where(x => !x.DeletedDate.HasValue); if (!string.IsNullOrWhiteSpace(parameter.Titulo)) { query = query.Where(x => x.Titulo.Contains(parameter.Titulo)); } if (parameter.Concluida.HasValue) { if (parameter.Concluida.Value) { query = query.Where(x => x.DataConclusao.HasValue); } else { query = query.Where(x => !x.DataConclusao.HasValue); } } var count = query.Count(); var models = query .OrderBy(x => x.Titulo) .Skip(parameter.PageSize * (parameter.PageNumber - 1)) .Take(parameter.PageSize) .ProjectTo <Tarefa>() .ToList(); return(new PagedList <ITarefa>(models, count, parameter.PageNumber, parameter.PageSize)); }
public IPagedList <TarefaDTO> Paginar(ITarefaParameter parameter) { var paged = _tarefaRepository.Paged(parameter); return(Mapper.Map <PagedList <TarefaDTO> >(paged)); }