Valida() публичный Метод

public Valida ( ) : void
Результат void
Пример #1
0
        public void Valida_Boleto_Banco_Banestes()
        {
            var boleto = new Boleto(new DateTime(2014, 1, 18), 2952.95m, "00", "21487805", "123", "1.222.333");

            boleto.Banco = new Banco(21);
            boleto.NumeroDocumento = "18.030299.01";

            boleto.Valida();

            Assert.AreEqual(boleto.NossoNumero, "21487805.81");

            Assert.AreEqual(boleto.Banco.ChaveASBACE, "2148780500001222333202107");

            Assert.AreEqual(boleto.CodigoBarra.Codigo, "02191594700002952952148780500001222333202107");

            Assert.AreEqual(boleto.CodigoBarra.LinhaDigitavel, "02192.14871 80500.001229 23332.021072 1 59470000295295");
        }
Пример #2
0
        public void Valida_Boleto_Banco_Banestes()
        {
            var boleto = new BoletoNet.Boleto(new DateTime(2014, 1, 18), 2952.95m, "00", "21487805", "123", "1.222.333");

            boleto.Banco           = new Banco(21);
            boleto.NumeroDocumento = "18.030299.01";

            boleto.Valida();

            Assert.AreEqual(boleto.NossoNumero, "21487805.81");

            Assert.AreEqual(boleto.Banco.ChaveASBACE, "2148780500001222333202107");

            Assert.AreEqual(boleto.CodigoBarra.Codigo, "02191594700002952952148780500001222333202107");

            Assert.AreEqual(boleto.CodigoBarra.LinhaDigitavel, "02192.14871 80500.001229 23332.021072 1 59470000295295");
        }
