예제 #1
0
        public override void FormataCodigoBarra(Boleto boleto)
        {
            string campo1 = string.Empty;
            string campo2 = string.Empty;
            string campoLivre = string.Empty;
            campo1 = "041" + boleto.Moeda.ToString();
            int dacCodBarras;
            string fatorVenc = FatorVencimento(boleto).ToString("0000");
            string valor = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
            valor = Utils.FormatCode(valor, 10);
            campo2 = fatorVenc + valor;

            string nossoNumero = boleto.NossoNumero.Replace(".", "").Replace("-", "");
            nossoNumero = nossoNumero.Substring(0, 8);
            //campoLivre = "21" + boleto.Cedente.ContaBancaria.Agencia.Substring(1, 3) + boleto.Cedente.ContaBancaria.Conta + nossoNumero + "041";
            string codCedente = boleto.Cedente.Codigo.Substring(4);// Os quatro primeiros digitos do código do cedente é sempre a agência
            campoLivre = "21" + boleto.Cedente.ContaBancaria.Agencia + codCedente.Substring(0, 7) + nossoNumero + "40";
            string ncCodBarra = CalcularNCCodBarras(campoLivre);
            Int32.TryParse(ncCodBarra.Substring(0, 1), out _primDigito);
            Int32.TryParse(ncCodBarra.Substring(1, 1), out _segDigito);
            campoLivre = campoLivre + ncCodBarra;

            dacCodBarras = Mod11Peso2a9Banri(campo1 + campo2 + campoLivre);

            boleto.CodigoBarra.Codigo = campo1 + dacCodBarras.ToString() + campo2 + campoLivre;
        }
예제 #2
0
        public string DigNossoNumeroSicredi(Boleto boleto)
        {
            string agencia = boleto.Cedente.ContaBancaria.Agencia;    //código da cooperativa de crédito/agência beneficiária (aaaa)
            string posto = boleto.Cedente.ContaBancaria.OperacaConta; //código do posto beneficiário (pp)
            string cedente = boleto.Cedente.Codigo;                   //código do beneficiário (ccccc)
            string nossoNumero = boleto.NossoNumero;                  //ano atual (yy), indicador de geração do nosso número (b) e o número seqüencial do beneficiário (nnnnn);

            string seq = string.Concat(agencia, posto, cedente, nossoNumero); // = aaaappcccccyybnnnnn
            /* Variáveis
             * -------------
             * d - Dígito
             * s - Soma
             * p - Peso
             * b - Base
             * r - Resto
             */

            int d, s = 0, p = 2, b = 9;
            //Atribui os pesos de {2..9}
            for (int i = seq.Length - 1; i >= 0; i--)
            {
                s = s + (Convert.ToInt32(seq.Substring(i, 1)) * p);
                if (p < b)
                    p = p + 1;
                else
                    p = 2;
            }
            d = 11 - (s % 11);//Calcula o Módulo 11;
            if (d > 9)
                d = 0;
            return d.ToString();
        }
예제 #3
0
        public override void ValidaBoleto(Boleto boleto)
        {
            //Verifica se o nosso número é válido
            if (Utils.ToInt32(boleto.NossoNumero) == 0)
                throw new NotImplementedException("Nosso número inválido");

            //O número da conta corrente são 7 dígitos
            if (boleto.Cedente.ContaBancaria.Conta.Length != 7)
                throw new Exception("O número da conta corrente do cedente são 7 números.");

            //Verifica se o tamanho para o NossoNumero
            // 7 para cobrança registrada
            // 13 para cobrança sem registro
            boleto.NossoNumero = Utils.FormatCode(boleto.NossoNumero, 13);

            // Calcula o digitão de cobrança DAC (Nosso Número/Agência/Conta Corrente)
            _dacDigitaoCobranca = Mod10(boleto.NossoNumero + boleto.Cedente.ContaBancaria.Agencia + boleto.Cedente.ContaBancaria.Conta);

            //Atribui o nome do banco ao local de pagamento
            boleto.LocalPagamento += Nome;

            //Verifica se data do processamento é valida
			//if (boleto.DataProcessamento.ToString("dd/MM/yyyy") == "01/01/0001")
			if (boleto.DataProcessamento == DateTime.MinValue) // diegomodolo ([email protected])
                boleto.DataProcessamento = DateTime.Now;

            //Verifica se data do documento é valida
			//if (boleto.DataDocumento.ToString("dd/MM/yyyy") == "01/01/0001")
			if (boleto.DataDocumento == DateTime.MinValue) // diegomodolo ([email protected])
                boleto.DataDocumento = DateTime.Now;

            FormataCodigoBarra(boleto);
            FormataLinhaDigitavel(boleto);
            FormataNumeroDocumento(boleto);
        }
예제 #4
0
        public string Safra()
        {
            DateTime vencimento = new DateTime(2007, 9, 10);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "5413000");

            c.Codigo = "13000";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1642, "198", "02592082835", c);
            b.NumeroDocumento = "1008073";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //b.Instrucoes.Add("Não Receber após o vencimento");
            //b.Instrucoes.Add("Após o Vencimento pague somente no Bradesco");
            //b.Instrucoes.Add("Instrução 2");
            //b.Instrucoes.Add("Instrução 3");

            Instrucao_Safra instrucao = new Instrucao_Safra();

            instrucao.Descricao = "Instrução 1";

            b.Instrucoes.Add(instrucao);


            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #5
0
        public override void FormataCodigoBarra(Boleto boleto)
        {
            //Variaveis
            int peso = 2;
            int soma = 0;
            int resultado = 0;
            int dv = 0;
            String codigoValidacao = boleto.Banco.Codigo.ToString() + boleto.Banco.Digito + FatorVencimento(boleto).ToString() +
                Utils.FormatCode(boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", ""), 10) + boleto.Carteira +
                boleto.Cedente.ContaBancaria.Agencia + boleto.TipoModalidade + this.FormataCodigoCliente(boleto) +
                this.FormataNumeroTitulo(boleto) + this.FormataNumeroParcela(boleto);

            //Calculando
            for (int i = (codigoValidacao.Length - 1); i >= 0; i--)
            {
                soma = soma + (Convert.ToInt16(codigoValidacao.Substring(i, 1)) * peso);
                peso++;
                //Verifica peso
                if (peso > 9)
                {
                    peso = 2;
                }
            }
            resultado = soma % 11;
            dv = 11 - resultado;
            //Verificando resultado
            if (dv == 0 || dv == 1 || dv > 9)
            {
                dv = 1;
            }
            //Formatando
            boleto.CodigoBarra.Codigo = codigoValidacao.Substring(0, 4) + dv + codigoValidacao.Substring(4);
        }
예제 #6
0
        public string Banrisul()
        {
            DateTime vencimento = new DateTime(2008, 02, 07);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "12345678", "9");

            c.Codigo = "00000000504";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 45.50m, "18", "12345678901", c);

            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP    = "70000000";
            b.Sacado.Endereco.UF     = "DF";

            //Adiciona as instruções ao boleto
            #region Instruções
            //Protestar
            Instrucao_Banrisul item = new Instrucao_Banrisul(9, 10, 0);
            b.Instrucoes.Add(item);
            #endregion Instruções

            b.NumeroDocumento = "12345678901";


            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #7
