/// <summary> /// Filtra e ordena os dados /// </summary> /// <param name="pagina">Posição da página atual sendo exibida</param> /// <param name="qtdLinhas">Quantidade de registro por páginas</param> /// <param name="busca">Palavra a ser buscada em todos os campos</param> /// <param name="campoOrdenacao">Campo a ser ordenado</param> /// <param name="tipoOrdenacao">Tipo de ordenação : asc / desc</param> /// <returns>Retorna apenas os dados que devem ser exibidos na página atual. /// </returns> public DadosPaginados ListarPaginado(int pagina, int qtdLinhas, string busca, string campoOrdenacao, string tipoOrdenacao) { //Calcula o registro inicial a ser mostrado com base na página atual e a qtd de linhas a ser exibida na mesma. int registroInicial = (pagina - 1) * qtdLinhas; campoOrdenacao += tipoOrdenacao.ToUpper().Equals("DESC") ? " DESCENDING" : ""; // var dadosFiltrados = contexto.Planos.Where(a => // (busca == null || // a.QuantidadeDias.ToString().Contains(busca.ToUpper())) // ); // var distinctPeople = contexto.Meses.GroupBy(p => p.Data).Select(g => g.First()).ToList(); var meses = contexto.Meses.Select(m => new DateTime(m.Data.Year, m.Data.Month, 1)).Distinct().ToList(); // var meses2 = meses.OrderByDescending(m => m.Year).ThenByDescending(m => m.Month).ToList(); // var dadosFiltrados = contexto.Meses.Select(m => new DateTime(m.Data.Year, m.Data.Month, 1)).Distinct(); var dadosFiltrados = meses.OrderByDescending(x => x.Date); DadosPaginados dadosPaginados = new DadosPaginados(); dadosPaginados.Pagina = pagina; dadosPaginados.QuantidadePorPagina = qtdLinhas; dadosPaginados.Total = dadosFiltrados.Count(); if (qtdLinhas < 0) { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).ToList(); } else { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).Take(qtdLinhas).ToList(); } return(dadosPaginados); }
/// <summary> /// Filtra e ordena os dados /// </summary> /// <param name="pagina">Posição da página atual sendo exibida</param> /// <param name="qtdLinhas">Quantidade de registro por páginas</param> /// <param name="busca">Palavra a ser buscada em todos os campos</param> /// <param name="campoOrdenacao">Campo a ser ordenado</param> /// <param name="tipoOrdenacao">Tipo de ordenação : asc / desc</param> /// <returns>Retorna apenas os dados que devem ser exibidos na página atual. /// </returns> public DadosPaginados ListarPaginado(int pagina, int qtdLinhas, string busca, string campoOrdenacao, string tipoOrdenacao) { //Calcula o registro inicial a ser mostrado com base na página atual e a qtd de linhas a ser exibida na mesma. int registroInicial = (pagina - 1) * qtdLinhas; campoOrdenacao += tipoOrdenacao.ToUpper().Equals("DESC") ? " DESCENDING" : ""; var dadosFiltrados = contexto.Planos.Where(a => a.Excluido == false && (busca == null || a.QuantidadeDias.ToString().Contains(busca.ToUpper())) ); dadosFiltrados = dadosFiltrados.OrderBy(campoOrdenacao); DadosPaginados dadosPaginados = new DadosPaginados(); dadosPaginados.Pagina = pagina; dadosPaginados.QuantidadePorPagina = qtdLinhas; dadosPaginados.Total = dadosFiltrados.Count(); if (qtdLinhas < 0) { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).ToList(); } else { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).Take(qtdLinhas).ToList(); } return(dadosPaginados); }
public DadosPaginados ListarPaginado(int inicio, int tamanho, string busca, string campoOrdenacao, string tipoOrdenacao) { campoOrdenacao += tipoOrdenacao.ToUpper().Equals("DESC") ? " DESCENDING" : ""; var dadosFiltrados = LeilaoContexto.Lances.Where(i => (busca == null) || (i.Pessoa.Nome.ToUpper().Contains(busca.ToUpper())) ).Include("Pessoa").Include("Produto") .Select(i => new { i.Id, nomePessoa = i.Pessoa.Nome, nomeProduto = i.Produto.Nome, valor = i.Valor }); dadosFiltrados = dadosFiltrados.OrderBy(campoOrdenacao); DadosPaginados dadosPaginados = new DadosPaginados(); dadosPaginados.QuantidadePorPagina = tamanho; dadosPaginados.Total = dadosFiltrados.Count(); if (tamanho < 0) { dadosPaginados.Dados = dadosFiltrados.Skip(inicio).ToList(); } else { dadosPaginados.Dados = dadosFiltrados.Skip(inicio).Take(tamanho).ToList(); } return(dadosPaginados); }
/// <summary> /// Filtra e ordena os dados /// </summary> /// <param name="pagina">Posição da página atual sendo exibida</param> /// <param name="qtdLinhas">Quantidade de registro por páginas</param> /// <param name="busca">Palavra a ser buscada em todos os campos</param> /// <param name="campoOrdenacao">Campo a ser ordenado</param> /// <param name="tipoOrdenacao">Tipo de ordenação : asc / desc</param> /// <returns>Retorna apenas os dados que devem ser exibidos na página atual. /// </returns> public DadosPaginados ListarPaginado(int pagina, int qtdLinhas, string busca, string campoOrdenacao, string tipoOrdenacao, Enums.Status?status, Enums.Situacao?situacao) { //Calcula o registro inicial a ser mostrado com base na página atual e a qtd de linhas a ser exibida na mesma. int registroInicial = (pagina - 1) * qtdLinhas; campoOrdenacao += tipoOrdenacao.ToUpper().Equals("DESC") ? " DESCENDING" : ""; var dadosFiltrados = contexto.Alunos.Include(x => x.Meses).Where(a => ((status.Value == Enums.Status.Todos) || (status.Value == Enums.Status.Ativos && a.Ativo) || (status.Value == Enums.Status.Inativos && a.Ativo == false)) && ( situacao.HasValue == false || (situacao.Value == Enums.Situacao.Todos) || (situacao.Value == Enums.Situacao.PagamentoEmDia && a.Meses.Any(m => m.Pago == false && m.Data.CompareTo(DateTime.Now) < 0) == false) || (situacao.Value == Enums.Situacao.Devendo && a.Meses.Any(m => m.Pago == false && m.Data.CompareTo(DateTime.Now) < 0) == true) ) && (busca == null || a.Nome.ToUpper().Contains(busca.ToUpper())) ); dadosFiltrados = dadosFiltrados.OrderBy(campoOrdenacao); foreach (var aluno in dadosFiltrados) { aluno.Meses = aluno.Meses.OrderByDescending(m => m.Data).ToList(); aluno.Devendo = aluno.Meses.Any(m => m.Pago == false && m.Data.CompareTo(DateTime.Now) < 0); } DadosPaginados dadosPaginados = new DadosPaginados(); dadosPaginados.Pagina = pagina; dadosPaginados.QuantidadePorPagina = qtdLinhas; dadosPaginados.Total = dadosFiltrados.Count(); if (qtdLinhas < 0) { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).ToList(); } else { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).Take(qtdLinhas).ToList(); } return(dadosPaginados); }
/// <summary> /// Filtra e ordena os dados /// </summary> /// <param name="pagina">Posição da página atual sendo exibida</param> /// <param name="qtdLinhas">Quantidade de registro por páginas</param> /// <param name="busca">Palavra a ser buscada em todos os campos</param> /// <param name="campoOrdenacao">Campo a ser ordenado</param> /// <param name="tipoOrdenacao">Tipo de ordenação : asc / desc</param> /// <returns>Retorna apenas os dados que devem ser exibidos na página atual. /// </returns> public DadosPaginados ListarPaginado(int pagina, int qtdLinhas, string busca, string campoOrdenacao, string tipoOrdenacao, TipoLog?tipo) { //Calcula o registro inicial a ser mostrado com base na página atual e a qtd de linhas a ser exibida na mesma. int registroInicial = (pagina - 1) * qtdLinhas; campoOrdenacao += tipoOrdenacao.ToUpper().Equals("DESC") ? " DESCENDING" : ""; var dadosFiltrados = contexto.Logs.Where(p => (tipo.HasValue == false || tipo.Value == 0 || p.TipoLog == tipo) && ( busca == null || p.Descricao.Contains(busca) || p.Ip.Contains(busca) || p.Data.ToString().Contains(busca) || p.NomeUsuario.Contains(busca) || p.TipoLog.ToString().Contains(busca)) ); dadosFiltrados = dadosFiltrados.OrderBy(campoOrdenacao); DadosPaginados dadosPaginados = new DadosPaginados(); dadosPaginados.Pagina = pagina; dadosPaginados.QuantidadePorPagina = qtdLinhas; dadosPaginados.Total = dadosFiltrados.Count(); if (qtdLinhas < 0) { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).ToList(); } else { dadosPaginados.Dados = dadosFiltrados.Skip(registroInicial).Take(qtdLinhas).ToList(); } foreach (Log l in dadosPaginados.Dados) { l.StatusAnterior = ""; l.StatusAtual = ""; } return(dadosPaginados); }