/// <summary>
        /// Obtem uma listra filtrada de clientes
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaEnderecosCliente(Guid idCliente, int pagina = 1)
        {
            RetornoObterListaDto <ClienteEnderecoDto> retornoDto = new RetornoObterListaDto <ClienteEnderecoDto>();

            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = false,
                Pagina               = pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (idCliente == Guid.Empty)
            {
                retornoDto.Mensagem = "O id do cliente é obrigatório para obter a lista de endereços";
                retornoDto.Retorno  = false;
            }
            else
            {
                requisicaoDto.ListaFiltros.Add("IDCLIENTE", idCliente.ToString());

                //Consumir o serviço
                ClienteEnderecoBll clienteEnderecoBll = new ClienteEnderecoBll(true);
                clienteEnderecoBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);
            }

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #2
0
        public void ObterIncluirEditarListaTaxas()
        {
            BaseRequisicaoDto requisicaoDto = new BaseRequisicaoDto();

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            // Obter a lista
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            taxaEntregaBll.ObterListaBairrosComTaxa(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            RequisicaoListaEntidadesDto <TaxaEntregaDto> requisicaoIncluirDto = new RequisicaoListaEntidadesDto <TaxaEntregaDto>()
            {
                Identificacao     = requisicaoDto.Identificacao,
                IdUsuario         = requisicaoDto.IdUsuario,
                ListaEntidadesDto = retornoDto.ListaEntidades
            };

            RetornoDto retornoIncluirDto = new RetornoDto();

            taxaEntregaBll.IncluirEditarLista(requisicaoIncluirDto, ref retornoIncluirDto);
            Assert.AreEqual(true, retornoDto.Retorno);
        }
        /// <summary>
        /// Obtem uma listra filtrada de clientes
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaNomeTelefone(string nomeTelefone)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = true,
                NumeroItensPorPagina = 20
            };

            RetornoObterListaDto <ClienteDto> retornoDto = new RetornoObterListaDto <ClienteDto>();

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(nomeTelefone))
            {
                requisicaoDto.ListaFiltros.Add("NOMETELEFONE", nomeTelefone.Trim());
            }
            else
            {
                retornoDto.Retorno  = false;
                retornoDto.Mensagem = "Nenhum filtro informado. Informe " +
                                      "um nome ou telefone para pesquisar os clientes.";
            }

            //Consumir o serviço
            ClienteBll clienteBll = new ClienteBll(true);

            clienteBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #4