0
        public string Basa()
        {
            DateTime vencimento = new DateTime(2008, 02, 07);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "12345678", "9");

            c.Codigo = "12548";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 45.50m, "CNR", "125478", c);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";


            b.NumeroDocumento = "12345678901";

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #8
0
        public string Sudameris()
        {
            DateTime vencimento = new DateTime(2007, 9, 10);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0501", "6703255");

            c.Codigo = "13000";

            //Nosso número com 7 dígitos
            string nn = "0003020";

            //Nosso número com 13 dígitos
            //nn = "0000000003025";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1642, "198", nn, c);// EnumEspecieDocumento_Sudameris.DuplicataMercantil);
            b.NumeroDocumento = "1008073";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //b.Instrucoes.Add("Não Receber após o vencimento");
            //b.Instrucoes.Add("Após o Vencimento pague somente no Sudameris");
            //b.Instrucoes.Add("Instrução 2");
            //b.Instrucoes.Add("Instrução 3");

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
        /// <summary>
        /// 
        ///   *******
        /// 
        ///	O código de barra para cobrança contém 44 posições dispostas da seguinte forma:
        ///    01 a 03 - 3 - Identificação  do  Banco
        ///    04 a 04 - 1 - Código da Moeda
        ///    05 a 05 – 1 - Dígito verificador do Código de Barras
        ///    06 a 09 - 4 - Fator de vencimento
        ///    10 a 19 - 10 - Valor
        ///    20 a 44 – 25 - Campo Livre
        /// 
        ///   *******
        /// 
        /// </summary>
        /// 
        public override void FormataCodigoBarra(Boleto boleto)
        {
            string valorBoleto = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
            valorBoleto = Utils.FormatCode(valorBoleto, 10);

            if (boleto.Carteira == "02" || boleto.Carteira == "03" || boleto.Carteira == "09")
            {
                boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}{4}", Codigo.ToString(), boleto.Moeda,
                FatorVencimento(boleto), valorBoleto, FormataCampoLivre(boleto));
            }
            else if (boleto.Carteira == "06")
            {
                if (boleto.ValorBoleto == 0)
                {
                    boleto.CodigoBarra.Codigo = string.Format("{0}{1}0000{2}{3}", Codigo.ToString(), boleto.Moeda,
                        valorBoleto, FormataCampoLivre(boleto));
                }
                else
                {
                    boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}{4}", Codigo.ToString(), boleto.Moeda,
                        FatorVencimento(boleto), valorBoleto, FormataCampoLivre(boleto));
                }

            }

            _dacBoleto = Mod11(boleto.CodigoBarra.Codigo, 9);

            boleto.CodigoBarra.Codigo = Strings.Left(boleto.CodigoBarra.Codigo, 4) + _dacBoleto + Strings.Right(boleto.CodigoBarra.Codigo, 39);
        }
예제 #10
0
        /// <summary>       
        /// SISTEMA	        020	020	7	FIXO
        /// CLIENTE	        021	034	CÓDIGO DO CLIENTE	CÓDIGO/AGÊNCIA CEDENTE
        /// N/NÚMERO	    035	043	NOSSO NÚMERO	NOSSO NÚMERO DO TÍTULO
        /// TIPO COBRANÇA	044	044	2	FIXO
        /// </summary>
        public string CampoLivre(Boleto boleto)
        {

            string campolivre = "7" + boleto.Cedente.ContaBancaria.Conta.ToString() + boleto.Cedente.ContaBancaria.Agencia.ToString() +
                                boleto.NossoNumero.Substring(0, 9) + "2";
            return campolivre;
        }
예제 #11
0
        public void Cecred_GerarBoletoCarteira01() {

            DateTime vencimento = new DateTime(2016, 03, 11);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0109", "265071", "1");
            cedente.Convenio = 0110041;
            cedente.Endereco = new Endereco() {
                Bairro = "BAIRRO CEDENTE",
                CEP = "88309-600",
                Cidade = "CIDADE CEDENTE",
                Complemento = "CASA",
                Email = "*****@*****.**",
                End = "Teste CEDENTE",
                Logradouro = "Rua",
                Numero = "999",
                UF = "SC"
            };
            cedente.Codigo = cedente.Convenio.ToString();

            cedente.Carteira = "01";
            string nossoNumero = "000000127"; // Tamanho nosso numero 9

            var sacado = new Sacado("000.000.000-00", "Sacado Teste");
            sacado.Endereco = new Endereco() {
                Bairro = "BAIRRO SACADO",
                CEP = "88309-600",
                Cidade = "CIDADE SACADO",
                Complemento = "CASA",
                Email = "*****@*****.**",
                End = "Teste SACADO",
                Logradouro = "Rua",
                Numero = "999",
                UF = "SC"
            };

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, 10.99m, cedente.Carteira, nossoNumero, cedente);
            boleto.NumeroDocumento = "ABC123";
            boleto.Sacado = sacado;
            BoletoNet.BoletoBancario boletoBancario = new BoletoBancario();
            boletoBancario.CodigoBanco = 85;    // CECRED
            boletoBancario.Boleto = boleto;

            try {
                boletoBancario.Boleto.Valida();
                var htmlString = boletoBancario.MontaHtml();

                //string _arquivo = string.Empty;
                //_arquivo = string.Format(@"C:\temp\boleto_{0}.html", boletoBancario.Boleto.NumeroDocumento);

                //using (System.IO.FileStream f = new System.IO.FileStream(_arquivo, System.IO.FileMode.Create)) {
                //    System.IO.StreamWriter w = new System.IO.StreamWriter(f, System.Text.Encoding.UTF8);
                //    w.Write(htmlString);
                //}

                Assert.IsTrue(!string.IsNullOrEmpty(htmlString));
            } catch {

            }

        }
예제 #12
0
        public void Cecred_GerarBoletoCarteira01()
        {
            DateTime vencimento = new DateTime(2016, 03, 11);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0109", "265071", "1");

            cedente.Convenio = 0110041;
            cedente.Endereco = new Endereco()
            {
                Bairro      = "BAIRRO CEDENTE",
                CEP         = "88309-600",
                Cidade      = "CIDADE CEDENTE",
                Complemento = "CASA",
                Email       = "*****@*****.**",
                End         = "Teste CEDENTE",
                Numero      = "999",
                UF          = "SC"
            };
            cedente.Codigo = cedente.Convenio.ToString();

            cedente.Carteira = "01";
            string nossoNumero = "000000127"; // Tamanho nosso numero 9

            var sacado = new Sacado("000.000.000-00", "Sacado Teste");

            sacado.Endereco = new Endereco()
            {
                Bairro      = "BAIRRO SACADO",
                CEP         = "88309-600",
                Cidade      = "CIDADE SACADO",
                Complemento = "CASA",
                Email       = "*****@*****.**",
                End         = "Teste SACADO",
                Numero      = "999",
                UF          = "SC"
            };

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, 10.99m, cedente.Carteira, nossoNumero, cedente);
            boleto.NumeroDocumento = "ABC123";
            boleto.Sacado          = sacado;
            BoletoNet.BoletoBancario boletoBancario = new BoletoBancario();
            boletoBancario.CodigoBanco = 85;    // CECRED
            boletoBancario.Boleto      = boleto;

            try {
                boletoBancario.Boleto.Valida();
                var htmlString = boletoBancario.MontaHtml();

                //string _arquivo = string.Empty;
                //_arquivo = string.Format(@"C:\temp\boleto_{0}.html", boletoBancario.Boleto.NumeroDocumento);

                //using (System.IO.FileStream f = new System.IO.FileStream(_arquivo, System.IO.FileMode.Create)) {
                //    System.IO.StreamWriter w = new System.IO.StreamWriter(f, System.Text.Encoding.UTF8);
                //    w.Write(htmlString);
                //}

                Assert.IsTrue(!string.IsNullOrEmpty(htmlString));
            } catch {
            }
        }
예제 #13
0
        public string Santander()
        {
            DateTime vencimento = new DateTime(2003, 5, 15);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "2269", "130000946");

            c.Codigo = "1795082";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.20m, "101", "566612457800", c);

            //NOSSO NÚMERO
            //############################################################################################################################
            //Número adotado e controlado pelo Cliente, para identificar o título de cobrança.
            //Informação utilizada pelos Bancos para referenciar a identificação do documento objeto de cobrança.
            //Poderá conter número da duplicata, no caso de cobrança de duplicatas, número de apólice, no caso de cobrança de seguros, etc.
            //Esse campo é devolvido no arquivo retorno.
            b.NumeroDocumento = "0282033";

            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP    = "70000000";
            b.Sacado.Endereco.UF     = "DF";

            //Espécie Documento - [R] Recibo
            b.EspecieDocumento = new EspecieDocumento_Santander("17");

            boletoBancario.Boleto = b;
            boletoBancario.MostrarCodigoCarteira = true;

            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #14
