示例#1
0
        public async Task <OkObjectResult> Get(int?usuarioId, int?cidadeId, int page, int pageCount)
        {
            var resultado = new RetornoListaDto <ParametrosDto>()
            {
                Status = ResultadoOperacao.Sucesso
            };
            ParametrosFiltroDto filtro = new ParametrosFiltroDto();

            filtro.CidadeId      = cidadeId;
            filtro.UsuarioId     = usuarioId;
            filtro.PaginaAtual   = page;
            filtro.TamanhoPagina = pageCount;

            PesquisaTo pesquisa = filtro.ObterPesquisa();

            IList <Parametros> requisicoes = await _parametrosService.Pesquisa(filtro.ToTrasferObject(), pesquisa);

            resultado.Objeto = requisicoes.Select(c => new ParametrosDto(c)).ToList();

            if (pesquisa != null)
            {
                resultado.TotalRegistros = pesquisa.TotalRegistros;
                resultado.PaginaAtual    = pesquisa.PaginaAtual;
                resultado.Ordenacao      = pesquisa.Ordenacao;
                resultado.TamanhoPagina  = pesquisa.TamanhoPagina;
            }
            else
            {
                resultado.TotalRegistros = resultado.Objeto.Count;
            }

            return(Ok(resultado));
        }
示例#2
0
        public IList <T> AplicarPesquisaOrdenada(PesquisaTo pesquisa, IQueryable <T> consulta)
        {
            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());
        }
示例#3
0
        public async Task <OkObjectResult> Get(string nome, string login, int page, int pageCount)
        {
            var resultado             = new RetornoListaDto <PrestadorDto>();
            PrestadorFiltroDto filtro = new PrestadorFiltroDto();

            filtro.Nome          = nome;
            filtro.PaginaAtual   = page;
            filtro.TamanhoPagina = pageCount;

            PesquisaTo pesquisa = filtro.ObterPesquisa();

            IList <Prestador> prestadores = await _prestadorService.Pesquisa(filtro.ToTransferObject(), pesquisa);

            resultado.Objeto = prestadores.Select(c => new PrestadorDto(c)).ToList();

            if (pesquisa != null)
            {
                resultado.TotalRegistros = pesquisa.TotalRegistros;
                resultado.PaginaAtual    = pesquisa.PaginaAtual;
                resultado.Ordenacao      = pesquisa.Ordenacao;
                resultado.TamanhoPagina  = pesquisa.TamanhoPagina;
            }
            else
            {
                resultado.TotalRegistros = resultado.Objeto.Count;
            }

            resultado.Status = ResultadoOperacao.Sucesso;

            return(Ok(resultado));
        }
        public async Task <OkObjectResult> Get(string numeroNota, int?referencia, int page, int pageCount)
        {
            var resultado = new RetornoListaDto <RequisicaoDto>()
            {
                Status = ResultadoOperacao.Sucesso
            };
            RequisicaoFiltroDto filtro = new RequisicaoFiltroDto();

            filtro.NumeroNota    = numeroNota;
            filtro.Referencia    = referencia;
            filtro.PaginaAtual   = page;
            filtro.TamanhoPagina = pageCount;

            PesquisaTo pesquisa = filtro.ObterPesquisa();

            IList <Requisicao> requisicoes = await _requisicaoService.Pesquisa(filtro.ToTrasferObject(), pesquisa);

            resultado.Objeto = requisicoes.Select(c => new RequisicaoDto(c)).ToList();

            if (pesquisa != null)
            {
                resultado.TotalRegistros = pesquisa.TotalRegistros;
                resultado.PaginaAtual    = pesquisa.PaginaAtual;
                resultado.Ordenacao      = pesquisa.Ordenacao;
                resultado.TamanhoPagina  = pesquisa.TamanhoPagina;
            }
            else
            {
                resultado.TotalRegistros = resultado.Objeto.Count;
            }

            return(Ok(resultado));
        }
