public RetornoCnab400 ProcessarRetorno() { /* Validações */ #region Validações ValidaArquivoRetorno(); #endregion var objRetornar = new RetornoCnab400 { RegistrosDetalhe = new List <DetalheRetornoCnab400>() }; foreach (var linhaAtual in _linhasArquivo) { if (linhaAtual.ExtrairValorDaLinha(1, 1) == "0") { objRetornar.Header = ObterHeader(linhaAtual); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "7") { var objDetalhe = ObterRegistrosDetalhe(linhaAtual); objRetornar.RegistrosDetalhe.Add(objDetalhe); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "9") { objRetornar.Trailer = ObterTrailer(linhaAtual); } } return(objRetornar); }
public RetornoCnab400 ProcessarRetorno() { try { ValidaArquivoRetorno(); var objRetornar = new RetornoCnab400(); objRetornar.RegistrosDetalhe = new List <DetalheRetornoCnab400>(); foreach (var linhaAtual in _linhasArquivo) { if (linhaAtual.ExtrairValorDaLinha(1, 1) == "0") { objRetornar.Header = ObterHeader(linhaAtual); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "1") { var objDetalhe = ObterRegistrosDetalhe(linhaAtual); objRetornar.RegistrosDetalhe.Add(objDetalhe); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "9") { objRetornar.Trailer = ObterTrailer(linhaAtual); } } return(objRetornar); } catch (ArgumentException ex) { throw new ArgumentException("O arquivo selecionado possui um formato inválido ou não corresponde a conta bancária escolhida", ex); } }
public RetornoGenerico(RetornoCnab400 retornoCnab400) { Inicializa(); RetornoCnab400Especifico = retornoCnab400; /* Transformar de CNAB400 para formato genérico */ Header.CodigoDoBanco = retornoCnab400.Header.CodigoDoBanco; Header.Convenio = retornoCnab400.Header.NumeroConvenio.ToString(CultureInfo.InvariantCulture); Header.CodigoAgencia = retornoCnab400.Header.CodigoAgenciaCedente.ToString(CultureInfo.InvariantCulture); Header.DvAgencia = retornoCnab400.Header.DvAgenciaCedente; Header.NumeroConta = retornoCnab400.Header.ContaCorrente; Header.DvConta = retornoCnab400.Header.DvContaCorrente; Header.NomeEmpresa = retornoCnab400.Header.NomeDoBeneficiario; Header.NomeDoBanco = retornoCnab400.Header.NomeDoBanco; foreach (var registroAtual in retornoCnab400.RegistrosDetalhe) { var banco = BancoFactory.ObterBanco(Header.CodigoDoBanco); var ocorrencia = banco.ObtemCodigoOcorrenciaByInt(registroAtual.CodigoDeOcorrencia); var detalheGenericoAdd = new RetornoDetalheGenerico { NossoNumero = registroAtual.NossoNumero, TipoCobranca = registroAtual.TipoCobranca.ToString(CultureInfo.InvariantCulture), Carteira = registroAtual.CodigoCarteira, PercentualDesconto = registroAtual.TaxaDesconto, PercentualIof = registroAtual.TaxaIof, Especie = registroAtual.Especie, //DataPagamento = registroAtual.DataPagamento.ToString("ddMMyy").Equals("0") ? new DateTime(0001, 01, 01) : Convert.ToDateTime(registroAtual.DataPagamento.ToString("ddMMyy")), DataCredito = registroAtual.DataDeCredito, DataVencimento = registroAtual.DataDeVencimento, //DataOcorrencia = registroAtual.DataEmissao.ToString("ddMMyy").Equals(null) ? new DateTime(0001, 01, 01) : Convert.ToDateTime(registroAtual.DataEmissao.ToString("ddMMyy")), NumeroDocumento = registroAtual.NumeroDocumento, ValorDocumento = registroAtual.ValorDoTituloParcela, ValorTarifaCustas = registroAtual.ValorTarifa, ValorOutrasDespesas = registroAtual.ValorOutrasDespesas, ValorJurosDesconto = registroAtual.ValorJurosDesconto, ValorIofDesconto = registroAtual.ValorIofDesconto, ValorAbatimento = registroAtual.ValorAbatimento, ValorDesconto = registroAtual.ValorDesconto, ValorRecebido = registroAtual.ValorLiquidoRecebido + registroAtual.ValorDoDebitoCredito, ValorAcrescimos = registroAtual.ValorJurosDeMora + registroAtual.ValorMulta, ValorOutrosRecebimentos = registroAtual.ValorOutrosRecebimentos, ValorAbatimentoNaoAproveitadoPeloSacado = registroAtual.ValorAbatimentosNaoAproveitado, ValorLancamento = registroAtual.ValorLancamento, //DataLiquidacao = registroAtual.DataLiquidacao.ToString("ddMMyy").Equals(null) ? new DateTime(0001, 01, 01) : Convert.ToDateTime(registroAtual.DataLiquidacao.ToString("ddMMyy")), InscricaoSacado = registroAtual.NumeroInscricaoSacado.ToString(CultureInfo.InvariantCulture), NomeSacado = registroAtual.NomeSacado, //CodigoMovimento = registroAtual.MotivoCodigoRejeicao.Equals(null) ? "0" : registroAtual.MotivoCodigoRejeicao, CodigoOcorrencia = String.IsNullOrEmpty(registroAtual.MotivoCodigoOcorrencia) ? "00" : registroAtual.MotivoCodigoOcorrencia, MensagemOcorrenciaRetornoBancario = ocorrencia.Descricao }; RegistrosDetalhe.Add(detalheGenericoAdd); } }
public RetornoCnab400 ProcessarRetorno() { /* Validações */ #region Validações ValidaArquivoRetorno(); #endregion var objRetornar = new RetornoCnab400 {RegistrosDetalhe = new List<DetalheRetornoCnab400>()}; foreach (var linhaAtual in _linhasArquivo) { if (linhaAtual.ExtrairValorDaLinha(1, 1) == "0") { objRetornar.Header = ObterHeader(linhaAtual); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "1") { var objDetalhe = ObterRegistrosDetalhe(linhaAtual); objRetornar.RegistrosDetalhe.Add(objDetalhe); } if (linhaAtual.ExtrairValorDaLinha(1, 1) == "9") { objRetornar.Trailer = ObterTrailer(linhaAtual); } } return objRetornar; }
public RetornoGenerico(RetornoCnab400 retornoCnab400) { Inicializa(); RetornoCnab400Especifico = retornoCnab400; /* Transformar de CNAB400 para formato genérico */ Header.CodigoDoBanco = retornoCnab400.Header.CodigoDoBanco; Header.Convenio = retornoCnab400.Header.NumeroConvenio.ToString(CultureInfo.InvariantCulture); Header.CodigoAgencia = retornoCnab400.Header.CodigoAgenciaCedente.ToString(CultureInfo.InvariantCulture); Header.DvAgencia = retornoCnab400.Header.DvAgenciaCedente; Header.NumeroConta = retornoCnab400.Header.ContaCorrente; Header.DvConta = retornoCnab400.Header.DvContaCorrente; Header.NomeEmpresa = retornoCnab400.Header.NomeDoBeneficiario; Header.NomeDoBanco = retornoCnab400.Header.NomeDoBanco; Header.NumeroInscricaoEmpresa = retornoCnab400.RegistrosDetalhe.FirstOrDefault()?.IdentificacaoEmpresaNoBanco; foreach (var registroAtual in retornoCnab400.RegistrosDetalhe) { var banco = BancoFactory.ObterBanco(Header.CodigoDoBanco); var ocorrencia = banco.ObtemCodigoOcorrenciaByInt(registroAtual.CodigoDeOcorrencia); var detalheGenericoAdd = new RetornoDetalheGenerico { NossoNumero = registroAtual.NossoNumero, TipoCobranca = registroAtual.TipoCobranca.ToString(CultureInfo.InvariantCulture), Carteira = registroAtual.CodigoCarteira, PercentualDesconto = registroAtual.TaxaDesconto, PercentualIof = registroAtual.TaxaIof, Especie = registroAtual.Especie, DataCredito = registroAtual.DataDeCredito, DataVencimento = registroAtual.DataDeVencimento, DataLiquidacao = registroAtual.DataLiquidacao, NumeroDocumento = registroAtual.NumeroDocumento, SeuNumero = registroAtual.SeuNumero, ValorDocumento = registroAtual.ValorDoTituloParcela, ValorTarifaCustas = registroAtual.ValorTarifa, ValorOutrasDespesas = registroAtual.ValorOutrasDespesas, ValorJurosDesconto = registroAtual.ValorJurosDesconto, ValorIofDesconto = registroAtual.ValorIofDesconto, ValorAbatimento = registroAtual.ValorAbatimento, ValorDesconto = registroAtual.ValorDesconto, ValorRecebido = registroAtual.ValorLiquidoRecebido + registroAtual.ValorDoDebitoCredito, ValorAcrescimos = registroAtual.ValorJurosDeMora + registroAtual.ValorMulta + registroAtual.ValorTarifa, ValorJuros = registroAtual.ValorJurosDeMora, ValorMulta = registroAtual.ValorMulta, ValorOutrosRecebimentos = registroAtual.ValorOutrosRecebimentos, ValorAbatimentoNaoAproveitadoPeloSacado = registroAtual.ValorAbatimentosNaoAproveitado, ValorLancamento = registroAtual.ValorLancamento, InscricaoSacado = registroAtual.NumeroInscricaoSacado.ToString(CultureInfo.InvariantCulture), NomeSacado = registroAtual.NomeSacado, CodigoOcorrencia = String.IsNullOrEmpty(registroAtual.MotivoCodigoOcorrencia) ? "00" : registroAtual.MotivoCodigoOcorrencia, MensagemOcorrenciaRetornoBancario = ocorrencia.Descricao, Ocorrencia = ocorrencia }; //DATA LIQUIDAÇÃO E DATA OCORRENCIA if (detalheGenericoAdd.Pago && detalheGenericoAdd.DataLiquidacao == DateTime.MinValue) { detalheGenericoAdd.DataLiquidacao = registroAtual.DataDaOcorrencia; } RegistrosDetalhe.Add(detalheGenericoAdd); } }