0
        public void FormataCodigoCliente(Boleto boleto)
        {
            if (boleto.Cedente.Codigo.Length == 7)
                boleto.Cedente.DigitoCedente = Convert.ToInt32(boleto.Cedente.Codigo.Substring(6));

            boleto.Cedente.Codigo = boleto.Cedente.Codigo.Substring(0, 6).PadLeft(6, '0');
        }
예제 #15
0
        /// <summary>
        /// Validações particulares do banco Banestes
        /// </summary>
        public override void ValidaBoleto(Boleto boleto)
        {
            try
            {
                //Carteiras válidas
                // 00 - Sem registro;

                //Atribui o nome do banco ao local de pagamento
                boleto.LocalPagamento += Nome + ". Após o vencimento, somente no BANESTES";

                //Verifica se o nosso número é válido
                if (Utils.ToInt64(boleto.NossoNumero) == 0)
                    throw new NotImplementedException("Nosso número inválido");

                //Verifica se data do processamento é valida

                if (boleto.DataProcessamento == DateTime.MinValue)
                    boleto.DataProcessamento = DateTime.Now;

                //Verifica se data do documento é valida
                if (boleto.DataDocumento == DateTime.MinValue)
                    boleto.DataDocumento = DateTime.Now;

                boleto.FormataCampos();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao validar boletos.", e);
            }
        }
예제 #16
0
        public string Real()
        {
            DateTime vencimento = new DateTime(2008, 12, 16);

            Cedente c = new Cedente("00.000.000/0000-00", "Coloque a Razão Social da sua empresa aqui", "1234", "12345");

            c.Codigo = "12345";

            BoletoNet.Boleto b = new BoletoNet.Boleto(ListaBancos.Real, vencimento, 0.1m, "57", "123456", c, new EspecieDocumento(356, "9"));
            b.NumeroDocumento = "1234567";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //b.Instrucoes.Add("Não Receber após o vencimento");
            //b.Instrucoes.Add("Após o Vencimento pague somente no Real");
            //b.Instrucoes.Add("Instrução 2");
            //b.Instrucoes.Add("Instrução 3");

            return(b.ToString());
        }
예제 #17
0
        ///<summary>
        /// Campo Livre
        ///    20 a 23 -  4 - Agência Cedente (Sem o digito verificador,completar com zeros a esquerda quandonecessário)
        ///    24 a 25 -  2 - Carteira
        ///    26 a 36 - 11 - Número do Nosso Número(Sem o digito verificador)
        ///    37 a 43 -  7 - Conta do Cedente (Sem o digito verificador,completar com zeros a esquerda quando necessário)
        ///    44 a 44	- 1 - Zero            
        ///</summary>
        public string FormataCampoLivre(Boleto boleto)
        {
            string FormataCampoLivre = string.Format("{0}{1}{2}{3}{4}", boleto.Cedente.ContaBancaria.Agencia, boleto.Carteira,
                                            boleto.NossoNumero, boleto.Cedente.ContaBancaria.Conta, "0");

            return FormataCampoLivre;
        }
예제 #18
0
        public string Real()
        {
            DateTime vencimento = new DateTime(2008, 12, 16);

            Cedente c = new Cedente("00.000.000/0000-00", "Coloque a Razão Social da sua empresa aqui", "1234", "12345");

            c.Codigo = "12345";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.1m, "57", "123456", c, new EspecieDocumento(356, "9"));
            b.NumeroDocumento = "1234567";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //b.Instrucoes.Add("Não Receber após o vencimento");
            //b.Instrucoes.Add("Após o Vencimento pague somente no Real");
            //b.Instrucoes.Add("Instrução 2");
            //b.Instrucoes.Add("Instrução 3");
            boletoBancario.Boleto = b;

            EspeciesDocumento ed = EspecieDocumento_Real.CarregaTodas();

            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #19
0
        /// <summary>
        /// DETALHE do arquivo CNAB
        /// Gera o DETALHE do arquivo remessa de acordo com o lay-out informado
        /// </summary>
        public override string GerarDetalheRemessa(Boleto boleto, int numeroRegistro, TipoArquivo tipoArquivo)
        {
            try
            {
                string _detalhe = " ";

                base.GerarDetalheRemessa(boleto, numeroRegistro, tipoArquivo);

                switch (tipoArquivo)
                {
                    case TipoArquivo.CNAB240:
                        _detalhe = GerarDetalheRemessaCNAB240();
                        break;
                    case TipoArquivo.CNAB400:
                        _detalhe = GerarDetalheRemessaCNAB400(boleto, numeroRegistro, tipoArquivo);
                        break;
                    case TipoArquivo.Outro:
                        throw new Exception("Tipo de arquivo inexistente.");
                }

                return _detalhe;

            }
            catch (Exception ex)
            {
                throw new Exception("Erro durante a geração do DETALHE arquivo de REMESSA.", ex);
            }
        }
예제 #20
0
        /// <summary>
        /// 
        ///   *******
        /// 
        ///	O código de barra para cobrança contém 44 posições dispostas da seguinte forma:
        ///    01 a 03 - 3 - Identificação  do  Banco
        ///    04 a 04 - 1 - Código da Moeda
        ///    05 a 05 – 1 - Dígito verificador do Código de Barras
        ///    06 a 09 - 4 - Fator de vencimento
        ///    10 a 19 - 10 - Valor
        ///    20 a 44 – 25 - Campo Livre
        /// 
        ///   *******
        /// 
        /// </summary>
        /// 
        public override void FormataCodigoBarra(Boleto boleto)
        {
            var valorBoleto = boleto.ValorBoleto.ToString("N2").Replace(",", "").Replace(".", "");
            valorBoleto = Utils.FormatCode(valorBoleto, 10);

            if (boleto.Carteira == "02" || boleto.Carteira == "03" || boleto.Carteira == "09" || boleto.Carteira == "19" || boleto.Carteira == "26") // Com registro
            {
                boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}{4}", Codigo.ToString(), boleto.Moeda,
                FatorVencimento(boleto), valorBoleto, FormataCampoLivre(boleto));
            }
            else if (boleto.Carteira == "06" || boleto.Carteira == "16" || boleto.Carteira == "25") // Sem Registro
            {
                if (boleto.ValorBoleto == 0)
                {
                    boleto.CodigoBarra.Codigo = string.Format("{0}{1}0000{2}{3}", Codigo.ToString(), boleto.Moeda,
                        valorBoleto, FormataCampoLivre(boleto));
                }
                else
                {
                    boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}{4}", Codigo.ToString(), boleto.Moeda,
                        FatorVencimento(boleto), valorBoleto, FormataCampoLivre(boleto));
                }

            }
            else
            {
                throw new NotImplementedException("Carteira ainda não implementada.");
            }

            _dacBoleto = Mod11(boleto.CodigoBarra.Codigo, 9);

            boleto.CodigoBarra.Codigo = Strings.Left(boleto.CodigoBarra.Codigo, 4) + _dacBoleto + Strings.Right(boleto.CodigoBarra.Codigo, 39);
        }
예제 #21
0
        private static BoletoBancario GerarBoleto()
        {
            Thread.Sleep(500);
            DateTime vencimento = DateTime.Now.AddDays(5);

            var agencia = "811";
            var conta   = "81111";

            var cedente = new Cedente("35.683.343/0001-82", "Empresa Teste", agencia, string.Empty, conta, "0");

            cedente.Codigo = "08111081111";

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, GerarValor(), "1", GerarNossoNumero(), cedente);

            boleto.NumeroDocumento   = GerarNumero();
            boleto.DataDocumento     = DateTime.Now.AddDays(-15);
            boleto.DataProcessamento = DateTime.Now;

            boleto.Remessa = new Remessa(TipoOcorrenciaRemessa.EntradaDeTitulos);
            //boleto.EspecieDocumento = new EspecieDocumento_Sicredi("A");

            boleto.Sacado = new Sacado("87425264188", "Sacado teste", new Endereco()
            {
                CEP    = "78945612",
                Cidade = "Teste",
                End    = "End teste",
            });

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 748;
            boletoBancario.Boleto      = boleto;

            return(boletoBancario);
        }
        public void Logo_Cedente()
        {
            DateTime vencimento = new DateTime(2012, 6, 14);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00059127", "0");

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, 1700, "17-019", "18204", cedente);

            boleto.NumeroDocumento = "18204";

            boleto.Sacado = new Sacado("Rochedao");

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;

            boletoBancario.Boleto = boleto;

            boletoBancario.Cedente.Convenio = 2379661;

            System.IO.File.WriteAllText(
                @"C:\meuboleto.html",
                boletoBancario.MontaHtml("", "G:\\Imagens\\10.jpg")
                );
        }
