public void FormataChave(Boleto boleto) { string zeros = "000"; string agencia = boleto.Cedente.ContaBancaria.Agencia; string conta = boleto.Cedente.ContaBancaria.Conta + boleto.Cedente.ContaBancaria.DigitoConta; int categoria = 1; boleto.Categoria = categoria; string nossonumero = boleto.NossoNumero; string banco = Utils.FormatCode(Codigo.ToString(), 3); //Mod10 dentro da classe Banco_BRB pelas particularidades que ela tem. int d1 = Banco_BRB.Mod10(zeros + agencia + conta + categoria + nossonumero + banco); int d2 = Banco_BRB.Mod11_NossoNumero(zeros + agencia + conta + categoria + nossonumero + banco + d1, 7); if (d2 > 10) { d1 += 1; d2 -= 20; } boleto.CodigoBarra.Chave = zeros + agencia + conta + categoria + nossonumero + banco + d1 + d2; }