/// <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)); }
/// <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()); }