예제 #23
0
        public string Sicred()
        {
            DateTime vencimento = DateTime.Now.AddDays(1);

            Instrucao_Sicredi item1 = new Instrucao_Sicredi(9, 5);
            Instrucao_Sicredi item2 = new Instrucao_Sicredi();

            Cedente c = new Cedente("10.823.650/0001-90", "SAFIRALIFE", "4406", "22324");

            c.Codigo = "13000";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.1m, "176", "00000001", c);
            b.NumeroDocumento = "00000001";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            // Exemplo de como adicionar mais informações ao sacado
            b.Sacado.InformacoesSacado.Add(new InfoSacado("TÍTULO: " + "2541245"));

            item2.Descricao += " " + item1.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item1);



            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #24
0
        public override void FormataLinhaDigitavel(Boleto boleto)
        {
            string BBB = Utils.FormatCode(Codigo.ToString(), 3);
            int M = boleto.Moeda;
            string CCCCC1 = boleto.CodigoBarra.Chave.Substring(0, 5);
            int D1 = 0;

            string CCCCCCCCCC2 = boleto.CodigoBarra.Chave.Substring(5, 10);
            int D2 = 0;

            string CCCCCCCCCC3 = boleto.CodigoBarra.Chave.Substring(15, 10);
            int D3 = 0;

            D1 = Mod10(BBB + M + CCCCC1);
            string Grupo1 = string.Format("{0}.{1}{2} ", BBB + M + CCCCC1.Substring(0, 1), CCCCC1.Substring(1, 4), D1);

            D2 = Mod10(CCCCCCCCCC2);
            string Grupo2 = string.Format("{0}.{1}{2} ", CCCCCCCCCC2.Substring(0, 5), CCCCCCCCCC2.Substring(5, 5), D2);

            D3 = Mod10(CCCCCCCCCC3);
            string Grupo3 = string.Format("{0}.{1}{2} ", CCCCCCCCCC3.Substring(0, 5), CCCCCCCCCC3.Substring(5, 5), D3);

            string Grupo4 = string.Format("{0} {1}{2}", _dacBoleto, FatorVencimento(boleto).ToString(), Utils.FormatCode(boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", ""), 10));

            boleto.CodigoBarra.LinhaDigitavel = Grupo1 + Grupo2 + Grupo3 + Grupo4;
        }
예제 #25
0
        public string BRB()
        {
            DateTime vencimento = new DateTime(2007, 11, 15);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "208", "", "010357", "6");

            c.Codigo = "13000";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01m, "COB", "119964", c);
            b.NumeroDocumento = "119964";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //b.Instrucoes.Add("Não Receber após o vencimento");
            //b.Instrucoes.Add("Após o Vencimento pague somente no Bradesco");
            //b.Instrucoes.Add("Instrução 2");
            //b.Instrucoes.Add("Instrução 3");

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #26
0
        public override void ValidaBoleto(Boleto boleto)
        {

            // Calcula o DAC do Nosso Número
            _dacNossoNumero = CalcularDigitoNossoNumero(boleto);

            // Calcula o DAC da Conta Corrente
            _dacContaCorrente = Mod10(boleto.Cedente.ContaBancaria.Agencia + boleto.Cedente.ContaBancaria.Conta);

            //Verifica se o nosso número é válido
            if (Utils.ToInt64(boleto.NossoNumero) == 0)
                throw new NotImplementedException("Nosso número inválido");

            //Verifica se data do processamento é valida
			//if (boleto.DataProcessamento.ToString("dd/MM/yyyy") == "01/01/0001")
			if (boleto.DataProcessamento == DateTime.MinValue) // diegomodolo ([email protected])
                boleto.DataProcessamento = DateTime.Now;

            //Verifica se data do documento é valida
			//if (boleto.DataDocumento.ToString("dd/MM/yyyy") == "01/01/0001")
			if (boleto.DataDocumento == DateTime.MinValue) // diegomodolo ([email protected])
                boleto.DataDocumento = DateTime.Now;

            FormataCodigoBarra(boleto);
            FormataLinhaDigitavel(boleto);
            FormataNossoNumero(boleto);
        }
예제 #27
0
        public override void FormataCodigoBarra(Boleto boleto)
        {
            // Código de Barras
            //banco & moeda & fator & valor & carteira & nossonumero & dac_nossonumero & agencia & conta & dac_conta & "000"

            string banco = Utils.FormatCode(Codigo.ToString(), 3);
            int moeda = boleto.Moeda;
            //string digito = "";
            string valorBoleto = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
            valorBoleto = Utils.FormatCode(valorBoleto, 10);

            string fatorvencimento = FatorVencimento(boleto).ToString();

            string agencia = Strings.Right(boleto.Cedente.ContaBancaria.Agencia, 3) + boleto.Cedente.ContaBancaria.DigitoAgencia;
            string convenio = boleto.Cedente.Codigo.ToString("0000");
            string nossonumero = boleto.NossoNumero + "000000";

            string sistemaarrecadacao = "8";  // Este numero foi fornecido pelo BASA para o convenio testado.. nao sei se muda.

            boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}",
                banco, moeda, fatorvencimento, valorBoleto);

            boleto.CodigoBarra.Codigo += string.Format("{0}{1}{2}{3}",
                agencia, convenio, nossonumero, sistemaarrecadacao);

            _dacBoleto = Mod11_CodigoBarra(boleto.CodigoBarra.Codigo, 9);

            boleto.CodigoBarra.Codigo = Strings.Left(boleto.CodigoBarra.Codigo, 4) + _dacBoleto + Strings.Right(boleto.CodigoBarra.Codigo, 39);
        }
예제 #28
0
        /// <summary>
        /// Validações particulares do Bando do Nordeste
        /// </summary>
        public override void ValidaBoleto(Boleto boleto)
        {

            if (string.IsNullOrEmpty(boleto.Carteira))
                throw new NotImplementedException("Carteira não informada. Utilize a carteira 4, 5, 6, I ou Tipo de Operação 21, 41, 31, 51");

            boleto.Carteira = FormataCarteira(boleto.Carteira);//Transforma de Carteira para Tipo de Operacao. Ex.: de '4' para '21'

            boleto.QuantidadeMoeda = 0;

            boleto.NossoNumero = boleto.NossoNumero.PadLeft(7, '0');
            boleto.Cedente.ContaBancaria.Agencia = Utils.FormatCode(boleto.Cedente.ContaBancaria.Agencia, 4);
            boleto.Cedente.ContaBancaria.Conta = Utils.FormatCode(boleto.Cedente.ContaBancaria.Conta, 7);
            boleto.Cedente.ContaBancaria.DigitoConta = Utils.FormatCode(boleto.Cedente.ContaBancaria.DigitoConta, 1);

            if (string.IsNullOrEmpty(boleto.DigitoNossoNumero))
                boleto.DigitoNossoNumero = Mod11(boleto.NossoNumero, 8).ToString();

            boleto.DigitoNossoNumero = Utils.FormatCode(boleto.DigitoNossoNumero, 1);


            FormataCodigoBarra(boleto);
            FormataLinhaDigitavel(boleto);
            FormataNossoNumero(boleto);
        }
