public string CalculoLinhaDigitavel(string Banco, string Carteira, string Agencia, string Modalidade, string CodigoBeneficiario, string NossoNumero, DateTime vencimento, decimal valor, string campolivre, string Parcela) { var campo1 = ""; var linha = ""; campo1 = Banco + "9"; campo1 += Carteira; campo1 += LibProdusys.StrZero(Agencia, 4); campo1 += LibProdusys.Modulo10(campo1); linha = campo1; var campo2 = Modalidade; campo2 += CodigoBeneficiario; campo2 += NossoNumero.Substring(0, 1); TimeSpan d = vencimento - Convert.ToDateTime("07/10/1997"); string fatorvencto = LibProdusys.StrZero(d.Days.ToString(), 4); string vl = LibProdusys.StrZero(LibProdusys.TC(valor.ToString()), 10); string codbar = LibProdusys.StrZero(Banco, 3) + "9" + fatorvencto + vl + campolivre; string dv = LibProdusys.Modulo11(codbar); if (dv == "0") { dv = "1"; } campo2 += codbar.Substring(0, 4) + dv + codbar.Substring(4); linha += campo2; var campo3 = ""; campo3 = CodigoBeneficiario.Substring(1, CodigoBeneficiario.Length); campo3 += LibProdusys.StrZero(Parcela, 3); campo3 += LibProdusys.Modulo10(campo3); linha += campo3; var campo4 = ""; campo4 = linha.Substring(4, 1); linha += campo4; var campo5 = ""; campo5 += linha.Substring(5, 14); linha += campo5; return(linha); }