public void FormataNossoNumero(Boleto boleto) { try { if (String.IsNullOrEmpty(boleto.IdentificadorInternoBoleto) || String.IsNullOrEmpty(boleto.IdentificadorInternoBoleto.TrimStart('0'))) { throw new Exception("Sequencial Nosso Número não foi informado."); } if (boleto.CarteiraCobranca.Tipo != "1" && boleto.CarteiraCobranca.Tipo != "2") { throw new Exception( "Informe o tipo da carteira. 1 - COBRANÇA DIRETA SEM REGISTRO 2 - COBRANÇA DIRETA COM REGISTRO"); } if (String.IsNullOrEmpty(boleto.CedenteBoleto.ContaBancariaCedente.Agencia)) { throw new Exception("Informe a Agencia da conta do cedente."); } if (String.IsNullOrEmpty(boleto.CedenteBoleto.ContaBancariaCedente.Conta)) { throw new Exception("Informe a Conta da conta do cedente."); } if (String.IsNullOrEmpty(boleto.CedenteBoleto.ContaBancariaCedente.DigitoConta)) { throw new Exception("Informe o Dígito da conta do cedente."); } var chave = "000" + boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(3, '0') + boleto.CedenteBoleto.ContaBancariaCedente.Conta.PadLeft(6, '0') + boleto.CedenteBoleto.ContaBancariaCedente.DigitoConta + boleto.CarteiraCobranca.Tipo + boleto.IdentificadorInternoBoleto.PadLeft(6, '0') + CodigoBanco.PadLeft(3, '0'); /*Calcular primeiro digito*/ var D1 = Common.Mod10(chave); chave += D1; /*Calcular segundo digito*/ var D2 = Common.Mod11Base7BRB(chave); chave += D2; boleto.SetNossoNumeroFormatado(string.Format("{0}{1}{2}{3}{4}", boleto.CarteiraCobranca.Tipo, boleto.IdentificadorInternoBoleto.PadLeft(6, '0'), CodigoBanco.PadLeft(3, '0'), D1, D2)); } catch (Exception ex) { throw new Exception(string.Format("<BoletoBr>" + "{0}Mensagem: Falha ao formatar nosso número." + "{0}Carteira: " + boleto.CarteiraCobranca.Codigo + "{0}Numeração Sequencial: " + boleto.NossoNumeroFormatado), ex); } }
public void FormataLinhaDigitavel(Boleto boleto) { var nossoNumero = boleto.NossoNumeroFormatado.Replace("-", "").PadLeft(8, '0'); #region AAABC.DDDDE var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoMoeda = MoedaBanco; //1 var carteiraCobranca = boleto.CarteiraCobranca.Codigo.ExtrairValorDaLinha(1, 1); //1 var codigoAgencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0'); //4 var calculoDv1 = Common.Mod10(string.Format("{0}{1}{2}{3}", codigoBanco, codigoMoeda, carteiraCobranca, codigoAgencia)).ToString(CultureInfo.InvariantCulture); //1 var grupo1 = string.Format("{0}{1}{2}.{3}{4}", codigoBanco, codigoMoeda, carteiraCobranca, codigoAgencia, calculoDv1); #endregion #region FFGGG.GGGGHI var codigoModalidade = boleto.CarteiraCobranca.Codigo.ExtrairValorDaLinha(3, 4); //2 var codigoCedente = (boleto.CedenteBoleto.CodigoCedente + boleto.CedenteBoleto.DigitoCedente).PadLeft(7, '0'); //7 var primeiroDigitoNossoNumero = nossoNumero.ExtrairValorDaLinha(1, 1); var calculoDv2 = Common.Mod10(string.Format("{0}{1}{2}", codigoModalidade, codigoCedente, primeiroDigitoNossoNumero)).ToString(CultureInfo.InvariantCulture); //1 var grupo2 = string.Format("{0}{1}.{2}{3}{4}", codigoModalidade, codigoCedente.ExtrairValorDaLinha(1, 3), codigoCedente.ExtrairValorDaLinha(4, 7), primeiroDigitoNossoNumero, calculoDv2); #endregion #region HHHHH.HHJJJK var restanteNossoNumero = nossoNumero.ExtrairValorDaLinha(2, 8); //7 var numeroParcela = "001"; //3 var calculoDv3 = Common.Mod10(string.Format("{0}{1}", restanteNossoNumero, numeroParcela)).ToString(CultureInfo.InvariantCulture); //1 var grupo3 = string.Format("{0}.{1}{2}{3}", restanteNossoNumero.ExtrairValorDaLinha(1, 5), restanteNossoNumero.ExtrairValorDaLinha(6, 7), numeroParcela, calculoDv3); #endregion #region MMMMNNNNNNNNNN var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(); //4 var valorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 var grupo4 = string.Format("{0}{1}", fatorVencimento, valorNominal); #endregion boleto.LinhaDigitavelBoleto = string.Format("{0} {1} {2} {3} {4}", grupo1, grupo2, grupo3, _dvCodigoBarras, grupo4); }
private string GerarCodigoDeBarras(Boleto boleto, string valorBoleto, string cmp_livre, string dv_cmpLivre, int?dv_geral = null) { return(string.Format("{0}{1}{2}{3}{4}{5}{6}", CodigoBanco.PadLeft(3, '0'), boleto.Moeda, dv_geral.HasValue ? dv_geral.Value.ToString() : string.Empty, Common.FatorVencimento(boleto.DataVencimento), valorBoleto, cmp_livre, dv_cmpLivre)); }
public void FormataLinhaDigitavel(Boleto boleto) { var nossoNumero = boleto.NossoNumeroFormatado.Replace("-", "").PadLeft(8, '0'); #region Campo 1 var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoMoeda = MoedaBanco; //1 var livre1 = _campoLivre.Substring(0, 5); var calculoDv1 = Common.Mod10(string.Format("{0}{1}{2}", codigoBanco, codigoMoeda, livre1)).ToString(CultureInfo.InvariantCulture); //1 var campo1 = string.Format("{0}{1}{2}{3}", codigoBanco, codigoMoeda, livre1, calculoDv1); var grupo1 = string.Format("{0}.{1}", campo1.Substring(0, 5), campo1.Substring(5, 5)); #endregion #region Campo 2 var livre2 = _campoLivre.Substring(5, 10); var calculoDv2 = Common.Mod10(livre2).ToString(CultureInfo.InvariantCulture); //1 var campo2 = string.Format("{0}{1}", livre2, calculoDv2); var grupo2 = string.Format("{0}.{1}", campo2.Substring(0, 5), campo2.Substring(5, 6)); #endregion #region Campo 3 var livre3 = _campoLivre.Substring(15, 10); var calculoDv3 = Common.Mod10(livre3).ToString(CultureInfo.InvariantCulture); //1 var campo3 = string.Format("{0}{1}", livre3, calculoDv3); var grupo3 = string.Format("{0}.{1}", campo3.Substring(0, 5), campo3.Substring(5, 6)); #endregion #region Campo 5 var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(); //4 var valorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 var grupo5 = string.Format("{0}{1}", fatorVencimento, valorNominal); #endregion boleto.LinhaDigitavelBoleto = string.Format("{0} {1} {2} {3} {4}", grupo1, grupo2, grupo3, _dvCodigoBarras, grupo5); }
/// <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> public void FormataCodigoBarra(Boleto boleto) { var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoMoeda = MoedaBanco; //1 var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString().PadLeft(4, '0'); //4 var valorNominal = boleto.ValorBoleto.ToStringParaVoloresDecimais().PadLeft(10, '0'); //10 const string fixo = "9"; //1 var codigoCedente = boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0'); //7 var nossoNumero = boleto.NossoNumeroFormatado.Replace("-", "").Replace(",", "").Replace(".", "").PadLeft(13, '0'); //13 var ios = boleto.PercentualIOS.ToString(); //1 var tipoCarteira = boleto.CarteiraCobranca.Codigo; //3; boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}", codigoBanco, codigoMoeda, fatorVencimento, valorNominal, fixo, codigoCedente, nossoNumero, ios, tipoCarteira); var calculoDv = Mod10Mod11Santander(boleto.CodigoBarraBoleto, 9).ToString(); boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}", codigoBanco, codigoMoeda, calculoDv, fatorVencimento, valorNominal, fixo, codigoCedente, nossoNumero, ios, tipoCarteira); }
public void FormataCodigoBarra(Boleto boleto) { var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoMoeda = MoedaBanco; //1 var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(); //4 var valorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 var carteiraCobranca = boleto.CarteiraCobranca.Codigo.ExtrairValorDaLinha(1, 1); //1 var codigoAgencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0'); //4 var codigoModalidade = boleto.CarteiraCobranca.Codigo.ExtrairValorDaLinha(3, 4); //2 var codigoCedente = (boleto.CedenteBoleto.CodigoCedente + boleto.CedenteBoleto.DigitoCedente).PadLeft(7, '0'); //7 var nossoNumeroBoleto = boleto.NossoNumeroFormatado.Replace("-", "").PadLeft(8, '0'); //8 var numeroParcela = "001"; //3; boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}", codigoBanco, codigoMoeda, fatorVencimento, valorNominal, carteiraCobranca, codigoAgencia, codigoModalidade, codigoCedente, nossoNumeroBoleto, numeroParcela); _dvCodigoBarras = Common.Mod11Peso2a9(boleto.CodigoBarraBoleto); boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}", codigoBanco, codigoMoeda, _dvCodigoBarras, fatorVencimento, valorNominal, carteiraCobranca, codigoAgencia, codigoModalidade, codigoCedente, nossoNumeroBoleto, numeroParcela); }
public void FormataCodigoBarra(Boleto boleto) { var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoMoeda = MoedaBanco; //1 var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(); //4 var valorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 var codigoAgencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0'); //4 var carteiraCobranca = boleto.CarteiraCobranca.Codigo.PadLeft(3, '0'); //3 /*Numero da Operação*/ var numeroOperacao = boleto.CedenteBoleto.Operacao.PadLeft(7, '0'); //7 var nossoNumeroBoleto = boleto.NossoNumeroFormatado.Replace("-", "").PadLeft(11, '0'); //11 var campoLivre = string.Format("{0}{1}{2}{3}", codigoAgencia, carteiraCobranca, numeroOperacao, nossoNumeroBoleto); boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}", codigoBanco, codigoMoeda, fatorVencimento, valorNominal, campoLivre); _dvCodigoBarras = Common.Mod11Peso2a9(boleto.CodigoBarraBoleto); boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}", codigoBanco, codigoMoeda, _dvCodigoBarras, fatorVencimento, valorNominal, campoLivre); _campoLivre = campoLivre; }
/// <summary> /// /// ******* /// /// A Linha Digitavel para cobrança contém 44 posições dispostas da seguinte forma: /// 1º Grupo - /// 01 a 03 - 3 - 033 fixo - Código do banco /// 04 a 04 - 1 - 9 fixo - Código da moeda (R$) outra moedas 8 /// 05 a 05 – 1 - Fixo 9 /// 06 a 09 - 4 - Código cedente padrão santander /// 10 a 10 - 1 - Código DV do primeiro grupo /// 2º Grupo - /// 11 a 13 – 3 - Restante do código cedente /// 14 a 20 - 7 - 7 primeiros campos do nosso número /// 21 a 21 - 13 - Código DV do segundo grupo /// 3º Grupo - /// 22 - 27 - 6 - Restante do nosso número /// 28 - 28 - 1 - IOS - Seguradoras(Se 7% informar 7. Limitado a 9%) Demais clientes usar 0 /// 29 - 31 - 3 - Tipo de carteira /// 32 - 32 - 1 - Código DV do terceiro grupo /// 4º Grupo - /// 33 - 33 - 1 - Composto pelo DV do código de barras /// 5º Grupo - /// 34 - 36 - 4 - Fator de vencimento /// 37 - 47 - 10 - Valor do título /// ******* /// /// </summary> public void FormataLinhaDigitavel(Boleto boleto) { var nossoNumero = boleto.NossoNumeroFormatado.Replace("-", "").PadLeft(13, '0'); //13 var codigoCedente = boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0'); var fatorVencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(); var ios = boleto.PercentualIOS.ToString(); //1 #region Grupo1 var codigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var codigoModeda = MoedaBanco; //1 const string fixo = "9"; //1 var codigoCedente1 = codigoCedente.Substring(0, 4); //4 var calculoDv1 = Common.Mod10(string.Format("{0}{1}{2}{3}", codigoBanco, codigoModeda, fixo, codigoCedente1)) .ToString(CultureInfo.InvariantCulture); //1 var grupo1 = string.Format("{0}{1}{2}.{3}{4}", codigoBanco, codigoModeda, fixo, codigoCedente1, calculoDv1); #endregion #region Grupo2 var codigoCedente2 = codigoCedente.Substring(4, 3); //3 var nossoNumero1 = nossoNumero.Substring(0, 7); //7 var calculoDv2 = Common.Mod10(string.Format("{0}{1}", codigoCedente2, nossoNumero1)) .ToString(CultureInfo.InvariantCulture); var grupo2 = string.Format("{0}{1}{2}", codigoCedente2, nossoNumero1, calculoDv2); grupo2 = " " + grupo2.Substring(0, 5) + "." + grupo2.Substring(5, 6); #endregion #region Grupo3 var nossoNumero2 = nossoNumero.Substring(7, 6); //6 var tipoCarteira = boleto.CarteiraCobranca.Codigo; //3 var calculoDv3 = Common.Mod10(string.Format("{0}{1}{2}", nossoNumero2, ios, tipoCarteira)) .ToString(CultureInfo.InvariantCulture); //1 var grupo3 = string.Format("{0}{1}{2}{3}", nossoNumero2, ios, tipoCarteira, calculoDv3); grupo3 = " " + grupo3.Substring(0, 5) + "." + grupo3.Substring(5, 6) + " "; #endregion #region Grupo4 var dVcodigoBanco = CodigoBanco.PadLeft(3, '0'); //3 var dVcodigoMoeda = MoedaBanco; //1 var dVvalorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 const string dVfixo = "9"; //1 var dVcodigoCedente = boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0'); //7 var dVtipoCarteira = boleto.CarteiraCobranca.Codigo; //3; var calculoDVcodigo = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}", dVcodigoBanco, dVcodigoMoeda, fatorVencimento, dVvalorNominal, dVfixo, dVcodigoCedente, nossoNumero, ios, dVtipoCarteira); var grupo4 = Mod10Mod11Santander(calculoDVcodigo, 9) + " "; #endregion #region Grupo5 var valorNominal = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "").PadLeft(10, '0'); //10 var grupo5 = string.Format("{0}{1}", fatorVencimento, valorNominal); #endregion boleto.LinhaDigitavelBoleto = string.Format("{0}{1}{2}{3}{4}", grupo1, grupo2, grupo3, grupo4, grupo5); }
/// <summary> /// Monta o Html do boleto bancário com as imagens embutidas no conteúdo, sem necessidade de links externos /// de acordo com o padrão http://en.wikipedia.org/wiki/Data_URI_scheme /// </summary> /// <param name="convertLinhaDigitavelToImage">Converte a Linha Digitável para imagem, com o objetivo de evitar malwares.</param> /// <returns>Html do boleto gerado</returns> /// <desenvolvedor>Iuri André Stona</desenvolvedor> /// <criacao>23/01/2014</criacao> /// <alteracao>08/08/2014</alteracao> public string MontaHtmlEmbedded(bool convertLinhaDigitavelToImage = false) { OnLoad(EventArgs.Empty); var assembly = Assembly.GetExecutingAssembly(); var streamLogo = assembly.GetManifestResourceStream("BoletoNet.Imagens." + CodigoBanco.ToString("000") + ".jpg"); string base64Logo = Convert.ToBase64String(new BinaryReader(streamLogo).ReadBytes((int)streamLogo.Length)); string fnLogo = string.Format("data:image/gif;base64,{0}", base64Logo); var streamBarra = assembly.GetManifestResourceStream("BoletoNet.Imagens.barra.gif"); string base64Barra = Convert.ToBase64String(new BinaryReader(streamBarra).ReadBytes((int)streamBarra.Length)); string fnBarra = string.Format("data:image/gif;base64,{0}", base64Barra); var cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); string base64CodigoBarras = Convert.ToBase64String(cb.ToByte()); string fnCodigoBarras = string.Format("data:image/gif;base64,{0}", base64CodigoBarras); if (convertLinhaDigitavelToImage) { string linhaDigitavel = Boleto.CodigoBarra.LinhaDigitavel.Replace(" ", " ").Trim(); var imagemLinha = Utils.DrawText(linhaDigitavel, new Font("Arial", 30, FontStyle.Bold), Color.Black, Color.White); string base64Linha = Convert.ToBase64String(Utils.ConvertImageToByte(imagemLinha)); string fnLinha = string.Format("data:image/gif;base64,{0}", base64Linha); Boleto.CodigoBarra.LinhaDigitavel = @"<img style=""max-width:420px; margin-bottom: 2px"" src=" + fnLinha + " />"; } string s = HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras).ToString(); if (convertLinhaDigitavelToImage) { s = s.Replace(".w500", ""); } return(s); }
public void FormataLinhaDigitavel(Boleto boleto) { boleto.Moeda = MoedaBanco; var nossoNumeroLinhaDigitavel = boleto.NossoNumeroFormatado.PadLeft(13, '0'); var codigoCedente = boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0'); var digitoAutoConferenciaNossoNumero = Common.Mod11(boleto.NossoNumeroFormatado, 7).ToString(CultureInfo.InvariantCulture); var C1 = string.Empty; var C2 = string.Empty; var C3 = string.Empty; var C5 = string.Empty; string AAA; string B; string CCCCC; string DD; string DDDDDD; string EEEE; string EEEEEEEE; string FFFFF; string FFFFFFF; string GGGGG; string HHHH; string IIIIIIIIII; string X; string Y; string Z; string W; if (boleto.CarteiraCobranca.Codigo == "CSB") { #region AAABC.CCCCX AAA = CodigoBanco.PadLeft(3, '0'); B = boleto.Moeda; CCCCC = boleto.NossoNumeroFormatado.Substring(0, 5); X = Common.Mod10(AAA + B + CCCCC).ToString(CultureInfo.InvariantCulture); C1 = String.Format("{0}{1}{2}.", AAA, B, CCCCC.Substring(0, 1)); C1 += String.Format("{0}{1} ", CCCCC.Substring(1, 4), X); #endregion #region DDDDD.DEEEEY // ReSharper disable once InconsistentNaming DDDDDD = boleto.NossoNumeroFormatado.Substring(5, 5) + digitoAutoConferenciaNossoNumero; // ReSharper disable once InconsistentNaming EEEE = boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0'); Y = Common.Mod10(DDDDDD + EEEE).ToString(CultureInfo.InvariantCulture); C2 = String.Format("{0}.", DDDDDD.Substring(0, 5)); C2 += string.Format("{0}{1}{2} ", DDDDDD.Substring(5, 1), EEEE, Y); #endregion #region FFFFF.FF001Z // ReSharper disable once InconsistentNaming FFFFFFF = boleto.CedenteBoleto.ContaBancariaCedente.Conta.PadLeft(7, '0'); Z = Common.Mod10(FFFFFFF + "001").ToString(CultureInfo.InvariantCulture); C3 = String.Format("{0}.", FFFFFFF.Substring(0, 5)); C3 += String.Format("{0}001{1}", FFFFFFF.Substring(5, 2), Z); #endregion } if (boleto.CarteiraCobranca.Codigo == "CNR") { #region AAABC.CCCCX AAA = CodigoBanco.PadLeft(3, '0'); B = boleto.Moeda; CCCCC = boleto.CedenteBoleto.CodigoCedente.Substring(0, 5); X = Common.Mod10(AAA + B + CCCCC).ToString(CultureInfo.InvariantCulture); C1 = string.Format("{0}{1}{2}.", AAA, B, CCCCC.Substring(0, 1)); C1 += string.Format("{0}{1} ", CCCCC.Substring(1, 4), X); #endregion AAABC.CCDDX #region DDEEE.EEEEEY // ReSharper disable once InconsistentNaming DD = boleto.CedenteBoleto.CodigoCedente.Substring(5, 2); // ReSharper disable once InconsistentNaming EEEEEEEE = nossoNumeroLinhaDigitavel.Substring(0, 8); Y = Common.Mod10(DD + EEEEEEEE).ToString(CultureInfo.InvariantCulture); C2 = string.Format("{0}{1}.", DD, EEEEEEEE.Substring(0, 3)); C2 += string.Format("{0}{1} ", EEEEEEEE.Substring(3, 5), Y); #endregion DDEEE.EEEEEY #region FFFFF.GGGGGZ // ReSharper disable once InconsistentNaming FFFFF = nossoNumeroLinhaDigitavel.Substring(8, 5); // ReSharper disable once InconsistentNaming GGGGG = (boleto.DataVencimento.DayOfYear + boleto.DataVencimento.ToString("yy").Substring(1, 1)).PadLeft(4, '0') + "2"; Z = Common.Mod10(FFFFF + GGGGG).ToString(CultureInfo.InvariantCulture); C3 = string.Format("{0}.", FFFFF); C3 += string.Format("{0}{1}", GGGGG, Z); #endregion FFFFF.GGGGGZ } // ReSharper disable once InconsistentNaming W = String.Format(" {0} ", _digitoAutoConferenciaCodigoBarras); #region HHHHIIIIIIIIII // ReSharper disable once InconsistentNaming HHHH = Common.FatorVencimento(boleto.DataVencimento).ToString(CultureInfo.InvariantCulture); // ReSharper disable once InconsistentNaming IIIIIIIIII = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", ""); IIIIIIIIII = IIIIIIIIII.PadLeft(10, '0'); C5 = HHHH + IIIIIIIIII; #endregion HHHHHHHHHHHHHH boleto.LinhaDigitavelBoleto = C1 + C2 + C3 + W + C5; }