예제 #29
0
        public string Sicoob()
        {
            DateTime vencimento = new DateTime(2007, 11, 15);


            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "4444", "", "", "");

            c.Codigo        = "123456";
            c.DigitoCedente = 7;
            c.Carteira      = "1";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 10, "1", "897654321", c);
            b.NumeroDocumento = "119964";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #30
0
 public override void FormataCodigoBarra(Boleto boleto)
 {
     boleto.CodigoBarra.PreencheValores(boleto.Banco.Codigo,
         boleto.Moeda,
         AbstractBanco.FatorVencimento(boleto),
         Regex.Replace(boleto.ValorBoleto.ToString("f"), @"[,.]", "").PadLeft(10, '0'),
         "000000" + boleto.Cedente.Codigo + boleto.NossoNumero + Utils.FormatCode(LimparCarteira(boleto.Carteira), 2));
 }
예제 #31
0
        private void GeraBoletoCaixa(int qtde)
        {
            // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List<BoletoBancario> boletos = new List<BoletoBancario>();
            for (int i = 0; i < qtde; i++)
            {

                bb = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;
                bb.MostrarEnderecoCedente = true;
                DateTime vencimento = DateTime.Now.AddDays(10);

                Instrucao_Caixa item1 = new Instrucao_Caixa(9, 5);
                Instrucao_Caixa item2 = new Instrucao_Caixa(81, 10);
                Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0132", "00542");

                Boleto b = new Boleto(vencimento, 460, "SR", "00000000010001", c);
                Endereco endCed = new Endereco();

                endCed.End = "Rua Testando o Boleto";
                endCed.Bairro = "BairroTest";
                endCed.Cidade = "CidadeTes";
                endCed.CEP = "70000000";
                endCed.UF = "MG";
                b.Cedente.Endereco = endCed;

                b.NumeroDocumento = Convert.ToString(1000 + i);

                b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
                b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23ddddddddddddddddddddddddddd";
                b.Sacado.Endereco.Bairro = "Testando";
                b.Sacado.Endereco.Cidade = "Testelândia";
                b.Sacado.Endereco.CEP = "70000000";
                b.Sacado.Endereco.UF = "DF";

                item2.Descricao += " " + item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
                b.Instrucoes.Add(item1);
                b.Instrucoes.Add(item2);

                // juros/descontos

                if (b.ValorDesconto == 0)
                {
                    Instrucao_Caixa item3 = new Instrucao_Caixa(999, 1);
                    item3.Descricao += ("1,00 por dia de antecipação.");
                    b.Instrucoes.Add(item3);
                }

                bb.Boleto = b;
                bb.Boleto.Valida();

                boletos.Add(bb);
            }

            GeraLayout(boletos);
        }
예제 #32
0
        public override void FormataLinhaDigitavel(Boleto boleto)
        {
            string nossonumero = boleto.NossoNumero + "000000";

            // grupo 1:

            string banco = Utils.FormatCode(Codigo.ToString(), 3);
            string moeda = boleto.Moeda.ToString("0");
            string agencia = Strings.Right(boleto.Cedente.ContaBancaria.Agencia, 3) + boleto.Cedente.ContaBancaria.DigitoAgencia;
            string convenio_parte1 = boleto.Cedente.Codigo.ToString().Substring(0, 1);

            string dv1 = Mod10_LinhaDigitavel(banco + moeda + agencia + convenio_parte1).ToString("0");

            string grupo1 = banco + moeda + agencia + convenio_parte1 + dv1;

            // grupo 2:

            string convenio_parte2 = boleto.Cedente.Codigo.ToString().Substring(1, 3);
            string nossonumero_parte1 = nossonumero.Substring(0, 7);

            string dv2 = Mod10_LinhaDigitavel(convenio_parte2 + nossonumero_parte1).ToString("0");

            string grupo2 = convenio_parte2 + nossonumero_parte1 + dv2;

            // grupo 3:

            string nossonumero_parte2 = nossonumero.Substring(7, 9);
            string identificadorsistema = "8";

            string dv3 = Mod10_LinhaDigitavel(nossonumero_parte2 + identificadorsistema).ToString("0");

            string grupo3 = nossonumero_parte2 + identificadorsistema + dv3;

            // grupo 4:

            string dv_codigobarra = boleto.CodigoBarra.Codigo.Substring(4, 1);

            string grupo4 = dv_codigobarra;

            // grupo 5:

            string fatorvencimento = FatorVencimento(boleto).ToString();
            string valordocumento = Utils.FormatCode(boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", ""), 10);

            string grupo5 = fatorvencimento + valordocumento;

            string L = grupo1 + grupo2 + grupo3 + grupo4 + grupo5;

            boleto.CodigoBarra.LinhaDigitavel =
                L.Substring(0, 5) + "." +
                L.Substring(5, 5) + " " +
                L.Substring(10, 5) + "." +
                L.Substring(15, 6) + "  " +
                L.Substring(21, 5) + "." +
                L.Substring(26, 6) + " " +
                L.Substring(32, 1) + " " +
                L.Substring(33, 14);
        }
예제 #33
0
        //
        public void GeraDadosItau()
        {
            DateTime vencimento = new DateTime(2007, 9, 10);

            Instrucao_Itau item1 = new Instrucao_Itau(9, 5);
            Instrucao_Itau item2 = new Instrucao_Itau(81, 10);
            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000");
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = "13000";

            Boleto b = new Boleto(vencimento, 1642, "198", "92082835", c);
            b.NumeroDocumento = "1008073";

            b.DataVencimento = Convert.ToDateTime("12-12-12");

            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "DF";

            item2.Descricao += item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item1);
            b.Instrucoes.Add(item2);
            b.Cedente.ContaBancaria.DigitoAgencia = "1";
            b.Cedente.ContaBancaria.DigitoAgencia = "2";

            b.Banco = new Banco(341);

            Boletos boletos = new Boletos();
            boletos.Add(b);

            Boleto b2 = new Boleto(vencimento, 1642, "198", "92082835", c);
            b2.NumeroDocumento = "1008073";

            b2.DataVencimento = Convert.ToDateTime("12-12-12");

            b2.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b2.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b2.Sacado.Endereco.Bairro = "Testando";
            b2.Sacado.Endereco.Cidade = "Testelândia";
            b2.Sacado.Endereco.CEP = "70000000";
            b2.Sacado.Endereco.UF = "DF";

            item2.Descricao += item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b2.Instrucoes.Add(item1);
            b2.Instrucoes.Add(item2);
            b2.Cedente.ContaBancaria.DigitoAgencia = "1";
            b2.Cedente.ContaBancaria.DigitoAgencia = "2";

            b2.Banco = new Banco(341);

            boletos.Add(b2);

            GeraArquivoCNAB400(b2.Banco, c, boletos);
        }
예제 #34
0
        /// <summary>
        /// Generate the boletu object
        /// </summary>
        /// <returns></returns>
        public BoletoNet.Boleto GenerateBoleto()
        {
            if (FinancierOperation == null)
                throw new ArgumentException("Only can generate Boletu object in Parcel with Payment Method!");

            if (!FinancierOperation.PaymentMethod.IsBoleto)
                throw new ArgumentException("Only can generate Boletu object for Boletu Payment Method!");

            var b = new Boleto(DueDate,
                               Convert.ToDouble(Amount),
                               FinancierOperation.OperationNumber,

                               // Nosso Numero identifica o boleto no banco
                               ParcelId.ToString(),

                               FinancierOperation.Account.Agency.Split('-')[0],
                               FinancierOperation.Account.AccountNumber.Split('-')[0]);


            b.DataDocumento = DueDate;
            b.DataProcessamento = DateTime.Now;
            b.NumeroDocumento = ParcelId.ToString();

            b.Banco = new Banco(Convert.ToInt32(FinancierOperation.Account.Bank.BankNumber));

            //
            // Empresa
            //
            b.Cedente = new Cedente(
                Company.LegalEntityProfile.CNPJ,
                Company.LegalEntityProfile.CompanyName,
                FinancierOperation.Account.Agency.Split('-')[0],
                FinancierOperation.Account.AccountNumber.Split('-')[0],
                FinancierOperation.Account.AccountNumberDigit.ToString())
                {
                    Codigo = Convert.ToInt32(FinancierOperation.MembershipNumber)
                };

            //
            // Cliente
            //
            b.Sacado = new Sacado(
                 Invoice.Customer.Identification,
                 Invoice.Customer.Name,
                 new Endereco()
                 {
                     End = Invoice.Customer.Address.Name,
                     Bairro = Invoice.Customer.Address.Neighborhood,
                     Cidade = Invoice.Customer.Address.City,
                     CEP = Invoice.Customer.Address.PostalCode,
                     UF = Invoice.Customer.Address.State
                 }
            );

            return b;
        }