Пример #3
0
        public override string GerarDetalheSegmentoPRemessa(Boleto boleto, int numeroRegistro, string numeroConvenio)
        {
            try
            {
                string _segmentoP;

                //Código do Banco na compensação ==> 001-003
                _segmentoP = Utils.FormatCode(Codigo.ToString(), "0", 3, true);

                //Numero do lote remessa ==> 004 - 007
                _segmentoP += Utils.FitStringLength(boleto.Remessa.NumeroLote.ToString(), 4, 4, '0', 0, true, true, true);

                //Tipo de registro => 008 - 008
                _segmentoP += "3";

                //Nº seqüencial do registro de lote ==> 009 - 013
                _segmentoP += Utils.FitStringLength(numeroRegistro.ToString(), 5, 5, '0', 0, true, true, true);

                //Cód. Segmento do registro detalhe ==> 014 - 014
                _segmentoP += "P";

                //Reservado (uso Banco) ==> 015 - 015
                _segmentoP += " ";

                //Código de movimento remessa ==> 016 - 017
                _segmentoP += boleto.Remessa.CodigoOcorrencia;

                //Agência do Cedente ==> 018 –021
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.Agencia, 4, 4, '0', 0, true, true, true);

                //Dígito da Agência do Cedente ==> 022 –022
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.DigitoAgencia, 1, 1, '0', 0, true, true, true);

                //Número da conta corrente ==> 023 - 031
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.Conta, 9, 9, '0', 0, true, true, true);

                //Dígito verificador da conta ==> 032 – 032
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.DigitoConta, 1, 1, '0', 0, true, true, true);

                //Conta cobrança ==> 033 - 041
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.Conta, 9, 9, '0', 0, true, true, true);

                //Dígito da conta cobrança ==> 042 - 042
                _segmentoP += Utils.FitStringLength(boleto.Cedente.ContaBancaria.DigitoConta, 1, 1, '0', 0, true, true, true);

                //Reservado (uso Banco) ==> 043 - 044
                _segmentoP += "  ";

                boleto.Valida();
                //Identificação do título no Banco ==> 045 –057
                _segmentoP += Utils.FitStringLength(boleto.NossoNumero.Replace("-", ""), 13, 13, '0', 0, true, true, true);

                //Tipo de cobrança ==> 058 - 058
                _segmentoP += "5";

                //Forma de Cadastramento ==> 059 - 059
                _segmentoP += "1";

                //Tipo de documento ==> 060 - 060
                _segmentoP += "1";

                //Reservado (uso Banco) ==> 061 –061
                _segmentoP += " ";

                //Reservado (uso Banco) ==> 062 - 062
                _segmentoP += " ";

                //Nº do documento ==> 063 - 077
                _segmentoP += Utils.FitStringLength(boleto.NumeroDocumento, 15, 15, ' ', 0, true, true, false);

                //Data de vencimento do título ==> 078 - 085
                _segmentoP += boleto.DataVencimento.ToString("ddMMyyyy");

                //Valor nominal do título ==> 086 - 100
                _segmentoP += Utils.FitStringLength(boleto.ValorBoleto.ToString("0.00").Replace(",", ""), 15, 15, '0', 0, true, true, true);

                //Agência encarregada da cobrança ==> 101 - 104
                _segmentoP += "0000";

                //Dígito da Agência do Cedente ==> 105 – 105
                _segmentoP += "0";

                //Reservado (uso Banco) ==> 106 - 106
                _segmentoP += " ";

                //Espécie do título ==> 107 – 108
                _segmentoP += Utils.FitStringLength(boleto.EspecieDocumento.Codigo, 2, 2, '0', 0, true, true, true);

                //Identif. de título Aceito/Não Aceito ==> 109 - 109
                _segmentoP += "N";

                //Data da emissão do título ==> 110 - 117
                _segmentoP += boleto.DataDocumento.ToString("ddMMyyyy");

                if (boleto.JurosMora > 0)
                {
                    //Código do juros de mora ==> 118 - 118
                    _segmentoP += "1";

                    //Data do juros de mora ==> 119 - 126
                    _segmentoP += Utils.FitStringLength(boleto.DataVencimento.ToString("ddMMyyyy"), 8, 8, '0', 0, true, true, false);

                    //Valor da mora/dia ou Taxa mensal ==> 127 - 141
                    _segmentoP += Utils.FitStringLength(boleto.JurosMora.ToString("0.00").Replace(",", ""), 15, 15, '0', 0, true, true, true);
                }
                else
                {
                    //Código do juros de mora ==> 118 - 118
                    _segmentoP += "3";

                    //Data do juros de mora ==> 119 - 126
                    _segmentoP += "00000000";

                    //Valor da mora/dia ou Taxa mensal ==> 127 - 141
                    _segmentoP += "000000000000000";
                }

                if (boleto.ValorDesconto > 0)
                {
                    //Código do desconto 1 ==> 142 - 142
                    _segmentoP += "1";

                    //Data de desconto 1 ==> 143 - 150
                    _segmentoP += Utils.FitStringLength(boleto.DataVencimento.ToString("ddMMyyyy"), 8, 8, '0', 0, true, true, false);

                    //Valor ou Percentual do desconto concedido ==> 151 - 165
                    _segmentoP += Utils.FitStringLength(boleto.ValorDesconto.ToString("0.00").Replace(",", ""), 15, 15, '0', 0, true, true, true);
                }
                else
                    _segmentoP += "0".PadLeft(24, '0');


                //Valor do IOF a ser recolhido ==> 166 - 180
                _segmentoP += "0".PadLeft(15, '0');

                //Valor do abatimento ==> 181 - 195
                _segmentoP += "0".PadLeft(15, '0');

                //Identificação do título na empresa ==> 196 - 220
                _segmentoP += Utils.FitStringLength(boleto.NumeroDocumento, 25, 25, ' ', 0, true, true, false);

                string codigo_protesto = "0";
                string dias_protesto = "00";

                foreach (var instrucao in boleto.Instrucoes)
                {
                    switch ((EnumInstrucoes_Santander)instrucao.Codigo)
                    {
                        case EnumInstrucoes_Santander.Protestar:
                            codigo_protesto = "1";
                            dias_protesto = Utils.FitStringLength(instrucao.QuantidadeDias.ToString(), 2, 2, '0', 0, true, true, true); //Para código '1' – é possível, de 6 a 29 dias
                            break;
                        default:
                            break;
                    }
                }

                //Código para protesto ==> 221 - 221
                _segmentoP += codigo_protesto;

                //Número de dias para protesto ==> 222 - 223
                _segmentoP += dias_protesto;

                //Código para Baixa/Devolução ==> 222 - 223
                _segmentoP += "3";

                //Reservado (uso Banco) ==> 225 – 225
                _segmentoP += "0";

                //Número de dias para Baixa/Devolução ==> 226 - 227
                _segmentoP += "00";

                //Código da moeda ==> 228 - 229
                _segmentoP += "00";

                //Reservado (uso Banco) ==> 230 –240
                _segmentoP += " ".PadLeft(11, ' ');


                _segmentoP = Utils.SubstituiCaracteresEspeciais(_segmentoP);

                return _segmentoP;

            }
            catch (Exception ex)
            {
                throw new Exception("Erro durante a geração do SEGMENTO P DO DETALHE do arquivo de REMESSA.", ex);
            }
        }
Пример #4
0
        public void Valida_QuandoCriarBoleto_DeveRetornarNossoNumeroEsperado()
        {
            _boleto.Valida();

            Assert.AreEqual(_boleto.NossoNumero, "21487805.81");
        }