0
        public void CrudUsuario()
        {
            RequisicaoEntidadeDto <UsuarioDto> requisicaoDto = new RequisicaoEntidadeDto <UsuarioDto>()
            {
                EntidadeDto = RetornarNovoUsuario()
            };

            string senhaCrip = "";

            UtilitarioBll.CriptografarSenha(requisicaoDto.EntidadeDto.Senha, ref senhaCrip);

            requisicaoDto.EntidadeDto.Senha = senhaCrip;

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            UsuarioBll usuarioBll = new UsuarioBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            usuarioBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.Nome = "Usuario atualizado " + DateTime.Now;
            usuarioBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <UsuarioDto> retornoObterDto    = new RetornoObterDto <UsuarioDto>();
            RequisicaoObterDto           requisicaoObterDto = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            usuarioBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <UsuarioDto> retornoObterListaDto = new RetornoObterListaDto <UsuarioDto>();

            usuarioBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            usuarioBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
        /// <summary>
        /// Obtem uma lista de endereços de cliente pelos IDs
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        internal bool ObterListaPorId(RequisicaoListaGuidsDto requisicaoDto, ref RetornoObterListaDto <ClienteEnderecoDto> retornoDto)
        {
            // Obter a query primária
            string mensagemErro = ""; IQueryable <ClienteEnderecoVo> query;

            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar os endereços de clientes: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaEnderecosClientePorId, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            List <ClienteEnderecoVo> listaVo     = query.Where(p => requisicaoDto.ListaGuids.Contains(p.Id)).ToList();
            List <CepVo>             listaCepsVo = new List <CepVo>();

            // Obter CEPs
            CepBll cepBll = new CepBll(false);

            if (!cepBll.ObterListaEnderecosPorId(listaVo.Select(p => p.IdCep).ToList(), ref listaCepsVo, ref mensagemErro))
            {
                retornoDto.Mensagem = mensagemErro;
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaEnderecosClientePorId, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            // Converter
            foreach (var clienteEndereco in listaVo)
            {
                CepVo cepDto = listaCepsVo.Where(p => p.Id == clienteEndereco.IdCep).FirstOrDefault();
                ClienteEnderecoDto clienteEnderecoDto = new ClienteEnderecoDto();
                if (!ConverterVoParaDto(clienteEndereco, ref clienteEnderecoDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = "Erro ao converter para DTO: " + mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaEnderecosClientePorId, clienteEndereco.Id, retornoDto.Mensagem);
                    return(false);
                }

                //Preencher dados do endereço
                clienteEnderecoDto.Endereco = new CepDto()
                {
                    Bairro     = cepDto == null ? "" : cepDto.Bairro,
                    Cep        = cepDto == null ? "" : cepDto.Cep,
                    Cidade     = cepDto == null ? "" : cepDto.Cidade,
                    Logradouro = cepDto == null ? "" : cepDto.Logradouro,
                    Id         = cepDto == null ? Guid.Empty : cepDto.Id
                };

                retornoDto.ListaEntidades.Add(clienteEnderecoDto);
            }

            return(true);
        }
Exemple #6
0
        public string ObterListaCepPorLogradouro(string logradouro, string cidade)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "LOGRADOURO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = false,
                Pagina               = 1,
                NumeroItensPorPagina = 5
            };

            if (!string.IsNullOrWhiteSpace(cidade))
            {
                requisicaoDto.ListaFiltros.Add("CIDADE", cidade.Trim());
            }

            if (!string.IsNullOrWhiteSpace(logradouro))
            {
                requisicaoDto.ListaFiltros.Add("LOGRADOURO", logradouro.Trim());
            }

            CepBll cepBll = new CepBll(true);
            RetornoObterListaDto <CepDto> retornoDto = new RetornoObterListaDto <CepDto>();

            cepBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            // Se não encontrar nada no banco, pesquisar online
            if (retornoDto.ListaEntidades.Count <= 0)
            {
                HttpClient client = new HttpClient()
                {
                    BaseAddress = new Uri("https://viacep.com.br/ws/")
                };

                cidade = string.IsNullOrWhiteSpace(cidade) ? "Americana" : cidade.Trim();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response = client.GetAsync($"SP/{cidade}/{logradouro.Replace(" ", "+")}/json").Result;

                if (response.IsSuccessStatusCode)
                {
                    try
                    {
                        retornoDto.ListaEntidades = response.Content.ReadAsAsync <List <CepDto> >().Result;
                        retornoDto.ListaEntidades.ForEach(o => o.Cidade = o.Localidade);
                    }
                    catch (Exception)
                    {
                        retornoDto.ListaEntidades = new List <CepDto>();
                    }
                }
            }

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #7
0
        /// <summary>
        /// Obtem uma listra filtrada de pedidos
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosPedidoModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATAINCLUSAO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (filtros.IdCliente != Guid.Empty && filtros.IdCliente != null)
            {
                requisicaoDto.ListaFiltros.Add("IDCLIENTE", filtros.IdCliente.ToString());
            }

            if (filtros.Tipo != TipoPedido.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)filtros.Tipo).ToString());
            }

            if (filtros.Total > 0)
            {
                requisicaoDto.ListaFiltros.Add("TOTAL", filtros.Total.ToString());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.PedidoIfood))
            {
                requisicaoDto.ListaFiltros.Add("PEDIDOIFOOD", filtros.PedidoIfood);
            }

            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOINICIO", filtros.DataInicio.Date.ToString());
            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOFIM", filtros.DataFim.Date.ToString());

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);
            RetornoObterListaDto <PedidoDto> retornoDto = new RetornoObterListaDto <PedidoDto>();

            pedidoBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            // o java script converte o fuso horário
            retornoDto.ListaEntidades.ForEach(p => p.DataInclusao = p.DataInclusao.AddHours(-4));

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        /// <summary>
        /// Obtem uma listra filtrada de produtos
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosProdutoModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = string.IsNullOrWhiteSpace(filtros.CampoOrdenacao) ? "" : filtros.CampoOrdenacao.Trim(),
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = (filtros.NumeroItensPagina == 0) ? 20 : filtros.NumeroItensPagina
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Descricao))
            {
                requisicaoDto.ListaFiltros.Add("DESCRICAO", filtros.Descricao.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Detalhes))
            {
                requisicaoDto.ListaFiltros.Add("DETALHES", filtros.Detalhes.Trim());
            }

            if (filtros.PrecoInicial > 0)
            {
                requisicaoDto.ListaFiltros.Add("PRECOMAIOR", filtros.PrecoInicial.ToString());
            }

            if (filtros.PrecoFinal > 0)
            {
                requisicaoDto.ListaFiltros.Add("PRECOMENOR", filtros.PrecoFinal.ToString());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (filtros.Tipo != TipoProduto.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)filtros.Tipo).ToString());
            }

            //Consumir o serviço
            ProdutoBll produtoBll = new ProdutoBll(true);
            RetornoObterListaDto <ProdutoDto> retornoDto = new RetornoObterListaDto <ProdutoDto>();

            produtoBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #9
