public void TestGerarHeaderArquivoRemessaBRBCnab400()
        {
            var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro,
                "");
            var banco = Fabricas.BancoFactory.ObterBanco("070");
            var contaBancariaCedente = new ContaBancaria("201", "", "29088", "1");
            var cedente = new Cedente("99999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);
            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca {Codigo = "1", Tipo = "1"};

            var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa)
            {
                NumeroDocumento = "279141",
                ValorBoleto = Convert.ToDecimal(222.75),
                IdentificadorInternoBoleto = "279141",
                DataVencimento = new DateTime(2015, 03, 16),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.Diversos),
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
                BancoBoleto = banco,
                TipoCobrancaJuro = TipoCobrancaJuro.JurosDiario
            };

            banco.FormatarBoleto(boleto);

            var remessa = new RemessaCnab400();

            remessa.Header = new HeaderRemessaCnab400(boleto, 1, 1, DateTime.Now);
            var detalheIndividual = new DetalheRemessaCnab400(boleto, 1);
            remessa.RegistrosDetalhe = new List<DetalheRemessaCnab400>
            {
                detalheIndividual
            };
            var escritor = new EscritorRemessaCnab400BRB(remessa);

            var linhasEscrever = escritor.EscreverTexto(remessa);
            var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss"));

            var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt");
            var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true);

            foreach (var linha in linhasEscrever)
            {
                arquivo.WriteLine(linha);
            }
            arquivo.Close();
        }
        public static IEscritorArquivoRemessaCnab400 ObterEscritorRemessa(RemessaCnab400 remessaEscrever)
        {
            try
            {
                switch (remessaEscrever.Header.CodigoBanco.PadLeft(3, '0'))
                {
                        /* 001 - Banco do Brasil */
                    case "001":
                        return new Bancos.Brasil.EscritorRemessaCnab400BancoDoBrasil(remessaEscrever);
                        break;
                        /* 003 - Banco da Amazônia */
                    case "003":
                        throw new NotImplementedException("Banco " + remessaEscrever.Header.CodigoBanco +
                                                          " ainda não foi implementado.");
                        break;
                    case "033":
                        return new Bancos.Santander.EscritorRemessaCnab400Santander(remessaEscrever);
                        /* 104 - Caixa */
                    case "104":
                        throw new NotImplementedException("Banco " + remessaEscrever.Header.CodigoBanco +
                                                          " ainda não foi implementado.");
                        break;
                        /* 237 - Bradesco */
                    case "237":
                        return new Bancos.Bradesco.EscritorRemessaCnab400Bradesco(remessaEscrever);
                        break;
                        /* 341 - Itaú */
                    case "341":
                        return new Bancos.Itau.EscritorRemessaCnab400Itau(remessaEscrever);
                        break;
                        /* 399 - HSBC */
                    case "399":
                        throw new NotImplementedException("Banco " + remessaEscrever.Header.CodigoBanco +
                                                          " ainda não foi implementado.");
                        break;
                        /* 070 - BRB */
                    case "070":
                        return new Bancos.BRB.EscritorRemessaCnab400BRB(remessaEscrever);
                        break;
                    default:
                        throw new NotImplementedException("Banco " + remessaEscrever.Header.CodigoBanco +
                                                          " ainda não foi implementado.");
                }
            }
            catch (Exception ex)
            {

                throw new Exception("Erro durante a execução da transação.", ex);
            }
        }
        public RemessaCnab400 GerarRemessa(HeaderRemessaCnab400 header, List<Boleto> boletos, List<DetalheRemessaCnab400> detalhes, TrailerRemessaCnab400 trailer)
        {
            //var contadorSequencialRegistro = 1;
            var objReturn = new RemessaCnab400();
            objReturn.RegistrosDetalhe = new List<DetalheRemessaCnab400>();

            objReturn.Header = header;

            foreach (var detalhe in detalhes)
            {
                objReturn.RegistrosDetalhe.Add(detalhe);
                //objReturn.AdicionarBoleto(boletoAddRemessa, contadorSequencialRegistro);
                //contadorSequencialRegistro++;
            }

            objReturn.Trailer = trailer;

            return objReturn;
        }
