public RetornoGenerico(RetornoCnab240 retornoCnab240) { Inicializa(); RetornoCnab240Especifico = retornoCnab240; /* Transformar de CNAB240 para formato genérico */ foreach (var loteAtual in retornoCnab240.Lotes) { foreach (var d in loteAtual.RegistrosDetalheSegmentos) { var detalheGenericoAdd = new RetornoDetalheGenerico { NossoNumero = d.SegmentoT.NossoNumero, Carteira = d.SegmentoT.CodigoCarteira.ToString(CultureInfo.InvariantCulture), NumeroDocumento = d.SegmentoT.NumeroDocumento }; // Segmento T var valorDoc = d.SegmentoT.ValorTitulo; detalheGenericoAdd.ValorDocumento = valorDoc; detalheGenericoAdd.DataVencimento = Convert.ToDateTime(d.SegmentoT.DataVencimento); detalheGenericoAdd.NomeSacado = d.SegmentoT?.NomeSacado; // Segmento U detalheGenericoAdd.DataCredito = d.SegmentoU.DataCredito; detalheGenericoAdd.DataOcorrencia = Convert.ToDateTime(d.SegmentoU.DataOcorrencia); #region Valores no detalhe var valorAcres = d.SegmentoU.JurosMultaEncargos; var valorDesc = d.SegmentoU.ValorDescontoConcedido + d.SegmentoU.ValorAbatimentoConcedido; //var valorPago = d.SegmentoU.ValorPagoPeloSacado; var valorRecebido = d.SegmentoU.ValorLiquidoASerCreditado; detalheGenericoAdd.ValorAcrescimos = valorAcres; detalheGenericoAdd.ValorDesconto = valorDesc; //detalheGenericoAdd.ValorPago = valorPago; detalheGenericoAdd.ValorRecebido = valorRecebido; #endregion var banco = BancoFactory.ObterBanco(d.SegmentoU?.CodigoBanco.ToString().PadLeft(3, '0')); var ocorrencia = banco.ObtemCodigoOcorrenciaByInt(d.SegmentoU.BoletoBrToBind().CodigoMovimento); detalheGenericoAdd.CodigoOcorrencia = ocorrencia?.Codigo.ToString(); detalheGenericoAdd.MensagemOcorrenciaRetornoBancario = ocorrencia?.Descricao; detalheGenericoAdd.Ocorrencia = ocorrencia; //DATA LIQUIDAÇÃO E DATA OCORRENCIA if (detalheGenericoAdd.Pago && detalheGenericoAdd.DataLiquidacao == DateTime.MinValue) { detalheGenericoAdd.DataLiquidacao = d.SegmentoU.DataOcorrencia; } RegistrosDetalhe.Add(detalheGenericoAdd); } } Trailer.QtdRegistrosArquivo = retornoCnab240.Trailer.QtdRegistrosArquivo.ToString(CultureInfo.InvariantCulture); }
public RetornoGenerico(RetornoCnab240 retornoCnab240) { Inicializa(); RetornoCnab240Especifico = retornoCnab240; /* Transformar de CNAB240 para formato genérico */ foreach (var loteAtual in retornoCnab240.Lotes) { foreach (var d in loteAtual.RegistrosDetalheSegmentos) { var detalheGenericoAdd = new RetornoDetalheGenerico { NossoNumero = d.SegmentoT.NossoNumero, Carteira = d.SegmentoT.CodigoCarteira.ToString(CultureInfo.InvariantCulture), NumeroDocumento = d.SegmentoT.NumeroDocumento }; // Segmento T var valorDoc = d.SegmentoT.ValorTitulo; detalheGenericoAdd.ValorDocumento = valorDoc; detalheGenericoAdd.DataVencimento = Convert.ToDateTime(d.SegmentoT.DataVencimento); //detalheGenericoAdd.ValorDocumento = Math.Round(d.SegmentoT.ValorTitulo, 2); //detalheGenericoAdd.ValorTarifaCustas = d.SegmentoT.ValorTarifas / 100; //detalheGenericoAdd.CodigoMovimento = d.SegmentoT.CodigoMovimento.ToString(); //detalheGenericoAdd.CodigoOcorrencia = d.SegmentoT.MotivoOcorrencia.ToString(); // Segmento U detalheGenericoAdd.DataCredito = d.SegmentoU.DataCredito; //detalheGenericoAdd.DataLiquidacao = Convert.ToDateTime(d.SegmentoU.DataLiquidacao.ToString()); //detalheGenericoAdd.DataCredito = Convert.ToDateTime(d.SegmentoU.DataCredito.ToString()); #region Valores no detalhe var valorAcres = d.SegmentoU.JurosMultaEncargos; var valorDesc = d.SegmentoU.ValorDescontoConcedido + d.SegmentoU.ValorAbatimentoConcedido; //var valorPago = d.SegmentoU.ValorPagoPeloSacado; var valorRecebido = d.SegmentoU.ValorLiquidoASerCreditado; detalheGenericoAdd.ValorAcrescimos = valorAcres; detalheGenericoAdd.ValorDesconto = valorDesc; //detalheGenericoAdd.ValorPago = valorPago; detalheGenericoAdd.ValorRecebido = valorRecebido; #endregion //detalheGenericoAdd.ValorIof = d.SegmentoU.ValorIofRecolhido / 100; //detalheGenericoAdd.ValorOutrasDespesas = d.SegmentoU.ValorOutrasDespesas / 100; //detalheGenericoAdd.ValorOutrosCreditos = d.SegmentoU.ValorOutrosCreditos / 100; //detalheGenericoAdd.CodigoOcorrencia = d.SegmentoU.CodigoOcorrenciaPagador; //detalheGenericoAdd.DataOcorrencia = d.SegmentoU.DataOcorrenciaPagador; //detalheGenericoAdd.ValorOcorrencia = d.SegmentoU.ValorOcorrenciaPagador / 100; //detalheGenericoAdd.DataDebitoTarifaCustas = Convert.ToDateTime(d.SegmentoU.DataDebitoTarifa.ToString()); RegistrosDetalhe.Add(detalheGenericoAdd); } } Trailer.QtdRegistrosArquivo = retornoCnab240.Trailer.QtdRegistrosArquivo.ToString(CultureInfo.InvariantCulture); }
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 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); } }
public RetornoGenericoPagamento(RetornoCnab240 retornoCnab240) { Inicializa(); RetornoCnab240Especifico = retornoCnab240; /* Transformar de CNAB240 para formato genérico */ foreach (var loteAtual in retornoCnab240.Lotes) { foreach (var d in loteAtual.RegistrosDetalheSegmentos) { var detalheGenericoAdd = new RetornoDetalheGenerico(); if (d.SegmentoJ != null) { detalheGenericoAdd.NossoNumero = d.SegmentoJ.NossoNumero; detalheGenericoAdd.SeuNumero = d.SegmentoJ.SeuNumero; detalheGenericoAdd.NomeFavorecido = d.SegmentoJ.NomeCedente; detalheGenericoAdd.DataPagamento = d.SegmentoJ.DataPagamento.GetValueOrDefault(); detalheGenericoAdd.DataEfetivacaoPagamento = detalheGenericoAdd.DataPagamento; detalheGenericoAdd.DataVencimento = Convert.ToDateTime(d.SegmentoJ.DataVencimento); detalheGenericoAdd.ValorPagamento = d.SegmentoJ.ValorPagamento; detalheGenericoAdd.ValorDocumento = d.SegmentoJ.ValorTitulo; detalheGenericoAdd.ValorRealEfetivacaoPagamento = d.SegmentoJ.ValorPagamento; detalheGenericoAdd.ValorAcrescimos = d.SegmentoJ.ValorAcrescimo; detalheGenericoAdd.ValorDesconto = d.SegmentoJ.ValorDesconto; var banco = BancoFactory.ObterBanco(d.SegmentoJ?.CodigoBanco.ToString()); var ocorrencia = banco.ObtemCodigoOcorrenciaPagamento(d.SegmentoJ.Ocorrencia.Substring(8, 2)); detalheGenericoAdd.CodigoOcorrencia = ocorrencia?.CodigoText.ToString(); detalheGenericoAdd.MensagemOcorrenciaRetornoBancario = ocorrencia?.Descricao; detalheGenericoAdd.Ocorrencia = ocorrencia; RegistrosDetalhe.Add(detalheGenericoAdd); } else { detalheGenericoAdd.NossoNumero = d.SegmentoA.NossoNumero; detalheGenericoAdd.SeuNumero = d.SegmentoA.SeuNumero; detalheGenericoAdd.NomeFavorecido = d.SegmentoA.NomeFavorecido; detalheGenericoAdd.DataPagamento = d.SegmentoA.DataPagamento.GetValueOrDefault(); detalheGenericoAdd.DataVencimento = Convert.ToDateTime(d.SegmentoB.DataVencimento); detalheGenericoAdd.DataEfetivacaoPagamento = d.SegmentoA.DataEfetivacaoPagamento.GetValueOrDefault(); detalheGenericoAdd.ValorPagamento = d.SegmentoA.ValorPagamento; detalheGenericoAdd.ValorRealEfetivacaoPagamento = d.SegmentoA.ValorRealEfetivacaoPagamento; detalheGenericoAdd.ValorAcrescimos = d.SegmentoB.ValorJurosMora.GetValueOrDefault(); detalheGenericoAdd.ValorDesconto = d.SegmentoB.ValorDesconto.GetValueOrDefault(); detalheGenericoAdd.ValorMulta = d.SegmentoB.ValorMulta.GetValueOrDefault(); var banco = BancoFactory.ObterBanco(d.SegmentoB?.CodigoBanco.ToString()); var ocorrencia = banco.ObtemCodigoOcorrenciaPagamento(d.SegmentoA.Ocorrencia.Substring(8, 2)); detalheGenericoAdd.CodigoOcorrencia = ocorrencia?.CodigoText.ToString(); detalheGenericoAdd.MensagemOcorrenciaRetornoBancario = ocorrencia?.Descricao; detalheGenericoAdd.Ocorrencia = ocorrencia; RegistrosDetalhe.Add(detalheGenericoAdd); } } } Trailer.QtdRegistrosArquivo = retornoCnab240.Trailer.QtdRegistrosArquivo.ToString(CultureInfo.InvariantCulture); }
public RetornoGenerico(RetornoCnab240 retornoCnab240) { Inicializa(); RetornoCnab240Especifico = retornoCnab240; /* Transformar de CNAB240 para formato genérico */ foreach (var loteAtual in retornoCnab240.Lotes) { foreach (var d in loteAtual.RegistrosDetalheSegmentos) { var detalheGenericoAdd = new RetornoDetalheGenerico { NossoNumero = d.SegmentoT.NossoNumero, Carteira = d.SegmentoT.CodigoCarteira.ToString(CultureInfo.InvariantCulture), NumeroDocumento = d.SegmentoT.NumeroDocumento }; // Segmento T var valorDoc = d.SegmentoT.ValorTitulo; detalheGenericoAdd.ValorDocumento = valorDoc; detalheGenericoAdd.DataVencimento = Convert.ToDateTime(d.SegmentoT.DataVencimento); //detalheGenericoAdd.ValorDocumento = Math.Round(d.SegmentoT.ValorTitulo, 2); //detalheGenericoAdd.ValorTarifaCustas = d.SegmentoT.ValorTarifas / 100; //detalheGenericoAdd.CodigoMovimento = d.SegmentoT.CodigoMovimento.ToString(); //detalheGenericoAdd.CodigoOcorrencia = d.SegmentoT.MotivoOcorrencia.ToString(); // Segmento U detalheGenericoAdd.DataCredito = d.SegmentoU.DataCredito; //detalheGenericoAdd.DataLiquidacao = Convert.ToDateTime(d.SegmentoU.DataLiquidacao.ToString()); //detalheGenericoAdd.DataCredito = Convert.ToDateTime(d.SegmentoU.DataCredito.ToString()); #region Valores no detalhe var valorAcres = d.SegmentoU.JurosMultaEncargos; var valorDesc = d.SegmentoU.ValorDescontoConcedido + d.SegmentoU.ValorAbatimentoConcedido; //var valorPago = d.SegmentoU.ValorPagoPeloSacado; var valorRecebido = d.SegmentoU.ValorLiquidoASerCreditado; detalheGenericoAdd.ValorAcrescimos = valorAcres; detalheGenericoAdd.ValorDesconto = valorDesc; //detalheGenericoAdd.ValorPago = valorPago; detalheGenericoAdd.ValorRecebido = valorRecebido; #endregion //detalheGenericoAdd.ValorIof = d.SegmentoU.ValorIofRecolhido / 100; //detalheGenericoAdd.ValorOutrasDespesas = d.SegmentoU.ValorOutrasDespesas / 100; //detalheGenericoAdd.ValorOutrosCreditos = d.SegmentoU.ValorOutrosCreditos / 100; var banco = BancoFactory.ObterBanco(d.SegmentoU?.CodigoBanco.ToString()); var ocorrencia = banco.ObtemCodigoOcorrenciaByInt(d.SegmentoU.BoletoBrToBind().CodigoMovimento); if (ocorrencia.Descricao == "ENTRADA REJEITADA") { ocorrencia = new CodigoOcorrencia(ocorrencia.Codigo) { Descricao = $@"{ocorrencia.Descricao}. Motivo: {d.SegmentoT.MotivoOcorrencia}" } } ; detalheGenericoAdd.CodigoOcorrencia = ocorrencia?.Codigo.ToString(); detalheGenericoAdd.MensagemOcorrenciaRetornoBancario = ocorrencia?.Descricao; detalheGenericoAdd.Ocorrencia = ocorrencia; //detalheGenericoAdd.CodigoOcorrencia = d.SegmentoU.CodigoOcorrenciaPagador; //detalheGenericoAdd.DataOcorrencia = d.SegmentoU.DataOcorrenciaPagador; //detalheGenericoAdd.ValorOcorrencia = d.SegmentoU.ValorOcorrenciaPagador / 100; //detalheGenericoAdd.DataDebitoTarifaCustas = Convert.ToDateTime(d.SegmentoU.DataDebitoTarifa.ToString()); //DATA LIQUIDAÇÃO E DATA OCORRENCIA if (detalheGenericoAdd.Pago && detalheGenericoAdd.DataLiquidacao == DateTime.MinValue) { detalheGenericoAdd.DataLiquidacao = d.SegmentoU.DataOcorrencia; } RegistrosDetalhe.Add(detalheGenericoAdd); } } Trailer.QtdRegistrosArquivo = retornoCnab240.Trailer.QtdRegistrosArquivo.ToString(CultureInfo.InvariantCulture); }