0
        public void CrudFornecedor()
        {
            RequisicaoEntidadeDto <FornecedorDto> requisicaoDto = new RequisicaoEntidadeDto <FornecedorDto>()
            {
                EntidadeDto = RetornarNovoFornecedor()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            fornecedorBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.NomeFantasia = "Fornecedor atualizado " + DateTime.Now;
            fornecedorBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <FornecedorDto> retornoObterDto = new RetornoObterDto <FornecedorDto>();
            RequisicaoObterDto requisicaoObterDto           = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            fornecedorBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOMEFANTASIA",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <FornecedorDto> retornoObterListaDto = new RetornoObterListaDto <FornecedorDto>();

            fornecedorBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            fornecedorBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Exemple #10
0
        public void CrudMovimentoCaixa()
        {
            RequisicaoEntidadeDto <MovimentoCaixaDto> requisicaoDto = new RequisicaoEntidadeDto <MovimentoCaixaDto>()
            {
                EntidadeDto = RetornarNovoMovimentoCaixa()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            MovimentoCaixaBll movimentoCaixaBll = new MovimentoCaixaBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            movimentoCaixaBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.Justificativa = "Teste atualizado " + DateTime.Now;
            movimentoCaixaBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <MovimentoCaixaDto> retornoObterDto = new RetornoObterDto <MovimentoCaixaDto>();
            RequisicaoObterDto requisicaoObterDto = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            movimentoCaixaBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "JUSTIFICATIVA",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <MovimentoCaixaDto> retornoObterListaDto = new RetornoObterListaDto <MovimentoCaixaDto>();

            movimentoCaixaBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            movimentoCaixaBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Exemple #11
0
        public void CrudTaxaEntrega()
        {
            RequisicaoEntidadeDto <TaxaEntregaDto> requisicaoDto = new RequisicaoEntidadeDto <TaxaEntregaDto>()
            {
                EntidadeDto = RetornarNovoTaxaEntrega()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            taxaEntregaBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.BairroCidade = "Outro bairro";
            taxaEntregaBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <TaxaEntregaDto> retornoObterDto = new RetornoObterDto <TaxaEntregaDto>();
            RequisicaoObterDto requisicaoObterDto            = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            taxaEntregaBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "BAIRRO",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <TaxaEntregaDto> retornoObterListaDto = new RetornoObterListaDto <TaxaEntregaDto>();

            taxaEntregaBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            taxaEntregaBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Exemple #12
0
        public void CrudProduto()
        {
            RequisicaoEntidadeDto <ProdutoDto> requisicaoDto = new RequisicaoEntidadeDto <ProdutoDto>()
            {
                EntidadeDto = RetornarNovoProduto()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            ProdutoBll produtoBll = new ProdutoBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            produtoBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.Descricao = "Produto atualizado " + DateTime.Now;
            produtoBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <ProdutoDto> retornoObterDto    = new RetornoObterDto <ProdutoDto>();
            RequisicaoObterDto           requisicaoObterDto = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            produtoBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DESCRICAO",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <ProdutoDto> retornoObterListaDto = new RetornoObterListaDto <ProdutoDto>();

            produtoBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            produtoBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
        /// <summary>
        /// Obtem uma listra filtrada de fornecedores
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosFornecedorModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOMEFANTASIA",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.NomeFantasia))
            {
                requisicaoDto.ListaFiltros.Add("NOMEFANTASIA", filtros.NomeFantasia.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.RazaoSocial))
            {
                requisicaoDto.ListaFiltros.Add("RAZAOSOCIAL", filtros.RazaoSocial.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Cnpj))
            {
                requisicaoDto.ListaFiltros.Add("CNPJ", filtros.Cnpj.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.NomeFantasiaCnpj))
            {
                requisicaoDto.ListaFiltros.Add("NOMEFANTASIACNPJ", filtros.NomeFantasiaCnpj.Trim());
            }

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);
            RetornoObterListaDto <FornecedorDto> retornoDto = new RetornoObterListaDto <FornecedorDto>();

            fornecedorBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #14
0
        public void CrudSuporte()
        {
            RequisicaoEntidadeDto <SuporteDto> requisicaoDto = new RequisicaoEntidadeDto <SuporteDto>()
            {
                EntidadeDto = RetornarNovoSuporte()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            SuporteBll suporteBll = new SuporteBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            suporteBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <SuporteDto> retornoObterDto    = new RetornoObterDto <SuporteDto>();
            RequisicaoObterDto           requisicaoObterDto = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            suporteBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATADECRESCENTE",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <SuporteDto> retornoObterListaDto = new RetornoObterListaDto <SuporteDto>();

            suporteBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            suporteBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Exemple #15
0
        /// <summary>
        /// Obtem uma listra filtrada de entregas
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosPedidoEntregaModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATAINCLUSAO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = (filtros.NumeroItensPagina == 0) ? 20 : filtros.NumeroItensPagina
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Conferido))
            {
                requisicaoDto.ListaFiltros.Add("CONFERIDO", filtros.Conferido.Trim());
            }

            if (filtros.ValorRetorno != 0)
            {
                requisicaoDto.ListaFiltros.Add("VALORRETORNO", filtros.ValorRetorno.ToString());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (filtros.IdFuncionario != null && filtros.IdFuncionario == Guid.Empty)
            {
                requisicaoDto.ListaFiltros.Add("IDFUNCIONARIO", filtros.IdFuncionario.ToString());
            }

            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOINICIO", filtros.DataInicio.ToString());
            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOFIM", filtros.DataFim.ToString());

            //Consumir o serviço
            PedidoEntregaBll entregaBll = new PedidoEntregaBll(true);
            RetornoObterListaDto <PedidoEntregaDto> retornoDto = new RetornoObterListaDto <PedidoEntregaDto>();

            entregaBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #16
0
        /// <summary>
        /// Obtem uma listra filtrada de contas a receber
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosContaReceberModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "VENCIMENTO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Descricao))
            {
                requisicaoDto.ListaFiltros.Add("DESCRICAO", filtros.Descricao.Trim());
            }

            if (filtros.Status != StatusConta.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("STATUS", ((int)filtros.Status).ToString());
            }

            if (filtros.PrecoInicial > 0)
            {
                requisicaoDto.ListaFiltros.Add("PRECOMAIOR", filtros.PrecoInicial.ToString());
            }

            if (filtros.PrecoFinal > 0)
            {
                requisicaoDto.ListaFiltros.Add("PRECOMENOR", filtros.PrecoFinal.ToString());
            }

            requisicaoDto.ListaFiltros.Add("DATAINICIO" + filtros.PesquisarPor, filtros.DataInicio.Date.ToString());
            requisicaoDto.ListaFiltros.Add("DATAFIM" + filtros.PesquisarPor, filtros.DataFim.Date.ToString());

            //Consumir o serviço
            ContaReceberBll contaReceberBll = new ContaReceberBll(true);
            RetornoObterListaDto <ContaReceberDto> retornoDto = new RetornoObterListaDto <ContaReceberDto>();

            contaReceberBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        /// <summary>
        /// Chama a tela para incluir/alterar uma lista de taxas de entrega
        /// </summary>
        /// <returns></returns>
        public ActionResult ConfigurarTaxas()
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            //Taxas a serem incluídas
            List <TaxaEntregaModel> model          = new List <TaxaEntregaModel>();
            TaxaEntregaBll          taxaEntregaBll = new TaxaEntregaBll(false);
            BaseRequisicaoDto       requisicaoDto  = new BaseRequisicaoDto()
            {
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            // Obter a lista com bairros e taxas
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            if (!taxaEntregaBll.ObterListaBairrosComTaxa(requisicaoDto, ref retornoDto))
            {
                ViewBag.MensagemErro = retornoDto.Mensagem;
                return(View("Erro"));
            }

            // Converter e add a lista da model
            string mensagemErro = "";

            foreach (var tax in retornoDto.ListaEntidades)
            {
                TaxaEntregaModel taxaModel = new TaxaEntregaModel();
                if (!taxaModel.ConverterDtoParaModel(tax, ref mensagemErro))
                {
                    ViewBag.MensagemErro = mensagemErro;
                    return(View("Erro"));
                }

                model.Add(taxaModel);
            }

            TempData["Retorno"] = "INCLUINDO";

            //Chamar a view
            return(View(model));
        }
Exemple #18
0
        /// <summary>
        /// Obtem uma listra filtrada de clientes
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosClienteModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = (filtros.NumeroItensPagina == 0) ? 20 : filtros.NumeroItensPagina
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Nome))
            {
                requisicaoDto.ListaFiltros.Add("NOME", filtros.Nome.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Telefone))
            {
                requisicaoDto.ListaFiltros.Add("TELEFONE", filtros.Telefone.Trim().Replace("-", ""));
            }

            if (!string.IsNullOrWhiteSpace(filtros.Cpf))
            {
                requisicaoDto.ListaFiltros.Add("CPF", filtros.Cpf.Trim().Replace(".", "").Replace("-", ""));
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            //Consumir o serviço
            ClienteBll clienteBll = new ClienteBll(true);
            RetornoObterListaDto <ClienteDto> retornoDto = new RetornoObterListaDto <ClienteDto>();

            clienteBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #19
0
        /// <summary>
        /// Obtem uma listra filtrada de ceps
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosCepModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "CEP",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Cep))
            {
                requisicaoDto.ListaFiltros.Add("CEP", filtros.Cep.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Logradouro))
            {
                requisicaoDto.ListaFiltros.Add("LOGRADOURO", filtros.Logradouro.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Bairro))
            {
                requisicaoDto.ListaFiltros.Add("BAIRRO", filtros.Bairro.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Cidade))
            {
                requisicaoDto.ListaFiltros.Add("CIDADE", filtros.Cidade.Trim());
            }

            //Consumir o serviço
            CepBll cepBll = new CepBll(true);
            RetornoObterListaDto <CepDto> retornoDto = new RetornoObterListaDto <CepDto>();

            cepBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #20
0
        public string ObterListaFiltrada(FiltrosUsuarioModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Email))
            {
                requisicaoDto.ListaFiltros.Add("EMAIL", filtros.Email.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Nome))
            {
                requisicaoDto.ListaFiltros.Add("NOME", filtros.Nome.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterAdministrador))
            {
                requisicaoDto.ListaFiltros.Add("ADMINISTRADOR", filtros.ObterAdministrador.Trim());
            }

            //Consumir o serviço
            UsuarioBll usuarioBll = new UsuarioBll(true);
            RetornoObterListaDto <UsuarioDto> retornoDto = new RetornoObterListaDto <UsuarioDto>();

            usuarioBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #21
0
        /// <summary>
        /// Retorna uma lista de funcinários de acordo com o tipo passado
        /// </summary>
        /// <returns></returns>
        public static List <SelectListItem> RetornarListaFuncionarios(TipoFuncionario tipo)
        {
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem         = "NOME",
                Identificacao      = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario          = SessaoUsuario.SessaoLogin.IdUsuario,
                NaoPaginarPesquisa = true,
            };

            if (tipo != TipoFuncionario.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)tipo).ToString());
            }

            requisicaoDto.ListaFiltros.Add("INATIVO", "false");

            FuncionarioBll funcionarioBll = new FuncionarioBll(false);
            RetornoObterListaDto <FuncionarioDto> retornoDto = new RetornoObterListaDto <FuncionarioDto>();

            if (!funcionarioBll.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(null);
            }

            List <SelectListItem> listaRetorno = new List <SelectListItem>();

            listaRetorno.Add(new SelectListItem()
            {
                Value = "null",
                Text  = "Todos"
            });

            foreach (var func in retornoDto.ListaEntidades)
            {
                listaRetorno.Add(new SelectListItem()
                {
                    Value = func.Id.ToString(),
                    Text  = func.Nome
                });
            }

            return(listaRetorno);
        }
