Пример #1
0
        /// <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
        }
Пример #2
0
        /// <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;
        }