예제 #1
0
        public void CampoLivre_Banestes()
        {
            // Leia mais sobre esse teste: https://github.com/impactro/Boleto-Test/wiki/Criando-Layouts/_edit
            Boleto blt = new Boleto();
            string cl  = Banco_Banestes.CampoLivre(blt, Cedente.CodCedente, Cedente.Modalidade, "178");

            Console.WriteLine("Linha Digitável Formatada: " + CobUtil.CampoLivreFormatado(cl, new int[] { 8, 11, 1, 3, 1, 1 }));  // maximo 25 digitos
            Assert.IsTrue(cl == "0000017800006573315402141", "Linha invalida");
            // Veja página 31 e 38 da documentação
        }
예제 #2
0
        /// <summary>
        /// Gera o aquivo baseado nas coleção de todas informações passada até o momento
        /// </summary>
        /// <returns></returns>
        public override string Remessa()
        {
            string[] cCCDig = Cedente.Conta.Split('-');

            regArqHeader[CNAB400Header1Banestes.CodCedente] = Cedente.CodCedente;
            regArqHeader[CNAB400Header1Banestes.Empresa]    = Cedente.Cedente;
            regArqHeader[CNAB400Header1Banestes.Geracao]    = DataHoje;

            // Limpa os objetos de saida/entrada
            Data.Clear();
            Clear();

            // o sequencial do header é sempre 1 (FIXO)
            Add(regArqHeader);

            // Proximo item
            SequencialRegistro = 2;

            BoletoInfo boleto;
            SacadoInfo sacado;
            Reg <CNAB400Remessa1Banestes> regBoleto;

            foreach (string n in this.Boletos.NossoNumeros)
            {
                boleto = Boletos[n];
                sacado = boleto.Sacado;

                regBoleto = new Reg <CNAB400Remessa1Banestes>();

                regBoleto[CNAB400Remessa1Banestes.TipoDOC]    = Cedente.Tipo;
                regBoleto[CNAB400Remessa1Banestes.DOC]        = Cedente.DocumentoNumeros;
                regBoleto[CNAB400Remessa1Banestes.CodCedente] = Cedente.CodCedente;

                if (boleto.BoletoID > 0)
                {
                    regBoleto[CNAB400Remessa1Banestes.UsoEmpresa] = boleto.BoletoID;
                }

                string cDAC12 = Banco_Banestes.NossoNumero(ref boleto.NossoNumero);
                regBoleto[CNAB400Remessa1Banestes.NossoNumero] = boleto.NossoNumero + cDAC12;

                //if(boleto.ParcelaNumero>0 && boleto.ParcelaTotal>0)
                //{
                //    regBoleto[CNAB400Remessa1Banestes.Carne] = "A1";
                //    regBoleto[CNAB400Remessa1Banestes.CarneNumParcela] = boleto.ParcelaNumero;
                //    regBoleto[CNAB400Remessa1Banestes.CarneQtdParcela] = boleto.ParcelaTotal;
                //}
                regBoleto[CNAB400Remessa1Banestes.Avalista_Tipo]      = sacado.AvalistaTipo;
                regBoleto[CNAB400Remessa1Banestes.Avalista_Inscricao] = sacado.AvalistaNumeros;
                regBoleto[CNAB400Remessa1Banestes.Vencimento]         = boleto.DataVencimento;
                regBoleto[CNAB400Remessa1Banestes.ValorDocumento]     = boleto.ValorDocumento;
                regBoleto[CNAB400Remessa1Banestes.Especie]            = (int)boleto.Especie; // 01-Duplicata Mercantil
                regBoleto[CNAB400Remessa1Banestes.Aceite]             = boleto.Aceite;       // N padrão
                regBoleto[CNAB400Remessa1Banestes.Emissao]            = boleto.DataDocumento;
                regBoleto[CNAB400Remessa1Banestes.Instrucao1]         = boleto.Instrucao1;
                regBoleto[CNAB400Remessa1Banestes.Instrucao2]         = boleto.Instrucao2;
                // regBoleto[CNAB400Remessa1Banestes.Juros] = boleto.ValorMora;
                regBoleto[CNAB400Remessa1Banestes.DescontoData]     = boleto.DataDesconto;
                regBoleto[CNAB400Remessa1Banestes.DescontoValor]    = boleto.ValorDesconto;
                regBoleto[CNAB400Remessa1Banestes.Sacado_Tipo]      = sacado.Tipo;
                regBoleto[CNAB400Remessa1Banestes.Sacado_Inscricao] = sacado.DocumentoNumeros;
                regBoleto[CNAB400Remessa1Banestes.Nome]             = sacado.Sacado;
                regBoleto[CNAB400Remessa1Banestes.Endereco]         = sacado.Endereco;
                regBoleto[CNAB400Remessa1Banestes.CEP]       = sacado.CepNumeros;
                regBoleto[CNAB400Remessa1Banestes.Bairro]    = sacado.Bairro;
                regBoleto[CNAB400Remessa1Banestes.Cidade]    = sacado.Cidade;
                regBoleto[CNAB400Remessa1Banestes.Estado]    = sacado.UF;
                regBoleto[CNAB400Remessa1Banestes.Sequencia] = SequencialRegistro++;

                // adiciona o boleto convertido em registro
                AddBoleto(regBoleto, boleto);

                AddOpcionais(boleto);
            }

            regArqTrailer[CNAB400ArquivoTrailer.Sequencia] = SequencialRegistro;
            Add(regArqTrailer);

            // Gera o Texto de saida da forma padrão
            return(this.Conteudo);
        }