Exemple #22
0
        /// <summary>
        /// Obtem uma listra filtrada de logs
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosLogModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATAINCLUSAO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 10
            };

            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOINICIAL", filtros.DataInicial.ToString());
            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOFINAL", filtros.DataFinal.ToString());

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Mensagem))
            {
                requisicaoDto.ListaFiltros.Add("MENSAGEM", filtros.Mensagem.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.IdUsuario))
            {
                requisicaoDto.ListaFiltros.Add("IDUSUARIO", filtros.IdUsuario.ToString());
            }

            if (filtros.Recurso != PizzaByteEnum.Enumeradores.LogRecursos.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("RECURSO", ((int)filtros.Recurso).ToString());
            }

            //Consumir o serviço
            LogBll logBll = new LogBll("LogController");
            RetornoObterListaDto <LogDto> retornoDto = new RetornoObterListaDto <LogDto>();

            logBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #23
0
        /// <summary>
        /// Obtem uma listra filtrada de funcionarios
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosFuncionarioModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Nome))
            {
                requisicaoDto.ListaFiltros.Add("NOME", filtros.Nome.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (filtros.Tipo != TipoFuncionario.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)filtros.Tipo).ToString());
            }


            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);
            RetornoObterListaDto <FuncionarioDto> retornoDto = new RetornoObterListaDto <FuncionarioDto>();

            funcionarioBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        /// <summary>
        /// Obtem uma listra filtrada de taxas de entrega
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosTaxaEntregaModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = string.IsNullOrWhiteSpace(filtros.CampoOrdenacao) ? "" : filtros.CampoOrdenacao.Trim(),
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Bairro))
            {
                requisicaoDto.ListaFiltros.Add("BAIRRO", filtros.Bairro.Trim());
            }

            if (filtros.TaxaInicial > 0)
            {
                requisicaoDto.ListaFiltros.Add("VALORTAXAMAIOR", filtros.TaxaInicial.ToString());
            }

            if (filtros.TaxaFinal > 0)
            {
                requisicaoDto.ListaFiltros.Add("VALORTAXAMENOR", filtros.TaxaFinal.ToString());
            }

            //Consumir o serviço
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            taxaEntregaBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        /// <summary>
        /// Obtem as movimentações de caixa do dia
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public string ObterMovimentosDia(DateTime dataCaixa)
        {
            //Preparar a requisição e o retorno
            RetornoObterListaDto <MovimentoCaixaDto> retornoDto = new RetornoObterListaDto <MovimentoCaixaDto>();
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                NaoPaginarPesquisa = true,
                Identificacao      = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario          = SessaoUsuario.SessaoLogin.IdUsuario
            };

            requisicaoDto.ListaFiltros.Add("DATAINCLUSAO", dataCaixa.Date.ToString("dd/MM/yyyy"));

            //Consumir o serviço
            MovimentoCaixaBll movimentoCaixaBll = new MovimentoCaixaBll(true);

            movimentoCaixaBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            //Tratar o retorno
            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #26
