/// <summary> /// Adiciona um boleto e seu respectivo sacado (será armazenado uma cópia (cole) destas instancias /// </summary> public void Add(BoletoInfo bol, SacadoInfo sac) { BoletoInfo boleto = bol.Clone(); // é feita uma cópia do boleto com os dados adicionais para não alterar o original boleto.SacadoInit((SacadoInfo)CobUtil.Clone(sac)); cnab.Boletos.Add(boleto); #if TEST_LOG cnab.Log += "\r\n +" + boleto.NossoNumero + " QTD: " + cnab.Boletos.Count + "\r\n"; BoletoInfo b; foreach (string n in Boletos.NossoNumeros) { b = Boletos[n]; cnab.Log += string.Format("'{0}' '{1}' / ", n, b.NossoNumero); } //cnab.Log += " - bi - "; //foreach (string n in bi.Keys) //{ // b = null; // if (bi.TryGetValue(n, out b)) // cnab.Log += string.Format("'{0}' '{1}' / ", n, b.NossoNumero); // else // cnab.Log += n + "! "; //} #endif }
/// <summary> /// Inicializa o gerador de layouts de acordo com o cedente, usando a instancia apropriada para cada banco /// </summary> public void Init(CedenteInfo cedente) { string[] cBanco = cedente.Banco.Split('-'); Bancos banco = (Bancos)CobUtil.GetInt(cBanco[0]); if (banco == Bancos.SANTANDER || banco == Bancos.BANESPA_SANTANDER) { if (cedente.Layout == LayoutTipo.CNAB240) { cnab = new CNAB240Santander(); } else { cnab = new CNAB400Santander(); } } else if (banco == Bancos.BRADESCO) { cnab = new CNAB400Bradesco(); } else if (banco == Bancos.ITAU) { cnab = new CNAB400Itau(); } else if (banco == Bancos.BANCO_DO_BRASIL) { cnab = new CNAB400BB(); } else if (banco == Bancos.SICREDI) { cnab = new CNAB400Sicredi(); } else if (banco == Bancos.UniCred) { cnab = new CNAB400UniCred(); } else if (banco == Bancos.BANESTES) // Em homologação { cnab = new CNAB400Banestes(); } else if (banco == Bancos.BRB) // Em homologação { cnab = new CNAB400BRB(); } else if (banco == Bancos.CAIXA_ECONOMICA_FEDERAL) { if (cedente.Layout == LayoutTipo.Auto || cedente.Layout == LayoutTipo.CNAB240) { cnab = new CNAB240Caixa(); } } else if (banco == Bancos.SICOOB) { cnab = new CNAB240Sicoob(); } if (cnab == null) { throw new Exception("Banco " + banco.ToString() + " não implementado para layout " + cedente.Layout); } cnab.Cedente = CobUtil.Clone(cedente) as CedenteInfo; }