예제 #1
0
        /// <summary>
        ///
        ///   *******
        ///
        ///	O código de barra para cobrança contém 44 posições dispostas da seguinte forma:
        ///    01 a 03 -  3 - 409 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 44 – 25 - Campo livre
        ///
        ///   *******
        ///
        /// </summary>
        public override void FormataCodigoBarra(Boleto boleto)
        {
            string valorBoleto = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");

            valorBoleto = Utils.FormatCode(valorBoleto, 10);

            boleto.CodigoBarra.Codigo = string.Format("{0}{1}{2}{3}{4}", Codigo.ToString(), boleto.Moeda,
                                                      FatorVencimento(boleto), valorBoleto, FormataCampoLivre(boleto));

            _dacBoleto = Banco_Unibanco.Mod11(boleto.CodigoBarra.Codigo);

            boleto.CodigoBarra.Codigo = Strings.Left(boleto.CodigoBarra.Codigo, 4) + _dacBoleto + Strings.Right(boleto.CodigoBarra.Codigo, 39);
        }
예제 #2
0
 public override void FormataNossoNumero(Boleto boleto)
 {
     boleto.NossoNumero = string.Format("{0}-{1}", boleto.NossoNumero, Banco_Unibanco.Mod11(boleto.NossoNumero, true));
 }
예제 #3
0
 public string CalculaDigitoVerificador(Boleto boleto)
 {
     return(Banco_Unibanco.Mod11(boleto.NossoNumero, true).ToString());
 }