0
        /// <summary>
        /// Obtem uma listra filtrada de mensagens
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterLista(BaseFiltrosModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATADECRESCENTE",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = false,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 5
            };

            //Consumir o serviço
            SuporteBll suporteBll = new SuporteBll(true);
            RetornoObterListaDto <SuporteDto> retornoDto = new RetornoObterListaDto <SuporteDto>();

            suporteBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        /// <summary>
        /// Obtém uma lista de clienteEnderecoes com filtros aplicados, podendo ser paginada
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public override bool ObterListaFiltrada(RequisicaoObterListaDto requisicaoDto, ref RetornoObterListaDto <ClienteEnderecoDto> retornoDto)
        {
            if (!base.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(false);
            }

            // Obter a query primária
            string mensagemErro = ""; IQueryable <ClienteEnderecoVo> query;

            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar os endereços de clientes: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaClienteEndereco, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            // Aplicar os filtros
            foreach (var filtro in requisicaoDto.ListaFiltros)
            {
                switch (filtro.Key)
                {
                case "IDCLIENTE":
                    Guid id;
                    if (!Guid.TryParse(filtro.Value, out id))
                    {
                        retornoDto.Mensagem = $"Falha ao converter o filtro de 'IdCliente'.";
                        retornoDto.Retorno  = false;
                        return(false);
                    }

                    query = query.Where(p => p.IdCliente == id);
                    break;

                case "IDCEP":
                    Guid idCep;
                    if (!Guid.TryParse(filtro.Value, out idCep))
                    {
                        retornoDto.Mensagem = $"Falha ao converter o filtro de 'IdCep'.";
                        retornoDto.Retorno  = false;
                        return(false);
                    }

                    query = query.Where(p => p.IdCep == idCep);
                    break;

                case "INATIVO":

                    bool filtroInativo;
                    if (!bool.TryParse(filtro.Value, out filtroInativo))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'inativo'.";
                        retornoDto.Retorno  = false;
                        return(false);
                    }

                    query = query.Where(p => p.Inativo == filtroInativo);
                    break;

                default:
                    retornoDto.Mensagem = $"O filtro {filtro.Key} não está definido para esta pesquisa.";
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaClienteEndereco, Guid.Empty, retornoDto.Mensagem);
                    return(false);
                }
            }

            requisicaoDto.CampoOrdem = string.IsNullOrWhiteSpace(requisicaoDto.CampoOrdem) ? "" : requisicaoDto.CampoOrdem.ToUpper().Trim();
            switch (requisicaoDto.CampoOrdem)
            {
            case "IDCLIENTE":
                query = query.OrderBy(p => p.IdCliente).ThenBy(p => p.IdCep);
                break;

            case "IDCEP":
                query = query.OrderBy(p => p.IdCep).ThenBy(p => p.IdCliente);
                break;

            default:
                query = query.OrderBy(p => p.IdCliente).ThenBy(p => p.IdCep);
                break;
            }

            double totalItens = query.Count();

            if (totalItens == 0)
            {
                retornoDto.NumeroPaginas = 0;
                retornoDto.Mensagem      = "Nenhum resultado encontrado.";
                retornoDto.Retorno       = true;
                return(true);
            }

            double paginas = totalItens <= requisicaoDto.NumeroItensPorPagina ? 1 : totalItens / requisicaoDto.NumeroItensPorPagina;

            retornoDto.NumeroPaginas = (int)Math.Ceiling(paginas);

            int pular = (requisicaoDto.Pagina - 1) * requisicaoDto.NumeroItensPorPagina;

            query = query.Skip(pular).Take(requisicaoDto.NumeroItensPorPagina);

            List <ClienteEnderecoVo> listaVo     = query.ToList();
            List <CepVo>             listaCepsVo = new List <CepVo>();

            CepBll cepBll = new CepBll(false);

            if (!cepBll.ObterListaEnderecosPorId(listaVo.Select(p => p.IdCep).ToList(), ref listaCepsVo, ref mensagemErro))
            {
                retornoDto.Mensagem = mensagemErro;
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaClienteEndereco, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            foreach (var clienteEndereco in listaVo)
            {
                CepVo cepDto = listaCepsVo.Where(p => p.Id == clienteEndereco.IdCep).FirstOrDefault();
                ClienteEnderecoDto clienteEnderecoDto = new ClienteEnderecoDto();
                if (!ConverterVoParaDto(clienteEndereco, ref clienteEnderecoDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = "Erro ao converter para DTO: " + mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaClienteEndereco, clienteEndereco.Id, retornoDto.Mensagem);
                    return(false);
                }

                //Preencher dados do endereço
                clienteEnderecoDto.Endereco = new CepDto()
                {
                    Bairro     = cepDto == null ? "" : cepDto.Bairro,
                    Cep        = cepDto == null ? "" : cepDto.Cep,
                    Cidade     = cepDto == null ? "" : cepDto.Cidade,
                    Logradouro = cepDto == null ? "" : cepDto.Logradouro,
                    Id         = cepDto == null ? Guid.Empty : cepDto.Id
                };

                retornoDto.ListaEntidades.Add(clienteEnderecoDto);
            }

            retornoDto.Mensagem = "Ok";
            retornoDto.Retorno  = true;
            return(true);
        }