예제 #35
0
        public override void FormataNossoNumero(Boleto boleto)
        {
            //Variaveis
            int resultado = 0;
            int dv = 0;
            int resto = 0;
            String constante = "319731973197319731973";
            String cooperativa = boleto.Cedente.ContaBancaria.Agencia;
            String codigo = boleto.Cedente.Codigo + boleto.Cedente.DigitoCedente.ToString();
            String nossoNumero = boleto.NossoNumero;
            StringBuilder seqValidacao = new StringBuilder();

            /*
             * Preenchendo com zero a esquerda
             */
            //Tratando cooperativa
            for (int i = 0; i < 4 - cooperativa.Length; i++)
            {
                seqValidacao.Append("0");
            }
            seqValidacao.Append(cooperativa);
            //Tratando cliente
            for (int i = 0; i < 10 - codigo.Length; i++)
            {
                seqValidacao.Append("0");
            }
            seqValidacao.Append(codigo);
            //Tratando nosso número
            for (int i = 0; i < 7 - nossoNumero.Length; i++)
            {
                seqValidacao.Append("0");
            }
            seqValidacao.Append(nossoNumero);

            /*
             * Multiplicando cada posição por sua respectiva posição na constante.
             */
            for (int i = 0; i < 21; i++)
            {
                resultado = resultado + (Convert.ToInt16(seqValidacao.ToString().Substring(i, 1)) * Convert.ToInt16(constante.Substring(i, 1)));
            }
            //Calculando mod 11
            resto = resultado % 11;
            //Verifica resto
            if (resto == 1 || resto == 0)
            {
                dv = 0;
            }
            else
            {
                dv = 11 - resto;
            }
            //Montando nosso número
            boleto.NossoNumero = boleto.NossoNumero + "-" + dv.ToString();
            boleto.DigitoNossoNumero = dv.ToString();
        }
예제 #36
0
        public void Initialize()
        {
            _banco = new Banco(BancoBanestesCodigo);

            _boleto = new BoletoNet.Boleto(new DateTime(2014, 1, 18), 2952.95m, "00", "21487805", "123", "1.222.333")
            {
                Banco = _banco,
                NumeroDocumento = "18.030299.01"
            };
        }
예제 #37
0
        /// <summary>
        /// Calcula o digito do Nosso Numero
        /// </summary>
        public string CalcularDigitoNossoNumero(Boleto boleto)
        {
            int dig;

            dig = Mod10(boleto.NossoNumero.Substring(0, 9) + boleto.Cedente.ContaBancaria.Agencia + boleto.Cedente.ContaBancaria.Conta);

            return dig.ToString();

            //throw new NotImplementedException("Função do calcular digito do nosso número não implementada.");
        }
예제 #38
0
        public void Initialize()
        {
            _banco = new Banco(BancoBanestesCodigo);

            _boleto = new BoletoNet.Boleto(new DateTime(2014, 1, 18), 2952.95m, "00", "21487805", "123", "1.222.333")
            {
                Banco           = _banco,
                NumeroDocumento = "18.030299.01"
            };
        }
예제 #39
0
        public override void FormataLinhaDigitavel(Boleto boleto)
        {
            //041M2.1AAAd1 CCCCC.CCNNNd2 NNNNN.041XXd3 V FFFF9999999999
            //OU
            //041M2.1AAAd1 ACCCCC.CCNNd2 NNNNN.N40XXd3 V FFFF9999999999
            //(Isso depende da constante que usar) no caso de cima "041" no de baixo "40" antes do "XX"

            string Campo1 = string.Empty;
            string Campo2 = string.Empty;
            string Campo3 = string.Empty;
            string Campo4 = string.Empty;
            string Campo5 = string.Empty;

            string Cedente = boleto.Cedente.Codigo.Substring(4); //Os quatro primeiros digitos do código do cedente é sempre a agência
            string NossoNumero = boleto.NossoNumero.Substring(0, 8);

            //Campo 1
            string M = boleto.Moeda.ToString();
            string AAA = boleto.Cedente.ContaBancaria.Agencia.Substring(1, 3);
            string Metade1 = "041" + M + "2";
            string Metade2 = "1" + AAA;
            string d1 = Mod10Banri(Metade1 + Metade2).ToString();
            Campo1 = Metade1 + "." + Metade2 + d1;

            //Campo 2
            Metade1 = string.Empty;
            Metade2 = string.Empty;
            Metade1 = Cedente.Substring(0, 5);
            //Metade2 = Cedente.Substring(5, 2) + NossoNumero.Substring(0, 2);
            Metade2 = Cedente.Substring(5, 2) + NossoNumero.Substring(0, 3);
            string d2 = Mod10Banri(Metade1 + Metade2).ToString();
            Campo2 = Metade1 + "." + Metade2 + d2;

            //Campo 3
            Metade1 = string.Empty;
            Metade2 = string.Empty;
            string XX = _primDigito.ToString() + _segDigito.ToString();
            //Metade1 = NossoNumero.Substring(2, 5);
            Metade1 = NossoNumero.Substring(3, 5);
            //Metade2 = NossoNumero.Substring(7, 1) + "041" + XX;
            Metade2 = "041" + XX;
            string d3 = Mod10Banri(Metade1 + Metade2).ToString();
            Campo3 = Metade1 + "." + Metade2 + d3;

            //Campo 4
            Campo4 = boleto.CodigoBarra.Codigo.Substring(4, 1);

            //Campo 5
            string fatorVenc = FatorVencimento(boleto).ToString("0000");
            string valor = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
            valor = Utils.FormatCode(valor, 10);
            Campo5 = fatorVenc + valor;

            boleto.CodigoBarra.LinhaDigitavel = Campo1 + "  " + Campo2 + "  " + Campo3 + "  " + Campo4 + "  " + Campo5;
        }
예제 #40
0
 public override void FormataNossoNumero(Boleto boleto)
 {
     try
     {
         _IBanco.FormataNossoNumero(boleto);
     }
     catch (Exception ex)
     {
         throw new Exception("Erro durante a formatação do nosso número.", ex);
     }
 }
 public override void FormataCodigoBarra(Boleto boleto)
 {
     try
     {
         throw new NotImplementedException("Função não implementada!");
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao formatar código de barras.", ex);
     }
 }
 public override void FormataLinhaDigitavel(Boleto boleto)
 {
     try
     {
         throw new NotImplementedException("Função não implementada!");
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao formatar linha digitável.", ex);
     }
 }
 public override void FormataNossoNumero(Boleto boleto)
 {
     try
     {
         throw new NotImplementedException("Função não implementada!");
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao formatar nosso número", ex);
     }
 }
 /// <summary>
 /// Validações particulares do BankBoston
 /// </summary>
 public override void ValidaBoleto(Boleto boleto)
 {
     try
     {
         throw new NotImplementedException("Função não implementada!");
     }
     catch
     {
         throw new Exception("Erro ao validar boletos.");
     }
 }
