public GridDto <TarefaGridDto> CarregarGrid(int paginaAtual = 0, int itensPorPagina = 10, string filtro = null, TarefaGridFiltroAvancadoDto filtroAvancado = null, bool usarFiltroAvancado = false) { var gridDto = _tarefaAppService.CarregarGrid(paginaAtual, itensPorPagina, filtro, usarFiltroAvancado ? filtroAvancado : null); return(gridDto); }
public GridDto <TarefaGridDto> CarregarGrid(int numeroDaPagina, int registrosPorPagina, string filtro, TarefaGridFiltroAvancadoDto filtroAvancado = null) { var gridDto = new GridDto <TarefaGridDto>(); if (numeroDaPagina < 1) { numeroDaPagina = 1; } var query = _tarefaRepository.GetAll() .OrderBy(p => p.Titulo) .AsQueryable(); if (filtroAvancado != null) { if (!string.IsNullOrWhiteSpace(filtroAvancado.Titulo)) { query = query.Where(t => EF.Functions.Like(t.Titulo, $"%{filtroAvancado.Titulo}%")); } } else { query = query.Where(t => !t.Excluido); if (!string.IsNullOrWhiteSpace(filtro)) { query = query.Where(t => EF.Functions.Like(t.Titulo, $"%{filtro}%")); } } gridDto.TotalDeItensEncontrados = query.Count(); gridDto.Itens = query .Select(t => new TarefaGridDto() { Id = t.Id, Titulo = t.Titulo, Descricao = t.Descricao, DataDaUltimaAlteracao = t.DataDaUltimaAlteracao == null ? "" : ((DateTime)t.DataDaUltimaAlteracao).ToString("MM/dd/yyyy HH:mm"), DataDeCadastro = t.DataDeCadastro.ToString("MM/dd/yyyy HH:mm"), Excluido = t.Excluido }) .Skip((numeroDaPagina - 1) * registrosPorPagina) .Take(registrosPorPagina) .ToList(); return(gridDto); }