Exemple #28
0
        /// <summary>
        /// Obtém uma lista de CEPs com filtros aplicados, podendo ser paginada
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public override bool ObterListaFiltrada(RequisicaoObterListaDto requisicaoDto, ref RetornoObterListaDto <CepDto> retornoDto)
        {
            if (!base.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(false);
            }

            string             mensagemErro = "";
            IQueryable <CepVo> query;

            // Obter a query primária
            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar os CEPs: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaCep, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            // Aplicar os filtros
            foreach (var filtro in requisicaoDto.ListaFiltros)
            {
                switch (filtro.Key)
                {
                case "CEP":
                    string cep = filtro.Value.Replace("-", "");
                    query = query.Where(p => p.Cep.Contains(cep));
                    break;

                case "LOGRADOURO":
                    query = query.Where(p => p.Logradouro.Contains(filtro.Value));
                    break;

                case "CIDADE":
                    query = query.Where(p => p.Cidade.Contains(filtro.Value));
                    break;

                case "BAIRRO":
                    query = query.Where(p => p.Bairro.Contains(filtro.Value));
                    break;

                default:
                    retornoDto.Mensagem = $"O filtro {filtro.Key} não está definido para esta pesquisa.";
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaCep, Guid.Empty, retornoDto.Mensagem);
                    return(false);
                }
            }

            requisicaoDto.CampoOrdem = string.IsNullOrWhiteSpace(requisicaoDto.CampoOrdem) ? "" : requisicaoDto.CampoOrdem.ToUpper().Trim();
            switch (requisicaoDto.CampoOrdem)
            {
            case "LOGRADOURO":
                query = query.OrderBy(p => p.Logradouro).ThenBy(p => p.Bairro).ThenBy(p => p.Cidade);
                break;

            case "BAIRRO":
                query = query.OrderBy(p => p.Bairro).ThenBy(p => p.Cidade).ThenBy(p => p.Logradouro);
                break;

            case "CIDADE":
                query = query.OrderBy(p => p.Cidade).ThenBy(p => p.Logradouro).ThenBy(p => p.Bairro);
                break;

            default:
                query = query.OrderBy(p => p.Logradouro).ThenBy(p => p.Bairro).ThenBy(p => p.Cidade);
                break;
            }

            double totalItens = query.Count();

            if (totalItens == 0)
            {
                retornoDto.NumeroPaginas = 0;
                retornoDto.Mensagem      = "Nenhum resultado encontrado.";
                retornoDto.Retorno       = true;
                return(true);
            }

            double paginas = totalItens <= requisicaoDto.NumeroItensPorPagina ? 1 : totalItens / requisicaoDto.NumeroItensPorPagina;

            retornoDto.NumeroPaginas = (int)Math.Ceiling(paginas);

            int pular = (requisicaoDto.Pagina - 1) * requisicaoDto.NumeroItensPorPagina;

            query = query.Skip(pular).Take(requisicaoDto.NumeroItensPorPagina);

            List <CepVo> listaVo = query.ToList();

            foreach (var cep in listaVo)
            {
                CepDto cepDto = new CepDto();
                if (!ConverterVoParaDto(cep, ref cepDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = "Erro ao converter para DTO: " + mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaCep, cep.Id, retornoDto.Mensagem);
                    return(false);
                }

                retornoDto.ListaEntidades.Add(cepDto);
            }

            retornoDto.Mensagem = "Ok";
            retornoDto.Retorno  = true;
            return(true);
        }
