コード例 #1
0
        public async Task <IActionResult> BuscarClientes(PesquisarClienteModel pesquisarClienteModel)
        {
            var pesquisaClientesRequest = new PesquisarClienteRequestDto
            {
                Nome = pesquisarClienteModel.Nome,
                CPF  = pesquisarClienteModel.CPF.RemoverDigitosNaoNumericos(),
            };

            var clientes = await _clienteServico.PesquisarClientes(pesquisaClientesRequest);

            var clientesModel = new List <ClienteModel>();

            if (clientes.Any())
            {
                clientesModel = clientes
                                .Select(cliente => MontarClineteModel(cliente))
                                .OrderBy(c => c.Nome)
                                .ToList();

                HttpContext.Session.SetObject("clientes", clientesModel);

                HttpContext.Session.SetInt32("pagina", 1);
            }

            pesquisarClienteModel.Clientes = clientesModel.Take(10);

            pesquisarClienteModel.PesquisaRealizada = true;

            return(View("Index", pesquisarClienteModel));
        }
コード例 #2
0
        public async Task <IEnumerable <Cliente> > PesquisarClientes(PesquisarClienteRequestDto pesquisarCliente)
        {
            var validacao = Validacoes.ValidarObjeto(new PesquisarClienteRequestDtoValidador().Validate(pesquisarCliente));

            var clientes = new List <Cliente>();

            if (!validacao.objetoValido)
            {
                return(clientes);
            }

            if (string.IsNullOrEmpty(pesquisarCliente.Nome) && string.IsNullOrEmpty(pesquisarCliente.CPF))
            {
                clientes = (await _clienteRepositorio.GetAll()).ToList();
                clientes = await RetornarCleintesComEndereco(clientes);
            }
            else if (string.IsNullOrEmpty(pesquisarCliente.Nome))
            {
                clientes = (await _clienteRepositorio.Search(c => c.CPF == pesquisarCliente.CPF)).ToList();
                clientes = await RetornarCleintesComEndereco(clientes);
            }
            else if (string.IsNullOrEmpty(pesquisarCliente.CPF))
            {
                clientes = (await _clienteRepositorio.Search(c => c.Nome.Contains(pesquisarCliente.Nome))).ToList();
                clientes = await RetornarCleintesComEndereco(clientes);
            }
            else
            {
                clientes = (await _clienteRepositorio.Search(c => c.Nome.Contains(pesquisarCliente.Nome) &&
                                                             c.CPF == pesquisarCliente.CPF)).ToList();
                clientes = await RetornarCleintesComEndereco(clientes);
            }

            return(clientes);
        }