public ActionResult PesquisarClienteFornecedor(ClienteFornecedorPesquisaFiltro filtro, ClienteFornecedorModuloAutoComplete clienteFornecedorModulo, SituacaoAutoComplete situacao) { int totalRegistros = 0; List <ClienteFornecedorDTO> result = null; if (clienteFornecedorModulo == ClienteFornecedorModuloAutoComplete.Contrato) { if (situacao == SituacaoAutoComplete.Ativo) { result = clienteFornecedorAppService.PesquisarClientesDeContratoAtivosPeloFiltro(filtro, out totalRegistros); } } if (clienteFornecedorModulo == ClienteFornecedorModuloAutoComplete.OrdemCompra) { if (situacao == SituacaoAutoComplete.Ativo) { result = clienteFornecedorAppService.PesquisarClientesDeOrdemCompraAtivosPeloFiltro(filtro, out totalRegistros); } } if (clienteFornecedorModulo == ClienteFornecedorModuloAutoComplete.APagar) { if (situacao == SituacaoAutoComplete.Ativo) { result = clienteFornecedorAppService.PesquisarClientesAPagarAtivosPeloFiltro(filtro, out totalRegistros); } } if (clienteFornecedorModulo == ClienteFornecedorModuloAutoComplete.AReceber) { if (situacao == SituacaoAutoComplete.Ativo) { result = clienteFornecedorAppService.PesquisarClientesAReceberAtivosPeloFiltro(filtro, out totalRegistros); } } if (clienteFornecedorModulo == ClienteFornecedorModuloAutoComplete.Todos) { if (situacao == SituacaoAutoComplete.Ativo) { result = clienteFornecedorAppService.PesquisarClientesDeTodosOsModulosAtivosPeloFiltro(filtro, out totalRegistros); } } if (result.Any()) { var listaViewModel = CreateListaViewModel(filtro, totalRegistros, result); return(PartialView("ListaPesquisaPartial", listaViewModel)); } return(PartialView("_EmptyListPartial")); }
public List <ClienteFornecedorDTO> PesquisarClientesAReceberAtivosPeloFiltro(ClienteFornecedorPesquisaFiltro filtro, out int totalRegistros) { var specification = (Specification <ClienteFornecedor>) new TrueSpecification <ClienteFornecedor>(); specification &= ClienteFornecedorSpecification.EhAtivo(); specification &= ClienteFornecedorSpecification.EhClienteAReceber(); bool EhTipoSelecaoContem = filtro.TipoSelecao == TipoPesquisa.Contem; switch (filtro.Campo) { case "rg": specification &= EhTipoSelecaoContem ? ClienteFornecedorSpecification.RgContem(filtro.TextoInicio) : ClienteFornecedorSpecification.RgNoIntervalo(filtro.TextoInicio, filtro.TextoFim); break; case "razaoSocial": specification &= EhTipoSelecaoContem ? ClienteFornecedorSpecification.RazaoSocialContem(filtro.TextoInicio) : ClienteFornecedorSpecification.RazaoSocialNoIntervalo(filtro.TextoInicio, filtro.TextoFim); break; case "cnpj": specification &= EhTipoSelecaoContem ? ClienteFornecedorSpecification.CnpjContem(filtro.TextoInicio) : ClienteFornecedorSpecification.CnpjNoIntervalo(filtro.TextoInicio, filtro.TextoFim); break; case "cpf": specification &= EhTipoSelecaoContem ? ClienteFornecedorSpecification.CpfContem(filtro.TextoInicio) : ClienteFornecedorSpecification.CpfNoIntervalo(filtro.TextoInicio, filtro.TextoFim); break; case "nomeFantasia": default: specification &= EhTipoSelecaoContem ? ClienteFornecedorSpecification.NomeContem(filtro.TextoInicio) : ClienteFornecedorSpecification.NomeNoIntervalo(filtro.TextoInicio, filtro.TextoFim); break; } return(clienteFornecedorRepository.Pesquisar(specification, filtro.PageIndex, filtro.PageSize, filtro.OrderBy, filtro.Ascending, out totalRegistros, l => l.PessoaFisica, l => l.PessoaJuridica).To <List <ClienteFornecedorDTO> >()); }