예제 #45
0
        public MemoryStream GerarBoletoTeste(BoletoIn paramsBoleto)
        {
            DateTime           vencimento = DateTime.Now.AddDays(10);
            Instrucao_Bradesco item       = new Instrucao_Bradesco(9, 5);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado",
                                    "1234", "5", "123456", "7");

            c.Codigo = "13000";

            //Carteiras
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1.00m, "09", "01000000001", c);
            b.ValorMulta      = 0.10m;
            b.ValorCobrado    = 1.10m;
            b.NumeroDocumento = "01000000001";
            b.DataVencimento  = new DateTime(2015, 09, 12);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item); //"Não Receber após o vencimento");

            Instrucao i = new Instrucao(237);

            i.Descricao = "Nova Instrução";
            b.Instrucoes.Add(i);

            /* A data de vencimento não é usada
             * Usado para mostrar no lugar da data de vencimento o termo "Contra Apresentação";
             * Usado na carteira 06 */

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 237;
            boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;
            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            try
            {
                //return SaveBoletoPDF(boleto_bancario.MontaBytesPDF(), false);
                return(SaveBoletoPDF(boletoBancario.MontaBytesPDF(), true));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #46
0
        public BoletoOut GerarBoleto(BoletoIn boletoIn)
        {
            DateTime           vencimento = Convert.ToDateTime(boletoIn.Vencimento);
            Instrucao_Bradesco item       = new Instrucao_Bradesco(9, 5);

            Cedente cedente = new Cedente(boletoIn.Cedente.CNPJ, boletoIn.Cedente.Nome,
                                          boletoIn.Cedente.Agencia, boletoIn.Cedente.DigitoAgencia, boletoIn.Cedente.Conta, boletoIn.Cedente.DigitoConta);

            cedente.Codigo   = boletoIn.Cedente.Codigo;
            cedente.Convenio = 9;

            //Carteiras
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento,
                                                      Convert.ToDecimal(boletoIn.Valor), "09", boletoIn.Numero, cedente);

            b.ValorMulta      = 0.10m;
            b.ValorCobrado    = 1.10m;
            b.NumeroDocumento = boletoIn.Numero;
            //b.DataVencimento = new DateTime(2015, 09, 12);

            b.Sacado = new Sacado(boletoIn.Sacado.CNPJ, boletoIn.Sacado.Nome);
            b.Sacado.Endereco.End    = boletoIn.Sacado.Endereco;
            b.Sacado.Endereco.Bairro = boletoIn.Sacado.Bairro;
            b.Sacado.Endereco.Cidade = boletoIn.Sacado.Cidade;
            b.Sacado.Endereco.CEP    = boletoIn.Sacado.CEP;
            b.Sacado.Endereco.UF     = boletoIn.Sacado.UF;

            item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item); //"Não Receber após o vencimento");

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 237;
            boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            BoletoOut boletoOut = new BoletoOut();

            try
            {
                boletoOut.Boleto = ConvertBase64(SaveBoletoPDF(boletoBancario.MontaBytesPDF()));
                //boletoOut.Remessa = ConvertBase64(GerarRemessa(b.Cedente, boletoBancario.Boleto));
                return(boletoOut);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #47
0
        public string Unibanco()
        {
            // ----------------------------------------------------------------------------------------
            // Exemplo 1

            //DateTime vencimento = new DateTime(2001, 12, 31);

            //Cedente c = new Cedente("00.000.000/0000-00", "Next Consultoria", "1234", "5", "123456", "7");
            //c.Codigo = 123456;

            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1000.00, "20", "1803029901", c);
            //b.NumeroDocumento = b.NossoNumero;

            // ----------------------------------------------------------------------------------------
            // Exemplo 2

            DateTime vencimento = new DateTime(2008, 03, 10);

            Cedente c = new Cedente("00.000.000/0000-00", "Next Consultoria Ltda.", "0123", "100618", "9");

            c.Codigo = "203167";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 2952.95m, "20", "1803029901", c);
            b.NumeroDocumento = b.NossoNumero;

            // ----------------------------------------------------------------------------------------

            //b.Instrucoes.Add("Não receber após o vencimento");
            //b.Instrucoes.Add("Após o vencimento pague somente no Unibanco");
            //b.Instrucoes.Add("Taxa bancária - R$ 2,95");
            //b.Instrucoes.Add("Emitido pelo componente Boleto.NET");

            // ----------------------------------------------------------------------------------------

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #48
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");
        }
예제 #49
0
        private BoletoBancario GerarBoletoCarteira18019()
        {
            DateTime vencimento = new DateTime(2022, 12, 3);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00045110", "X");

            var boleto = new BoletoNet.Boleto(vencimento, 8420, "18-019", "10028528", cedente);

            boleto.NumeroDocumento = "10028528";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;

            boletoBancario.Boleto = boleto;

            return(boletoBancario);
        }
        private BoletoBancario GerarBoletoCarteira17019()
        {
            DateTime vencimento = new DateTime(2012, 6, 14);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00059127", "0");

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, 1700, "17-019", "18204", cedente);

            boleto.NumeroDocumento = "18204";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;

            boletoBancario.Boleto = boleto;

            return(boletoBancario);
        }
예제 #51
0
        public string Bradesco()
        {
            DateTime vencimento = new DateTime(2009, 12, 17);

            Instrucao_Bradesco item = new Instrucao_Bradesco(9, 5);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "123456", "7");

            c.Codigo = "13000";


            //Carteiras
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 1.01m, "09", "01000000001", c);
            b.NumeroDocumento = "01000000001";
            b.DataVencimento  = new DateTime(2015, 09, 12);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            item.Descricao += " após " + item.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item); //"Não Receber após o vencimento");

            Instrucao i = new Instrucao(237);

            i.Descricao = "Nova Instrução";
            b.Instrucoes.Add(i);

            /*
             * A data de vencimento não é usada
             * Usado para mostrar no lugar da data de vencimento o termo "Contra Apresentação";
             * Usado na carteira 06
             */
            boletoBancario.MostrarContraApresentacaoNaDataVencimento = true;

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtmlEmbedded());
        }
예제 #52
0
        public string Itau()
        {
            DateTime vencimento = DateTime.Now.AddDays(1);

            Instrucao_Itau item1 = new Instrucao_Itau(9, 5);
            Instrucao_Itau item2 = new Instrucao_Itau(81, 10);
            Cedente        c     = new Cedente("10.823.650/0001-90", "SAFIRALIFE", "4406", "22324");

            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = "13000";

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.1m, "176", "00000001", c, new EspecieDocumento(341, "1"));
            b.NumeroDocumento = "00000001";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            // Exemplo de como adicionar mais informações ao sacado
            b.Sacado.InformacoesSacado.Add(new InfoSacado("TÍTULO: " + "2541245"));

            item2.Descricao += " " + item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b.Instrucoes.Add(item1);
            b.Instrucoes.Add(item2);

            // juros/descontos

            if (b.ValorDesconto == 0)
            {
                Instrucao_Itau item3 = new Instrucao_Itau(999, 1);
                item3.Descricao += ("1,00 por dia de antecipação.");
                b.Instrucoes.Add(item3);
            }

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #53
0
        public void TestInitialize()
        {
            DateTime vencimento = new DateTime(2012, 12, 3);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00045110", "X")
            {
                Codigo = "1220950"
            };

            var boleto = new BoletoNet.Boleto(vencimento, 8420, "18", "10028528", cedente);

            boleto.NumeroDocumento = "10028528";

            var boletoBancario = new BoletoBancario();

            this.boletoBancario             = boletoBancario;
            this.boletoBancario.CodigoBanco = 1;

            this.boletoBancario.Boleto = boleto;
        }