示例#5
0
        public IList <T> AplicarPesquisa(PesquisaTo pesquisa, IQueryable <T> consulta, Expression <Func <T, TId> > ordenacaoPadrao = null)
        {
            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 (!string.IsNullOrWhiteSpace(pesquisa.Ordenacao))
            {
                consulta = OrderingHelper(consulta, pesquisa.Ordenacao, pesquisa.SentidoOrdenacao == SentidoOrdenacao.Descendente);
            }
            else
            {
                if (ordenacaoPadrao == null)
                {
                    ordenacaoPadrao = c => c.Id;
                }

                if (pesquisa.SentidoOrdenacao == SentidoOrdenacao.Ascendente)
                {
                    consulta = consulta.OrderBy(ordenacaoPadrao);
                }
                else
                {
                    consulta = consulta.OrderByDescending(ordenacaoPadrao);
                }
            }

            if (excludedRows > 0)
            {
                consulta = consulta.Skip(excludedRows);
            }

            if (pesquisa.TamanhoPagina.HasValue)
            {
                consulta = consulta.Take(pesquisa.TamanhoPagina.Value);
            }

            return(consulta.ToList());
        }
示例#6
0
        public async Task <IList <Requisicao> > Pesquisa(RequisicaoFiltroTo filtro, PesquisaTo pesquisa)
        {
            //return _db.Clientes
            //    .Where(p => (!p.EmpresaId.HasValue || p.EmpresaId == empresaId)
            //    && p.Situacao == SituacaoEnum.Ativo
            //    && (string.IsNullOrEmpty(nome) || EF.Functions.Like(p.Nome, $"%{nome}%"))
            //    && (string.IsNullOrEmpty(documento) || EF.Functions.Like(p.CpfCnpj, $"%{documento}%")))
            //    .OrderByDescending(o => o.Id)
            //    .AsNoTracking()
            //    .Take(15)
            //    .ToListAsync();

            var consulta = _db.Requisicao.Include(r => r.NotaFiscalAutorizada).Include(r => r.Cidade).Include(r => r.Prestador).Include(r => r.ServicoWsSoap)
                           .Where(p => (string.IsNullOrEmpty(filtro.NumeroNota) || (p.NotaFiscalAutorizada.Numero == filtro.NumeroNota)) &&
                                  (!filtro.Referencia.HasValue || (p.Referencia == filtro.Referencia)) && p.Situacao == Core.Infraestrutura.Enum.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());
        }
示例#7
0
        /* Async */

        public async Task <IList <Usuario> > Pesquisa(UsuarioFiltroTo filtro, PesquisaTo pesquisa)
        {
            var consulta = _db.Usuario
                           .Where(p => (string.IsNullOrEmpty(filtro.Login) || EF.Functions.Like(p.Login, $"%{filtro.Login}%")) &&
                                  (string.IsNullOrEmpty(filtro.Nome) || EF.Functions.Like(p.Nome, $"%{filtro.Nome}%")) && p.Situacao == SituacaoEnum.Ativo);

            //    .OrderByDescending(o => o.Id)
            //    .AsNoTracking()

            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());
        }
示例#8
0
        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());
        }
示例#9
0
        public async Task <IList <Parametros> > Pesquisa(ParametrosFiltroTo filtro, PesquisaTo pesquisa)
        {
            var consulta = _db.Parametros.Include(r => r.Cidade)
                           .Where(p => (p.Cidade.Id == filtro.CidadeId) &&
                                  p.Situacao == Core.Infraestrutura.Enum.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));
 }
示例#11
0
 public async Task <IList <Cidade> > Pesquisa(CidadeFiltroTo filtro, PesquisaTo pesquisa)
 {
     return(await _cidadeRepository.Pesquisa(filtro, pesquisa));
 }
示例#12
0
 public async Task <IList <Usuario> > Pesquisa(UsuarioFiltroTo filtro, PesquisaTo pesquisa)
 {
     return(await _usuarioRepository.Pesquisa(filtro, pesquisa));
 }
示例#13
0
 public async Task <IList <Requisicao> > Pesquisa(RequisicaoFiltroTo filtro, PesquisaTo pesquisa)
 {
     return(await _requisicaoRepository.Pesquisa(filtro, pesquisa));
 }
 public async Task <IList <Parametros> > Pesquisa(ParametrosFiltroTo filtro, PesquisaTo pesquisa)
 {
     return(await _parametrosRepository.Pesquisa(filtro, pesquisa));
 }