Example #4
0
 public RemessaCnab400 GerarArquivoRemessaCnab400(RemessaCnab400 remessaCnab400, List<Boleto> boletos)
 {
     throw new NotImplementedException();
 }
 public void ValidarRemessa(RemessaCnab400 remessaValidar)
 {
     throw new NotImplementedException();
 }
        public List<string> EscreverTexto(RemessaCnab400 remessaEscrever)
        {
            List<string> listaRetornar = new List<string>();

            listaRetornar.Add(EscreverHeader(remessaEscrever.Header));

            foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalhe)
            {
                listaRetornar.AddRange(new[] {EscreverDetalhe(detalheAdicionar)});
            }

            listaRetornar.Add(EscreverTrailer(remessaEscrever.Trailer));

            return listaRetornar;
        }
 public EscritorRemessaCnab400Bradesco(RemessaCnab400 remessaEscrever)
 {
     _remessaEscrever = remessaEscrever;
 }
 public EscritorRemessaCnab400Itau(RemessaCnab400 remessaEscrever)
 {
     _remessaEscrever = remessaEscrever;
 }
        public void TestGeracaoArquivoRemessa()
        {
            var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("237", "2");

            var contaBancariaCedente = new ContaBancaria("1234", "8", "12345", "6");

            var cedente = new Cedente("99999", "1", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca { Codigo = "06" };

            var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa)
            {
                NumeroDocumento = "3242",
                ValorBoleto = Convert.ToDecimal(275),
                IdentificadorInternoBoleto = "3242",
                DataVencimento = new DateTime(2014, 08, 04),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil)
            };

            banco.FormatarBoleto(boleto);

            var remessa = new RemessaCnab400();

            remessa.Header = new HeaderRemessaCnab400(boleto, 1, 1);

            var detalheIndividual = new DetalheRemessaCnab400(boleto, 1);

            remessa.RegistrosDetalhe = new List<DetalheRemessaCnab400>
            {
                detalheIndividual
            };

            remessa.Trailer = new TrailerRemessaCnab400(1, 1);

            var escritor = new EscritorRemessaCnab400Bradesco(remessa);

            var linhasEscrever = escritor.EscreverTexto(remessa);

            var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss"));

            var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt");

            StringBuilder sb = new StringBuilder();
            foreach (var linha in linhasEscrever)
            {
                sb.AppendLine(linha);
            }

            File.WriteAllLines(path, linhasEscrever.ToArray());
        }
 public List<string> EscreverTexto(RemessaCnab400 remessaEscrever)
 {
     throw new NotImplementedException();
 }
 public EscritorRemessaCnab400BancoDoBrasil(RemessaCnab400 remessaEscrever)
 {
     _remessaEscrever = remessaEscrever;
 }
        public List<string> EscreverTexto(RemessaCnab400 remessaEscrever)
        {
            var listaRetornar = new List<string> {EscreverHeader(remessaEscrever.Header)};

            foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalhe)
            {
                listaRetornar.AddRange(new[] {EscreverDetalhe(detalheAdicionar)});
            }

            if (listaRetornar.Count > 0)
            {
                listaRetornar[0] = listaRetornar[0].PreencherValorNaLinha(34, 39,
                    listaRetornar.Count.ToString().PadLeft(6, '0'));
            }

            listaRetornar.Add(Environment.NewLine);

            return listaRetornar;
        }
        public void TestGerarDetalheArquivoRemessaBancoBrasilCnab400()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("001", "9");

            var contaBancariaCedente = new ContaBancaria("2374", "4", "0165199", "4");

            var cedente = new Cedente("9999999", "000123", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca { Codigo = "16" };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "1",
                ValorBoleto = Convert.ToDecimal(221.40),
                IdentificadorInternoBoleto = "1",
                DataVencimento = new DateTime(2014, 07, 10),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil),
                TipoModalidade = "21",
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
                BancoBoleto = banco
            };

            banco.FormatarBoleto(boleto);

            var remessaEscrever = new RemessaCnab400();

            remessaEscrever.Header = new HeaderRemessaCnab400(boleto, 1, 1, DateTime.Now);
            var detalheIndividual = new DetalheRemessaCnab400(boleto, 1);
            remessaEscrever.RegistrosDetalhe = new List<DetalheRemessaCnab400>
            {
                detalheIndividual
            };
            var escritor = new EscritorRemessaCnab400BancoDoBrasil(remessaEscrever);

            var linhasEscrever = escritor.EscreverTexto(remessaEscrever);

            //const int numeroRegistro = 1;

            //var escritor = new EscritorRemessaCnab400BancoDoBrasil();

            //var linhasEscrever = escritor.EscreverDetalhe(boleto, numeroRegistro);

            //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            //var data = DateTime.Now.ToString("ddMMyyyy");

            //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_REGISTRO_DETALHE", ".txt");

            //var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true);
            //arquivo.WriteLine(linhasEscrever);

            //arquivo.Close();
        }
 public EscritorRemessaCnab400Santander(RemessaCnab400 remessaEscrever)
 {
     _remessaEscrever = remessaEscrever;
 }