예제 #54
0
        public string Caixa()
        {
            DateTime vencimento = new DateTime(2008, 12, 20);

            Cedente c = new Cedente("000.000.000-00", "Boleto.net ILTDA", "1234", "12345678", "9");

            c.Codigo = "112233";


            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 20.00m, "2", "0123456789", c);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //Adiciona as instruções ao boleto
            #region Instruções
            Instrucao_Caixa item;
            //ImportanciaporDiaDesconto
            item = new Instrucao_Caixa((int)EnumInstrucoes_Caixa.Multa, Convert.ToDecimal(0.40));
            b.Instrucoes.Add(item);
            item = new Instrucao_Caixa((int)EnumInstrucoes_Caixa.JurosdeMora, Convert.ToDecimal(0.01));
            b.Instrucoes.Add(item);
            item = new Instrucao_Caixa((int)EnumInstrucoes_Caixa.NaoReceberAposNDias, 90);
            b.Instrucoes.Add(item);
            #endregion Instruções

            EspecieDocumento_Caixa espDocCaixa = new EspecieDocumento_Caixa();
            b.EspecieDocumento  = new EspecieDocumento_Caixa(espDocCaixa.getCodigoEspecieByEnum(EnumEspecieDocumento_Caixa.DuplicataMercantil));
            b.NumeroDocumento   = "00001";
            b.DataProcessamento = DateTime.Now;
            b.DataDocumento     = DateTime.Now;

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #55
0
        public string HSBC()
        {
            DateTime vencimento = new DateTime(2008, 7, 4);

            Cedente c = new Cedente("00.000.000/0000-00", "Minha empresa", "0000", "", "00000", "00");

            // Código fornecido pela agencia, NÃO é o numero da conta
            c.Codigo = "0000000";                                                                                  // 7 posicoes

            BoletoNet.Boleto b = new BoletoNet.Boleto(ListaBancos.HSBC, vencimento, 2, "CNR", "1330001490684", c); //cod documento
            b.NumeroDocumento = "9999999999999";                                                                   // nr documento

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            return(b.ToString());
        }
예제 #56
0
        public string Basa()
        {
            DateTime vencimento = new DateTime(2008, 02, 07);

            Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "12345678", "9");

            c.Codigo = "12548";

            BoletoNet.Boleto b = new BoletoNet.Boleto(ListaBancos.Basa, vencimento, 45.50m, "CNR", "125478", c);

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";


            b.NumeroDocumento = "12345678901";

            return(b.ToString());
        }
예제 #57
0
        public string HSBC()
        {
            DateTime vencimento = DateTime.Now.Date.AddDays(-120);

            Cedente c = new Cedente("00.000.000/0000-00", "Minha empresa", "0000", "", "00000", "00");

            // Código fornecido pela agencia, NÃO é o numero da conta
            c.Codigo = "0000000";                                                                // 7 posicoes

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 2, "CNR", "1330001490684", c); //cod documento
            b.NumeroDocumento = "9999999999999";                                                 // nr documento

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtmlEmbedded());
        }
예제 #58
0
        public string HSBC()
        {
            DateTime vencimento = new DateTime(2008, 7, 4);

            Cedente c = new Cedente("00.000.000/0000-00", "Minha empresa", "0000", "", "00000", "00");

            // Código fornecido pela agencia, NÃO é o numero da conta
            c.Codigo = "0000000";                                                            // 7 posicoes

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 2, "CNR", "888888888", c); //cod documento
            b.NumeroDocumento = "9999999999999";                                             // nr documento

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #59
0
        public string BancodoBrasil()
        {
            DateTime vencimento = new DateTime(2008, 11, 11);

            #region Exemplo Carteira 16, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 16 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            Cedente          c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01m, "16", "09876543210", c);

            #endregion Exemplo Carteira 16, com nosso número de 11 posições

            #region Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 16 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;

            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "16", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            #region Exemplo Carteira 18, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 18 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);

            #endregion Exemplo Carteira 18, com nosso número de 11 posições

            #region Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 18 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21


            b.NumeroDocumento = "12415487";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //Adiciona as instruções ao boleto
            #region Instruções
            //Protestar
            Instrucao_BancoBrasil item = new Instrucao_BancoBrasil(9, 5);
            b.Instrucoes.Add(item);
            //ImportanciaporDiaDesconto
            item = new Instrucao_BancoBrasil(30, 0);
            b.Instrucoes.Add(item);
            //ProtestarAposNDiasCorridos
            item = new Instrucao_BancoBrasil(81, 15);
            b.Instrucoes.Add(item);
            #endregion Instruções

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtml("/Content/Boletos/", ""));
        }
예제 #60
0
파일: GerarUI.cs 프로젝트: oraculum/CEF
        private void btnGerar_Click(object sender, EventArgs e)
        {
            if (validForm())
            {
                List <Entity.Boleto> lb = new List <Entity.Boleto>();

                Int16    qtde = Int16.Parse(txtQtde.Text);
                DateTime venc = DateTime.Parse(txtVencimento.Text);
                lblVencimentos.Text = "";

                for (int i = 0; i < qtde; i++)
                {
                    Entity.Boleto o = new Entity.Boleto();
                    o.Cliente    = ClienteBLL.get(Int32.Parse(txtCliente.Text));
                    o.Valor      = Decimal.Parse(txtValor_Contrato.Text);
                    o.Obs1       = txtObs1.Text;
                    o.Obs2       = txtObs2.Text;
                    o.Obs3       = txtObs3.Text;
                    o.Vencimento = venc;

                    BoletoBLL.save(ref o);
                    lb.Add(o);

                    lblVencimentos.Text += venc.ToShortDateString() + Environment.NewLine;
                    venc = venc.AddMonths(1);
                }

                lbb = new List <BoletoNet.BoletoBancario>();

                foreach (Entity.Boleto boleto in lb)
                {
                    Configuracao   config = ConfiguracaoBLL.get();
                    Entity.Boleto  b      = boleto;
                    BoletoBancario bb     = new BoletoBancario();
                    bb.CodigoBanco       = 104;
                    bb.OcultarInstrucoes = true;

                    Cedente c = new Cedente(config.CNPJ, config.RazaoSocial, config.Agencia, config.Conta_Format, config.ContaDigito);
                    c.Codigo = config.Cedente;
                    String           base_nossnum = (24000000000000000 + b.ID).ToString();
                    BoletoNet.Boleto bol          = new BoletoNet.Boleto(b.Vencimento, b.Valor, "SR", base_nossnum, c);
                    bol.NumeroDocumento        = b.ID.ToString();
                    bol.Sacado                 = new Sacado(b.Cliente.CNPJ, b.Cliente.Nome + " (" + b.Cliente.Fantasia + ") ");
                    bol.Sacado.Endereco.End    = b.Cliente.Endereco;
                    bol.Sacado.Endereco.Numero = b.Cliente.Numero;
                    bol.Sacado.Endereco.Bairro = b.Cliente.Bairro;
                    bol.Sacado.Endereco.Cidade = b.Cliente.Cidade;
                    bol.Sacado.Endereco.UF     = b.Cliente.UF;
                    bol.Sacado.Endereco.CEP    = b.Cliente.CEP;

                    bol.DataDocumento = DateTime.Today.Date;
                    bol.ValorBoleto   = b.Valor;
                    Instrucao lot = new Instrucao(104);
                    lot.Descricao = config.Descricao;
                    bol.Instrucoes.Add(lot);

                    if (!String.IsNullOrEmpty(txtValor_Bruto.Text))
                    {
                        Instrucao obs = new Instrucao(104);
                        obs.Descricao = "Cobrar valor normal contrato após o vencimento R$ " + Decimal.Parse(txtValor_Bruto.Text).ToString("n");
                        bol.Instrucoes.Add(obs);
                    }

                    if (b.Obs1.Length > 0)
                    {
                        Instrucao obs1 = new Instrucao(104);
                        obs1.Descricao = b.Obs1;
                        bol.Instrucoes.Add(obs1);
                    }
                    if (b.Obs2.Length > 0)
                    {
                        Instrucao obs2 = new Instrucao(104);
                        obs2.Descricao = b.Obs2;
                        bol.Instrucoes.Add(obs2);
                    }
                    if (b.Obs3.Length > 0)
                    {
                        Instrucao obs3 = new Instrucao(104);
                        obs3.Descricao = b.Obs3;
                        bol.Instrucoes.Add(obs3);
                    }

                    bb.Boleto = bol;
                    bb.Boleto.Valida();

                    //salvando o nosso numero depois de gerado
                    b.NossoNum = bb.Boleto.NossoNumero;
                    BoletoBLL.save(ref b);

                    lbb.Add(bb);
                }

                GeraLayout();
                _impressaoBoleto.webBrowser1.Navigate(_arquivo);
                _impressaoBoleto.ShowDialog();


                toolStripStatusLabel1.Text = "Boletos gerados";
            }
        }