Exemple #29
0
        /// <summary>
        /// Obtém uma lista de contas com filtros aplicados, podendo ser paginada
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public override bool ObterListaFiltrada(RequisicaoObterListaDto requisicaoDto, ref RetornoObterListaDto <ContaReceberDto> retornoDto)
        {
            if (!base.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(false);
            }

            string mensagemErro = "";
            IQueryable <ContaReceberVo> query;

            // Obter a query primária
            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar as contas: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            // Aplicar os filtros
            foreach (var filtro in requisicaoDto.ListaFiltros)
            {
                switch (filtro.Key)
                {
                case "DESCRICAO":
                    query = query.Where(p => p.Descricao.Contains(filtro.Value));
                    break;

                case "PRECOMAIOR":
                    float valorMaior;
                    if (!float.TryParse(filtro.Value, out valorMaior))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de preço (maior que).";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Valor >= valorMaior);
                    break;

                case "PRECOMENOR":
                    float valorMenor;
                    if (!float.TryParse(filtro.Value, out valorMenor))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de preço (menor que).";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Valor <= valorMenor);
                    break;

                case "VALOR":
                    float Valor;
                    if (!float.TryParse(filtro.Value, out Valor))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o valor da conta.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }
                    query = query.Where(p => p.Valor == Valor);
                    break;

                case "DATAINICIOCOMPETENCIA":

                    DateTime data;
                    if (!DateTime.TryParse(filtro.Value, out data))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de competência'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataCompetencia) >= data);
                    break;

                case "DATAFIMCOMPETENCIA":

                    DateTime dataFim;
                    if (!DateTime.TryParse(filtro.Value, out dataFim))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de competência'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataCompetencia) <= dataFim);
                    break;

                case "DATAINICIOVENCIMENTO":

                    DateTime dataVencimento;
                    if (!DateTime.TryParse(filtro.Value, out dataVencimento))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de vencimento'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataVencimento) >= dataVencimento);
                    break;

                case "DATAFIMVENCIMENTO":

                    DateTime dataFimVencimento;
                    if (!DateTime.TryParse(filtro.Value, out dataFimVencimento))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de vencimento'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataVencimento) <= dataFimVencimento);
                    break;

                case "DATAINICIOINCLUSAO":

                    DateTime dataInclusao;
                    if (!DateTime.TryParse(filtro.Value, out dataInclusao))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de inclusão'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataInclusao) >= dataInclusao);
                    break;

                case "DATAFIMINCLUSAO":

                    DateTime dataFimInclusao;
                    if (!DateTime.TryParse(filtro.Value, out dataFimInclusao))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de inclusão'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataInclusao) <= dataFimInclusao);
                    break;

                case "STATUS":

                    int status;
                    if (!int.TryParse(filtro.Value, out status))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de status.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Status == (StatusConta)status);
                    break;

                default:
                    retornoDto.Mensagem = $"O filtro {filtro.Key} não está definido para esta pesquisa.";
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, Guid.Empty, retornoDto.Mensagem);
                    return(false);
                }
            }

            requisicaoDto.CampoOrdem = string.IsNullOrWhiteSpace(requisicaoDto.CampoOrdem) ? "" : requisicaoDto.CampoOrdem.ToUpper().Trim();
            switch (requisicaoDto.CampoOrdem)
            {
            case "DESCRIÇÂO":
                query = query.OrderBy(p => p.Descricao).ThenBy(p => p.DataVencimento);
                break;

            case "VALOR":
                query = query.OrderBy(p => p.Valor).ThenBy(p => p.DataVencimento);
                break;

            case "VENCIMENTO":
                query = query.OrderBy(p => p.DataVencimento).ThenBy(p => p.Descricao);
                break;
            }

            double totalItens = query.Count();
            double paginas    = totalItens <= requisicaoDto.NumeroItensPorPagina ? 1 : totalItens / requisicaoDto.NumeroItensPorPagina;

            retornoDto.NumeroPaginas = (int)Math.Ceiling(paginas);

            int pular = (requisicaoDto.Pagina - 1) * requisicaoDto.NumeroItensPorPagina;

            query = query.Skip(pular).Take(requisicaoDto.NumeroItensPorPagina);

            if (totalItens == 0)
            {
                retornoDto.Mensagem = "Nenhum resultado encontrado.";
                retornoDto.Retorno  = true;
                return(true);
            }

            List <ContaReceberVo> listaVo = query.ToList();

            foreach (var contaReceber in listaVo)
            {
                ContaReceberDto contaReceberDto = new ContaReceberDto();
                if (!ConverterVoParaDto(contaReceber, ref contaReceberDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = "Erro ao converter para DTO: " + mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaContaReceber, contaReceber.Id, retornoDto.Mensagem);
                    return(false);
                }

                retornoDto.ListaEntidades.Add(contaReceberDto);
            }

            retornoDto.Mensagem = "Ok";
            retornoDto.Retorno  = true;
            return(true);
        }
