Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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> >());
        }