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)); }
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); }