Beispiel #1
0
        private void Validar()
        {
            if (NossoNumero.Length == 0 || NossoNumero.Equals("0"))
            {
                throw new ArgumentException("Não poder ser uma string vazia.", "NossoNumero");
            }

            if (NossoNumero.Length > 14)
            {
                throw new ArgumentException("Não poder ter mais que 14 caracteres.", "NossoNumero");
            }

            if (!Regex.IsMatch(NossoNumero, @"^[0-9]*$"))
            {
                throw new ArgumentException("Deve possuir apenas números.", "NossoNumero");
            }

            if (SeuNumero.Length == 0)
            {
                throw new ArgumentException("Não poder ser uma string vazia.", "SeuNumero");
            }

            if (SeuNumero.Length > 15)
            {
                throw new ArgumentException("Não poder ter mais que 15 caracteres.", "SeuNumero");
            }
        }
Beispiel #2
0
        /// <summary>
        ///	O código de barra para cobrança contém 44 posições dispostas da seguinte forma:
        ///    01 a 03 -  3 - 033 fixo - Código do banco
        ///    04 a 04 -  1 - 9 fixo - Código da moeda (R$)
        ///    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 20 –  1 - Fixo 9
        ///    21 a 27 -  7 - Código do cedente padrão satander
        ///    28 a 40 - 13 - Nosso número
        ///    41 - 41 - 1 -  IOS  - Seguradoras(Se 7% informar 7. Limitado  a 9%) Demais clientes usar 0
        ///    42 - 44 - 3 - Tipo de modalidade da carteira 101, 102, 201
        /// </summary>
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "033")                                                              // Código do Banco na Câmara de Compensação = "033"
            .Set(4, 4, "9")                                                                // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                   // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))           // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 20, "9")                                                              //20 a 20 –  1 - Fixo 9
            .Set(21, 27, cedente.CodCedente)                                               // 7 - Código do cedente padrão satander
            .Set(28, 40, NossoNumero.Replace("-", ""))                                     // 13 - Nosso número
            .Set(41, 41, "0")                                                              //  IOS  - Seguradoras(Se 7% informar 7. Limitado  a 9%) Demais clientes usar 0
            .Set(42, 44, "102")                                                            //3 - Tipo de modalidade da carteira 101, 102, 201
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9)); // DAC

            return(barras);
        }