private List <ClienteCadastradoPeriodoInfo> ConsultarRelatorio_ClienteCadastradoPeriodoInfo(ClienteCadastradoPeriodoInfo pParametros)
        {
            List <ClienteCadastradoPeriodoInfo> lResposta = new List <ClienteCadastradoPeriodoInfo>();

            foreach (DataRow lRow in ArmazenDeMocks.TabelaDeClientes.Rows)
            {
                lResposta.Add(FabricaDeMocks.GerarRelatorio_ClienteCadastradoPorPeriodo(lRow));
            }

            return(lResposta);
        }
        private ClienteInfo RetornarClienteInfo(string pCodCliente)
        {
            int lId;

            ClienteInfo lRetorno = new ClienteInfo();

            if (Int32.TryParse(pCodCliente, out lId))
            {
                foreach (DataRow lRow in ArmazenDeMocks.TabelaDeClientes.Rows)
                {
                    if (lId == lRow[0].DBToInt32())
                    {
                        lRetorno = FabricaDeMocks.GerarClienteInfo(lRow);

                        break;
                    }
                }
            }

            return(lRetorno);
        }
        public ConsultarEntidadeCadastroResponse <T> ConsultarEntidadeCadastro <T>(ConsultarEntidadeCadastroRequest <T> pParametros) where T : ICodigoEntidade
        {
            ConsultarEntidadeCadastroResponse <T> lResposta = new ConsultarEntidadeCadastroResponse <T>();

            if (typeof(T) == typeof(ClienteResumidoInfo))
            {
                List <ClienteResumidoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteResumidoInfo(pParametros.EntidadeCadastro as ClienteResumidoInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteTelefoneInfo))
            {
                List <ClienteTelefoneInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteTelefoneInfo(pParametros.EntidadeCadastro as ClienteTelefoneInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteEnderecoInfo))
            {
                List <ClienteEnderecoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteEnderecoInfo(pParametros.EntidadeCadastro as ClienteEnderecoInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(TipoEnderecoInfo))
            {
                List <TipoEnderecoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroTipoEnderecoInfo();

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteBancoInfo))
            {
                List <ClienteBancoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteBancoInfo(pParametros.EntidadeCadastro as ClienteBancoInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteCadastradoPeriodoInfo))
            {
                List <ClienteCadastradoPeriodoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarRelatorio_ClienteCadastradoPeriodoInfo(pParametros.EntidadeCadastro as ClienteCadastradoPeriodoInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteSuitabilityInfo))
            {
                List <ClienteSuitabilityInfo> lRespostaBusca;

                lRespostaBusca = new List <ClienteSuitabilityInfo>();

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteProcuradorRepresentanteInfo))
            {
                List <ClienteProcuradorRepresentanteInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteProcuradorRepresentanteInfo(pParametros.EntidadeCadastro as ClienteProcuradorRepresentanteInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteEmitenteInfo))
            {
                List <ClienteEmitenteInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteProcuradorRepresentanteInfo(pParametros.EntidadeCadastro as ClienteEmitenteInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteContratoInfo))
            {
                List <ClienteContratoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteContratoInfo(pParametros.EntidadeCadastro as ClienteContratoInfo);

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ContratoInfo))
            {
                List <ContratoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroContratoInfo();

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(PessoaExpostaPoliticamenteInfo))
            {
                List <PessoaExpostaPoliticamenteInfo> lRespostaBusca;

                lRespostaBusca = FabricaDeMocks.GerarListaDePEP();

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(ClienteAlteracaoInfo))
            {
                List <ClienteAlteracaoInfo> lRespostaBusca;

                lRespostaBusca = ConsultarEntidadeCadastroClienteAlteracaoInfo(pParametros.EntidadeCadastro as ClienteAlteracaoInfo);


                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else if (typeof(T) == typeof(SinacorListaInfo))
            {
                List <SinacorListaInfo> lRespostaBusca;

                string lChave = (pParametros as ConsultarEntidadeCadastroRequest <SinacorListaInfo>).EntidadeCadastro.Informacao.ToString();

                //string lChave = pParametros.EntidadeCadastro.GetType().ToString();

                if (!ArmazenDeMocks.ListaDoSinacor.ContainsKey(lChave))
                {
                    throw new Exception(string.Format("Sem Lista do Sinacor disponível no Armazém de Mocks para chave [{0}]", lChave));
                }

                lRespostaBusca = ArmazenDeMocks.ListaDoSinacor[lChave];

                lResposta.Resultado = lRespostaBusca.OfType <T>().ToList <T>();

                return(lResposta);
            }
            else
            {
                throw new NotImplementedException(string.Format("Mock ainda não implementado para [{0}]", typeof(T)));
            }
        }
        private List <ClienteResumidoInfo> ConsultarEntidadeCadastroClienteResumidoInfo(ClienteResumidoInfo pParametros)
        {
            List <ClienteResumidoInfo> lResposta = new List <ClienteResumidoInfo>();

            string lFiltro = "";

            if (!pParametros.TermoDeBusca.Contains('*'))
            {
                pParametros.TermoDeBusca = string.Format("*{0}*", pParametros.TermoDeBusca);    //implementado como a versão real, que inclui * automaticamente
            }

            switch (pParametros.OpcaoBuscarPor)
            {
            case OpcoesBuscarPor.CodBovespa:

                lFiltro = string.Format("CodBovespa LIKE '{0}'", pParametros.TermoDeBusca);

                break;

            case OpcoesBuscarPor.CpfCnpj:

                lFiltro = string.Format("CPF LIKE '{0}'", pParametros.TermoDeBusca);

                break;

            case OpcoesBuscarPor.NomeCliente:

                lFiltro = string.Format("NomeCliente LIKE '{0}'", pParametros.TermoDeBusca);

                break;
            }


            if (pParametros.OpcaoStatus == OpcoesStatus.Ativo)
            {
                lFiltro += " AND Status = 'Ativo'";
            }
            else if (pParametros.OpcaoStatus == OpcoesStatus.Inativo)
            {
                lFiltro += " AND Status = 'Inativo'";
            }
            else
            {
                //os dois valores
            }

            switch (pParametros.OpcaoPasso)
            {
            case OpcoesPasso.Visitante:

                lFiltro += " AND Passo = 'Visitante'";

                break;

            case OpcoesPasso.Cadastrado:

                lFiltro += " AND Passo = 'Cadastrado'";

                break;

            case OpcoesPasso.Exportado:

                lFiltro += " AND Passo = 'Exportado'";

                break;

            case OpcoesPasso.Visitante | OpcoesPasso.Cadastrado:

                lFiltro += " AND (Passo = 'Visitante' OR Passo = 'Cadastrado')";

                break;

            case OpcoesPasso.Visitante | OpcoesPasso.Exportado:

                lFiltro += " AND (Passo = 'Visitante' OR Passo = 'Exportado')";

                break;

            case OpcoesPasso.Cadastrado | OpcoesPasso.Exportado:

                lFiltro += " AND (Passo = 'Cadastrado' OR Passo = 'Exportado')";

                break;

            default:

                //todos então deixa

                break;
            }

            if (pParametros.OpcaoPendencia == OpcoesPendencia.ComPendenciaCadastral)
            {
                lFiltro += " AND FlagPendencia = 'Cadastral'";
            }
            else if (pParametros.OpcaoPendencia == OpcoesPendencia.ComSolicitacaoAlteracao)
            {
                lFiltro += " AND FlagPendencia = 'Alteracao'";
            }
            else
            {
                //os dois valores
            }

            DataView lView = new DataView(ArmazenDeMocks.TabelaDeClientes);

            lView.RowFilter = lFiltro;

            DataTable lTable = lView.ToTable();

            foreach (DataRow lRow in lTable.Rows)
            {
                lResposta.Add(FabricaDeMocks.GerarResumoDoCliente(lRow));
            }

            return(lResposta);
        }
 private ClienteSituacaoFinanceiraPatrimonialInfo RetornarClienteSituacaoFinanceiraPatrimonialInfo(string pIdCliente)
 {
     return(FabricaDeMocks.GerarClienteSituacaoFinanceiraPatrimonialInfo(pIdCliente.DBToInt32(), null));
 }