Exemple #30
0
        /// <summary>
        /// Obtém uma lista de pedidos com filtros aplicados, podendo ser paginada
        /// </summary>
        /// <param name="requisicaoDto"></param>
        /// <param name="retornoDto"></param>
        /// <returns></returns>
        public override bool ObterListaFiltrada(RequisicaoObterListaDto requisicaoDto, ref RetornoObterListaDto <PedidoDto> retornoDto)
        {
            if (!base.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(false);
            }

            string mensagemErro = "";
            IQueryable <PedidoVo> query;

            // Obter a query primária
            if (!this.ObterQueryBd(out query, ref mensagemErro))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar os pedidos: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            // Aplicar os filtros
            foreach (var filtro in requisicaoDto.ListaFiltros)
            {
                switch (filtro.Key)
                {
                case "JUSTIFICATIVA":
                    query = query.Where(p => p.JustificativaCancelamento.Contains(filtro.Value));
                    break;

                case "TOTALMAIOR":
                    float totalMaior;
                    if (!float.TryParse(filtro.Value, out totalMaior))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de total (maior que).";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Total >= totalMaior);
                    break;

                case "TOTALMENOR":
                    float totalMenor;
                    if (!float.TryParse(filtro.Value, out totalMenor))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de total (menor que).";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Total <= totalMenor);
                    break;

                case "TOTAL":
                    float preco;
                    if (!float.TryParse(filtro.Value, out preco))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de preço.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Total == preco);
                    break;

                case "TAXAENTREGA":
                    float taxa;
                    if (!float.TryParse(filtro.Value, out taxa))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de taxa de entrega.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.TaxaEntrega == taxa);
                    break;

                case "TROCO":
                    float troco;
                    if (!float.TryParse(filtro.Value, out troco))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de preço.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Troco == troco);
                    break;

                case "IDCLIENTE":
                    Guid idCliente;
                    if (!Guid.TryParse(filtro.Value, out idCliente))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de id do cliente.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.IdCliente == idCliente);
                    break;

                case "RECEBIDOCARTAOCREDITO":

                    query = query.Where(p => p.RecebidoCredito > 0);
                    break;

                case "RECEBIDOCARTAODEBITO":

                    query = query.Where(p => p.RecebidoDebito > 0);
                    break;

                case "RECEBIDODINHEIRO":

                    query = query.Where(p => p.RecebidoDinheiro > 0);
                    break;

                case "TIPO":

                    int tipo;
                    if (!int.TryParse(filtro.Value, out tipo))
                    {
                        retornoDto.Mensagem = $"Problema ao converter o filtro de tipo.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Tipo == (TipoPedido)tipo);
                    break;

                case "PEDIDOIFOOD":

                    bool filtroifood;
                    if (!bool.TryParse(filtro.Value, out filtroifood))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'pedido ifood'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Inativo == filtroifood);
                    break;

                case "DATAINCLUSAOINICIO":

                    DateTime data;
                    if (!DateTime.TryParse(filtro.Value, out data))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de inclusão'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataInclusao) >= data);
                    break;

                case "DATAINCLUSAOFIM":

                    DateTime dataFim;
                    if (!DateTime.TryParse(filtro.Value, out dataFim))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'data de inclusão'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => DbFunctions.TruncateTime(p.DataInclusao) <= dataFim);
                    break;

                case "INATIVO":

                    bool filtroInativo;
                    if (!bool.TryParse(filtro.Value, out filtroInativo))
                    {
                        retornoDto.Mensagem = $"Fala ao converter o filtro de 'inativo'.";
                        retornoDto.Retorno  = false;

                        logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                        return(false);
                    }

                    query = query.Where(p => p.Inativo == filtroInativo);
                    break;

                default:
                    retornoDto.Mensagem = $"O filtro {filtro.Key} não está definido para esta pesquisa.";
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                    return(false);
                }
            }

            requisicaoDto.CampoOrdem = string.IsNullOrWhiteSpace(requisicaoDto.CampoOrdem) ? "" : requisicaoDto.CampoOrdem.ToUpper().Trim();
            switch (requisicaoDto.CampoOrdem)
            {
            case "DATAINCLUSAO":
                query = query.OrderBy(p => p.DataInclusao).ThenBy(p => p.Tipo).ThenBy(p => p.Total);
                break;

            case "TOTAL":
                query = query.OrderBy(p => p.Total).ThenBy(p => p.DataInclusao).ThenBy(p => p.Tipo);
                break;

            case "TIPO":
                query = query.OrderByDescending(p => p.Tipo).ThenBy(p => p.DataInclusao).ThenBy(p => p.Total);
                break;

            default:
                query = query.OrderBy(p => p.DataInclusao).ThenBy(p => p.Tipo).ThenBy(p => p.Total);
                break;
            }

            double totalItens = query.Count();

            if (totalItens == 0)
            {
                retornoDto.NumeroPaginas = 0;
                retornoDto.Mensagem      = "Nenhum resultado encontrado.";
                retornoDto.Retorno       = true;
                return(true);
            }

            double paginas = totalItens <= requisicaoDto.NumeroItensPorPagina ? 1 : totalItens / requisicaoDto.NumeroItensPorPagina;

            retornoDto.NumeroPaginas = (int)Math.Ceiling(paginas);

            int pular = (requisicaoDto.Pagina - 1) * requisicaoDto.NumeroItensPorPagina;

            query = query.Skip(pular).Take(requisicaoDto.NumeroItensPorPagina);

            List <PedidoVo>        listaVo    = query.ToList();
            ClienteBll             clienteBll = new ClienteBll(false);
            IQueryable <ClienteVo> queryCliente;

            // Obter a query primária
            if (!clienteBll.ObterQueryBd(out queryCliente, ref mensagemErro, true))
            {
                retornoDto.Mensagem = $"Houve um problema ao listar os pedidos: {mensagemErro}";
                retornoDto.Retorno  = false;

                logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, Guid.Empty, retornoDto.Mensagem);
                return(false);
            }

            List <Guid?>     listaIds     = listaVo.Where(p => p.IdCliente != null && p.IdCliente != Guid.Empty).Select(p => p.IdCliente).ToList();
            List <ClienteVo> listaCliente = queryCliente.Where(p => listaIds.Contains(p.Id)).ToList();

            foreach (var pedido in listaVo)
            {
                PedidoDto pedidoDto = new PedidoDto();
                if (!ConverterVoParaDto(pedido, ref pedidoDto, ref mensagemErro))
                {
                    retornoDto.Mensagem = "Erro ao converter para DTO: " + mensagemErro;
                    retornoDto.Retorno  = false;

                    logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaPedido, pedido.Id, retornoDto.Mensagem);
                    return(false);
                }

                if (pedidoDto.IdCliente != null && pedidoDto.IdCliente != Guid.Empty)
                {
                    ClienteVo cliente = listaCliente.Where(p => p.Id == pedidoDto.IdCliente).FirstOrDefault();
                    pedidoDto.NomeCliente = cliente == null ? "Cliente não encontrado" : cliente.Nome;
                }
                else
                {
                    pedidoDto.NomeCliente = "Cliente não identificado";
                }

                retornoDto.ListaEntidades.Add(pedidoDto);
            }

            retornoDto.Mensagem = "Ok";
            retornoDto.Retorno  = true;
            return(true);
        }