Exemplo n.º 1
0
        //Métodos de Classe
        #region
        public void Cadastrar(string NOME, long CPFCNPJ, long CODDIST, string Usuario, string Senha)
        {
            string Resposta = "";
            string XMLAUX   = XML(NOME, CPFCNPJ, CODDIST, Usuario, Senha).Replace("\r\n", "");

            try
            {
                Resposta = new DA_XML().Envio(XMLAUX, "https://www.itaucustodia.com.br/PassivoWebServices/xmlcacintrag.jsp");

                if (!Resposta.Contains("COTISTA+JA+CADASTRADO"))
                {
                    Resposta = new Regex(@"[^\d]").Replace(Resposta, "");
                    if (long.TryParse(Resposta, out long CODCOT))
                    {
                        Inserir(CODCOT, NOME, CPFCNPJ, CODDIST, 0, DateTime.Today.AddYears(2));
                    }
                }
            }
            catch (ArgumentException e) { new BL_LogErro().Inserir("BL_Cotista - Cadastrar", "Erro: " + e.Message); }
            finally { new BL_LogOperacional().Inserir("BL_Cotista - Cadastrar", "Reposta Intrag:" + Resposta); }
        }
Exemplo n.º 2
0
        public string Boletar(BL_Boleta Boleta, string Usuario, string Senha)
        {   //Recebe resposta Intrag
            string Resposta = "";
            //string teste = new BL_Boleta().XML(Boleta, Usuario, Senha);
            string teste = Boleta.XML(Usuario, Senha);

            Console.WriteLine(teste);
            try
            {
                Resposta = new DA_XML().Envio(Boleta.XML(Usuario, Senha).Replace("\r\n", ""), "https://www.itaucustodia.com.br/PassivoWebServices/xmlmva.jsp");
                Console.WriteLine(Resposta);
            }
            catch (ArgumentException e) { new BL_LogErro().Inserir("BL_Boleta - Boletar", "Erro: " + e.Message); }


            //Valor Superior ao permitido
            if (Resposta.Contains("\"**Valor+ac"))
            {
                return("Liberado");
            }

            //Cadastro Pendente (vencido ou incompleto)
            if (Resposta.Contains("\"COTISTA+SE"))
            {
                return("Cadastro Pendente");
            }

            //Pendente de TCR
            if (Resposta.Contains("\"COTISTA+CO") || Resposta.Contains("\"APLICACAO+NAO"))
            {
                return("TCR Pendente");
            }

            //Codext Não existe
            if (Resposta.Contains("\"CODIGO+DO+"))
            {
                return("Código externo não existe");
            }

            //Fundo não encontrado
            if (Resposta.Contains("\"FUNDO+NAO+"))
            {
                return("Fundo não encontrado");
            }

            //Login Inválido
            if (Resposta.Contains("\"LOGIN+INVA"))
            {
                return("Login Inválido");
            }

            #region Boletagem

            //Saldo Inferior
            if (Resposta.Contains("\"**OPERACAO+P") || Resposta.Contains("\"existe++saldo+disponivel"))
            {
                ObjLogOp.Inserir("BL_BOLETA - Boletar", string.Format("Boleta ID - {0} Não existe saldo disponível", Boleta.IDBOLETA));
                return("Saldo Insuficiente");
            }

            //Lançamento de Cetip
            if (Boleta.CONTA.Contains("CETIP"))
            {
                if (Resposta.Contains("MOVIMENTO+PENDENTE+DE+LIQUIDA"))
                {
                    Editar(Boleta.IDBOLETA, Boleta.COTIZACAO, Boleta.IMPACTO, "Liquidação");
                    ObjLogOp.Inserir("BL_BOLETA - Boletar", string.Format("Boleta ID - {0} Lançada na Cetip", Boleta.IDBOLETA));
                    return("Em liquidação");
                }
                else if (Resposta.Contains("\"COTISTA+NAO"))
                {
                    ObjLogOp.Inserir("BL_Boleta - Boletar", $"Boleta ID {Boleta.IDBOLETA}: Cotista não possui conta cetip cadastrada!");
                    return("Cetip Pendente");
                }
                else if (Resposta.Contains("\"OPERACAO+EN"))
                {
                    return("Fora do horário permitido");
                }
            }

            //Boletagem Efetuada
            if (Resposta.Contains("\"**OPERACAO+E") || (Resposta.Contains("\"PROCESSO+EFETUADO")))
            {
                if (Boleta.OPERACAO == "AP" && Boleta.CONTA == "VIA TED" && Boleta.VALOR == 10000000000)
                {
                    return("Liberado");
                }
                else
                {
                    BL_FIQ Fundo = new BL_FIQ().DadosPorCODFUND(Boleta.CODFUND);
                    if (Fundo != null && Fundo.CODMASTER == 61984 && Boleta.OPERACAO != "AP")
                    {
                        Editar(Boleta.IDBOLETA, Boleta.COTIZACAO, Boleta.IMPACTO, "Boletado");
                    }
                    else
                    {
                        Editar(Boleta.IDBOLETA, Boleta.COTIZACAO, Boleta.IMPACTO, "Validando");
                    }

                    //Atualiza RegistroResgate Caso seja Resgate
                    if (Boleta.OPERACAO != "AP")
                    {
                        new BL_RegistroResgate().EditarIDBOLETA(Boleta.IDBOLETA, "Concluído");
                    }
                    return("Validando");
                }
            }

            #endregion

            //Reposta não identificada
            ObjLogOp.Inserir("BL_Boleta - Boletar", string.Format("Reposta não identificada da boleta ({0}): {1}", Boleta.IDBOLETA, Resposta));
            return("Erro Desconhecido: " + Resposta);
        }