예제 #1
0
        /// <summary>
        /// Montars the linha digitavel.
        /// </summary>
        /// <param name="codigoBarras">The codigo barras.</param>
        /// <param name="titulo">The titulo.</param>
        /// <returns>System.String.</returns>
        public virtual string MontarLinhaDigitavel(string codigoBarras, Titulo titulo)
        {
            Modulo.FormulaDigito        = CalcDigFormula.Modulo10;
            Modulo.MultiplicadorInicial = 1;
            Modulo.MultiplicadorFinal   = 2;
            Modulo.MultiplicadorAtual   = 2;

            //Campo 1(Código Banco,Tipo de Moeda,5 primeiro digitos do Campo Livre)
            Modulo.Documento = string.Format("{0}9{1}", codigoBarras.Substring(0, 3), codigoBarras.Substring(19, 5));
            Modulo.Calcular();

            var campo1 = string.Format("{0}.{1}{2}", Modulo.Documento.Substring(0, 5), Modulo.Documento.Substring(5, 4), Modulo.DigitoFinal);

            //Campo 2(6ª a 15ª posições do campo Livre)
            Modulo.Documento = codigoBarras.Substring(24, 10);
            Modulo.Calcular();

            var campo2 = string.Format("{0}.{1}{2}", Modulo.Documento.Substring(0, 5), Modulo.Documento.Substring(5, 5), Modulo.DigitoFinal);

            //Campo 3 (16ª a 25ª posições do campo Livre)
            Modulo.Documento = codigoBarras.Substring(34, 10);
            Modulo.Calcular();

            var campo3 = string.Format("{0}.{1}{2}", Modulo.Documento.Substring(0, 5), Modulo.Documento.Substring(5, 5), Modulo.DigitoFinal);

            //Campo 4 (Digito Verificador Nosso Numero)
            var campo4 = codigoBarras.Substring(4, 1);

            //Campo 5 (Fator de Vencimento e Valor do Documento)
            var campo5 = codigoBarras.Substring(5, 14);

            return(string.Format("{0} {1} {2} {3} {4}", campo1, campo2, campo3, campo4, campo5));
        }
예제 #2
0
        /// <summary>
        /// Calculars the digito codigo barras.
        /// </summary>
        /// <param name="codigoBarras">The codigo barras.</param>
        /// <returns>System.String.</returns>
        protected virtual string CalcularDigitoCodigoBarras(string codigoBarras)
        {
            Modulo.CalculoPadrao();
            Modulo.Documento = codigoBarras;
            Modulo.Calcular();

            if (Modulo.DigitoFinal == 0 || Modulo.DigitoFinal > 9)
            {
                return("1");
            }

            return(Modulo.DigitoFinal.ToString());
        }