public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT) { _segmentoT = segmentoT; }
public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT, DetalheSegmentoURetornoCNAB240 segmentoU) { _segmentoT = segmentoT; _segmentoU = segmentoU; }
public override DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { string _Controle_numBanco = registro.Substring(0, 3); //01 string _Controle_lote = registro.Substring(3, 7); //02 string _Controle_regis = registro.Substring(7, 1); //03 string _Servico_numRegis = registro.Substring(8, 5); //04 string _Servico_segmento = registro.Substring(13, 1); //05 string _cnab06 = registro.Substring(14, 1); //06 string _Servico_codMov = registro.Substring(15, 2); //07 string _ccAgenciaCodigo = registro.Substring(17, 5); //08 string _ccAgenciaDv = registro.Substring(22, 1); //09 string _ccContaNumero = registro.Substring(23, 12); //10 string _ccContaDv = registro.Substring(35, 1); //11 string _ccDv = registro.Substring(36, 1); //12 string _outUsoExclusivo = registro.Substring(37, 9); //13 string _outNossoNumero = registro.Substring(37, 20); //14 string _outCarteira = registro.Substring(57, 1); //15 string _outNumeroDocumento = registro.Substring(58, 15); //16 string _outVencimento = registro.Substring(73, 8); //17 string _outValor = registro.Substring(81, 15); //18 string _outUf = registro.Substring(96, 2); //19 string _outBanco = registro.Substring(98, 1); //20 string _outCodCedente = registro.Substring(99, 5); //21 string _outDvCedente = registro.Substring(104, 1); //22 string _outNomeCedente = registro.Substring(105, 25); //23 string _outCodMoeda = registro.Substring(130, 2); //24 string _sacadoInscricaoTipo = registro.Substring(132, 1); //25 string _sacadoInscricaoNumero = registro.Substring(133, 15); //26 string _sacadoNome = registro.Substring(148, 40); //27 string _cnab28 = registro.Substring(188, 10); //28 string _valorTarifasCustas = registro.Substring(198, 13); //29 string _motivoCobraca = registro.Substring(213, 10); //30 string _cnab31 = registro.Substring(223, 17); //31 try { /* 05 */ if (!registro.Substring(13, 1).Equals(@"T")) { throw new Exception("Registro inválida. O detalhe não possuí as características do segmento T."); } DetalheSegmentoTRetornoCNAB240 segmentoT = new DetalheSegmentoTRetornoCNAB240(registro); segmentoT.CodigoBanco = Convert.ToInt32(registro.Substring(0, 3)); //01 segmentoT.idCodigoMovimento = Convert.ToInt32(registro.Substring(15, 2)); //07 segmentoT.Agencia = Convert.ToInt32(registro.Substring(17, 5)); //08 segmentoT.DigitoAgencia = registro.Substring(22, 1); //09 segmentoT.Conta = Convert.ToInt64(registro.Substring(23, 12)); //10 segmentoT.DigitoConta = registro.Substring(35, 1); //11 segmentoT.DACAgenciaConta = (String.IsNullOrEmpty(registro.Substring(36, 1).Trim())) ? 0 : Convert.ToInt32(registro.Substring(36, 1)); //12 segmentoT.NossoNumero = registro.Substring(37, 20); //14 segmentoT.CodigoCarteira = Convert.ToInt32(registro.Substring(57, 1)); //15 segmentoT.NumeroDocumento = registro.Substring(58, 15); //16 segmentoT.DataVencimento = registro.Substring(73, 8).ToString() == "00000000" ? DateTime.Now : DateTime.ParseExact(registro.Substring(73, 8), "ddMMyyyy", CultureInfo.InvariantCulture); //17 segmentoT.ValorTitulo = Convert.ToDecimal(registro.Substring(81, 15)) / 100; //18 segmentoT.IdentificacaoTituloEmpresa = registro.Substring(105, 25); //23 segmentoT.TipoInscricao = Convert.ToInt32(registro.Substring(132, 1)); //25 segmentoT.NumeroInscricao = registro.Substring(133, 15); //26 segmentoT.NomeSacado = registro.Substring(148, 40); //27 segmentoT.ValorTarifas = Convert.ToDecimal(registro.Substring(198, 15)) / 100; //29 //Jéferson (jefhtavares) em 12/12/2013 - O campo Valor Tarifas é composto de 15 posições (199-213) e não de 13 segmentoT.CodigoRejeicao = registro.Substring(213, 1) == "A" ? registro.Substring(214, 9) : registro.Substring(213, 10); //30 segmentoT.UsoFebraban = _cnab31; return segmentoT; } catch (Exception ex) { //TrataErros.Tratar(ex); throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }
// public override DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { try { /* 05 */ if (!registro.Substring(13, 1).Equals(@"T")) { throw new Exception("Registro inválida. O detalhe não possuí as características do segmento T."); } DetalheSegmentoTRetornoCNAB240 segmentoT = new DetalheSegmentoTRetornoCNAB240(registro); segmentoT.CodigoBanco = Convert.ToInt32(registro.Substring(0, 3)); segmentoT.idCodigoMovimento = Convert.ToInt32(registro.Substring(15, 2)); segmentoT.CodigoMovimento = new CodigoMovimento(001, segmentoT.idCodigoMovimento); segmentoT.NossoNumero = registro.Substring(39, 17); segmentoT.CodigoCarteira = Convert.ToInt32(registro.Substring(57, 1)); segmentoT.NumeroDocumento = registro.Substring(58, 11); segmentoT.DataVencimento = registro.Substring(73, 8).ToString() == "00000000" ? DateTime.Now : DateTime.ParseExact(registro.Substring(73, 8), "ddMMyyyy", CultureInfo.InvariantCulture); segmentoT.ValorTitulo = Convert.ToDecimal(registro.Substring(81, 15)) / DECIMAL_100; segmentoT.IdentificacaoTituloEmpresa = registro.Substring(105, 25); segmentoT.TipoInscricao = Convert.ToInt32(registro.Substring(132, 1)); segmentoT.NumeroInscricao = registro.Substring(133, 15); segmentoT.NomeSacado = registro.Substring(148, 40); segmentoT.ValorTarifas = Convert.ToDecimal(registro.Substring(198, 15)) / DECIMAL_100; segmentoT.CodigoRejeicao = registro.Substring(213, 10); return segmentoT; } catch (Exception ex) { throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }
public override DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { try { DetalheSegmentoTRetornoCNAB240 detalhe = new DetalheSegmentoTRetornoCNAB240(registro); if (registro.Substring(13, 1) != "T") throw new Exception("Registro inválido. O detalhe não possuí as características do segmento T."); detalhe.CodigoBanco = Convert.ToInt32(registro.Substring(0, 3)); detalhe.idCodigoMovimento = Convert.ToInt32(registro.Substring(15, 2)); detalhe.Agencia = Convert.ToInt32(registro.Substring(17, 4)); detalhe.DigitoAgencia = registro.Substring(21, 1); detalhe.Conta = Convert.ToInt32(registro.Substring(22, 9)); detalhe.DigitoConta = registro.Substring(31, 1); detalhe.NossoNumero = registro.Substring(40, 13); detalhe.CodigoCarteira = Convert.ToInt32(registro.Substring(43, 1)); detalhe.NumeroDocumento = registro.Substring(54, 15); int dataVencimento = Convert.ToInt32(registro.Substring(69, 8)); detalhe.DataVencimento = Convert.ToDateTime(dataVencimento.ToString("##-##-####")); decimal valorTitulo = Convert.ToInt64(registro.Substring(77, 15)); detalhe.ValorTitulo = valorTitulo / 100; detalhe.IdentificacaoTituloEmpresa = registro.Substring(100, 25); detalhe.TipoInscricao = Convert.ToInt32(registro.Substring(127, 1)); detalhe.NumeroInscricao = registro.Substring(128, 15); detalhe.NomeSacado = registro.Substring(143, 40); decimal valorTarifas = Convert.ToUInt64(registro.Substring(193, 15)); detalhe.ValorTarifas = valorTarifas / 100; detalhe.CodigoRejeicao = registro.Substring(208, 10); detalhe.UsoFebraban = registro.Substring(218, 22); return detalhe; } catch (Exception ex) { throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }
public override DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { string _Controle_numBanco = registro.Substring(0, 3); //01 string _Controle_lote = registro.Substring(3, 7); //02 string _Controle_regis = registro.Substring(7, 1); //03 string _Servico_numRegis = registro.Substring(8, 5); //04 string _Servico_segmento = registro.Substring(13, 1); //05 string _cnab06 = registro.Substring(14, 1); //06 string _Servico_codMov = registro.Substring(15, 2); //07 string _ccAgenciaCodigo = registro.Substring(17, 5); //08 string _ccAgenciaDv = registro.Substring(22, 1); //09 string _ccContaNumero = registro.Substring(23, 12); //10 string _ccContaDv = registro.Substring(35, 1); //11 string _ccDv = registro.Substring(36, 1); //12 string _outUsoExclusivo = registro.Substring(37, 9); //13 string _outNossoNumero = registro.Substring(46, 11); //14 string _outCarteira = registro.Substring(57, 1); //15 string _outNumeroDocumento = registro.Substring(58, 15); //16 string _outVencimento = registro.Substring(73, 8); //17 string _outValor = registro.Substring(81, 15); //18 string _outUf = registro.Substring(96, 2); //19 string _outBanco = registro.Substring(98, 1); //20 string _outCodCedente = registro.Substring(99, 5); //21 string _outDvCedente = registro.Substring(104, 1); //22 string _outNomeCedente = registro.Substring(105, 25); //23 string _outCodMoeda = registro.Substring(130, 2); //24 string _sacadoInscricaoTipo = registro.Substring(132, 1); //25 string _sacadoInscricaoNumero = registro.Substring(133, 15); //26 string _sacadoNome = registro.Substring(148, 40); //27 string _cnab28 = registro.Substring(188, 10); //28 string _valorTarifasCustas = registro.Substring(198, 13); //29 string _motivoCobraca = registro.Substring(213, 10); //30 string _cnab31 = registro.Substring(223, 17); //31 try { if (_Servico_segmento != @"T") { throw new Exception("Registro inválida. O detalhe não possuí as características do segmento T."); } DetalheSegmentoTRetornoCNAB240 segmentoT = new DetalheSegmentoTRetornoCNAB240(registro); segmentoT.CodigoBanco = Convert.ToInt32(_Controle_numBanco); segmentoT.idCodigoMovimento = Convert.ToInt32(_Servico_codMov); segmentoT.Agencia = Convert.ToInt32(_ccAgenciaCodigo); segmentoT.DigitoAgencia = _ccAgenciaDv; segmentoT.Conta = Convert.ToInt64(_ccContaNumero); segmentoT.DigitoConta = _ccContaDv; segmentoT.NossoNumero = _outNossoNumero; segmentoT.CodigoCarteira = Convert.ToInt32(_outCarteira); segmentoT.NumeroDocumento = _outNumeroDocumento; string dt = string.Format("{0}/{1}/{2}", _outVencimento.Substring(0, 2), _outVencimento.Substring(2, 2), _outVencimento.Substring(4, 4)); segmentoT.DataVencimento = Convert.ToDateTime(dt); double valorTitulo = Convert.ToInt64(_outValor); segmentoT.ValorTitulo = valorTitulo / 100; segmentoT.IdentificacaoTituloEmpresa = _outNomeCedente; segmentoT.TipoInscricao = Convert.ToInt32(_sacadoInscricaoTipo); segmentoT.NumeroInscricao = _sacadoInscricaoNumero; segmentoT.NomeSacado = _sacadoNome; double valorTarifas = Convert.ToUInt64(_valorTarifasCustas); segmentoT.ValorTarifas = valorTarifas / 100; segmentoT.CodigoRejeicao = Convert.ToInt32(_motivoCobraca); return(segmentoT); } catch (Exception ex) { //TrataErros.Tratar(ex); throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }
public override DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { string _Controle_numBanco = registro.Substring(0, 3); //01 string _Controle_lote = registro.Substring(3, 7); //02 string _Controle_regis = registro.Substring(7, 1); //03 string _Servico_numRegis = registro.Substring(8, 5); //04 string _Servico_segmento = registro.Substring(13, 1); //05 string _cnab06 = registro.Substring(14, 1); //06 string _Servico_codMov = registro.Substring(15, 2); //07 string _ccAgenciaCodigo = registro.Substring(17, 5); //08 string _ccAgenciaDv = registro.Substring(22, 1); //09 string _ccContaNumero = registro.Substring(23, 12); //10 string _ccContaDv = registro.Substring(35, 1); //11 string _ccDv = registro.Substring(36, 1); //12 string _outUsoExclusivo = registro.Substring(37, 9); //13 string _outNossoNumero = registro.Substring(46, 11); //14 string _outCarteira = registro.Substring(57, 1); //15 string _outNumeroDocumento = registro.Substring(58, 15); //16 string _outVencimento = registro.Substring(73, 8); //17 string _outValor = registro.Substring(81, 15); //18 string _outUf = registro.Substring(96, 2); //19 string _outBanco = registro.Substring(98, 1); //20 string _outCodCedente = registro.Substring(99, 5); //21 string _outDvCedente = registro.Substring(104, 1); //22 string _outNomeCedente = registro.Substring(105, 25); //23 string _outCodMoeda = registro.Substring(130, 2); //24 string _sacadoInscricaoTipo = registro.Substring(132, 1); //25 string _sacadoInscricaoNumero = registro.Substring(133, 15); //26 string _sacadoNome = registro.Substring(148, 40); //27 string _cnab28 = registro.Substring(188, 10); //28 string _valorTarifasCustas = registro.Substring(198, 13); //29 string _motivoCobraca = registro.Substring(213, 10); //30 string _cnab31 = registro.Substring(223, 17); //31 try { /* 05 */ if (!registro.Substring(13, 1).Equals(@"T")) { throw new Exception("Registro inválida. O detalhe não possuí as características do segmento T."); } DetalheSegmentoTRetornoCNAB240 segmentoT = new DetalheSegmentoTRetornoCNAB240(registro); segmentoT.CodigoBanco = Convert.ToInt32(registro.Substring(0, 3)); //01 segmentoT.idCodigoMovimento = Convert.ToInt32(registro.Substring(15, 2)); //07 segmentoT.Agencia = Convert.ToInt32(registro.Substring(17, 5)); //08 segmentoT.DigitoAgencia = registro.Substring(22, 1); //09 segmentoT.Conta = Convert.ToInt64(registro.Substring(23, 12)); //10 segmentoT.DigitoConta = registro.Substring(35, 1); //11 segmentoT.DACAgenciaConta = Convert.ToInt32(registro.Substring(36, 1)); //12 segmentoT.NossoNumero = registro.Substring(46, 11); //14 segmentoT.CodigoCarteira = Convert.ToInt32(registro.Substring(57, 1)); //15 segmentoT.NumeroDocumento = registro.Substring(58, 15); //16 segmentoT.DataVencimento = DateTime.ParseExact(registro.Substring(73, 8), "ddMMyyyy", CultureInfo.InvariantCulture); //17 segmentoT.ValorTitulo = Convert.ToDouble(registro.Substring(81, 15)) / 100; //18 segmentoT.IdentificacaoTituloEmpresa = registro.Substring(105, 25); //23 segmentoT.TipoInscricao = Convert.ToInt32(registro.Substring(132, 1)); //25 segmentoT.NumeroInscricao = registro.Substring(133, 15); //26 segmentoT.NomeSacado = registro.Substring(148, 40); //27 segmentoT.ValorTarifas = Convert.ToDouble(registro.Substring(198, 13)) / 100; //29 segmentoT.CodigoRejeicao = Convert.ToInt32(registro.Substring(213, 10)); //30 return(segmentoT); } catch (Exception ex) { //TrataErros.Tratar(ex); throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }
public virtual DetalheSegmentoTRetornoCNAB240 LerDetalheSegmentoTRetornoCNAB240(string registro) { var detalhe = new DetalheSegmentoTRetornoCNAB240(registro); detalhe.LerDetalheSegmentoTRetornoCNAB240(registro); return detalhe; }
public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT, DetalheSegmentoURetornoCNAB240 segmentoU) { _segmentoT = segmentoT; _segmentoU = segmentoU; }
public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT) { _segmentoT = segmentoT; }
/// <summary> /// Verifica o tipo de ocorrência para o arquivo remessa /// </summary> //public string Movimento(string codigo) { // switch (codigo) { // case "02": // return "02-Entrada Confirmada"; // case "03": // return "03-Entrada Rejeitada"; // case "04": // return "04-Transferência de Carteira/Entrada"; // case "05": // return "05-Transferência de Carteira/Baixa"; // case "06": // return "06-Liquidação"; // case "07": // return "07-Confirmação do Recebimento da Instrução de Desconto"; // case "08": // return "08-Confirmação do Recebimento do Cancelamento do Desconto"; // case "09": // return "09-Baixa"; // case "11": // return "11-Títulos em Carteira"; // case "12": // return "12-Confirmação Recebimento Instrução de Abatimento"; // case "13": // return "13-Confirmação Recebimento Instrução de Cancelamento Abatimento"; // case "14": // return "14-Confirmação Recebimento Instrução Alteração de Vencimento"; // case "17": // return "17-Liquidação Após Baixa ou Liquidação Título Não Registrado"; // case "19": // return "19-Confirmação Recebimento Instrução de Protesto"; // case "20": // return "20-Confirmação Recebimento Instrução de Sustação/Cancelamento de Protesto"; // case "23": // return "23-Remessa a Cartório (Aponte em Cartório)"; // case "24": // return "24-Retirada de Cartório e Manutenção em Carteira"; // case "25": // return "25-Protestado e Baixado (Baixa por Ter Sido Protestado)"; // case "26": // return "26-Instrução Rejeitada"; // case "27": // return "27-Confirmação do Pedido de Alteração de Outros Dados"; // case "28": // return "28-Débito de Tarifas/Custas"; // case "30": // return "30-Alteração de Dados Rejeitada"; // case "42": // return "42-Confirmação da alteração dos dados do Sacado"; // case "46": // return "46-Instrução para cancelar protesto confirmada"; // default: // return ""; // } //} DetalheSegmentoTRetornoCNAB240 IBanco.LerDetalheSegmentoTRetornoCNAB240(string registro) { string _Controle_numBanco = registro.Substring(0, 3); //01 string _Controle_lote = registro.Substring(3, 7); //02 string _Controle_regis = registro.Substring(7, 1); //03 string _Servico_numRegis = registro.Substring(8, 5); //04 string _Servico_segmento = registro.Substring(13, 1); //05 string _cnab06 = registro.Substring(14, 1); //06 // C044 Código de Movimento Retorno string _Servico_codMov = registro.Substring(15, 2); //07 string _ccAgenciaCodigo = registro.Substring(17, 5); //08 string _ccAgenciaDv = registro.Substring(22, 1); //09 string _ccContaNumero = registro.Substring(23, 12); //10 string _ccContaDv = registro.Substring(35, 1); //11 string _ccDv = registro.Substring(36, 1); //12 //string _outUsoExclusivo = registro.Substring(37, 9); string _outNossoNumero = registro.Substring(37, 20); //13 string _outCarteira = registro.Substring(57, 1); //14 string _outNumeroDocumento = registro.Substring(58, 15); //15 string _outVencimento = registro.Substring(73, 8); //16 string _outValor = registro.Substring(81, 15); //17 //string _outUf = registro.Substring(96, 2); string _outBanco = registro.Substring(96, 3); //18 string _outCodCedente = registro.Substring(99, 5); //19 string _outDvCedente = registro.Substring(104, 1); //20 string _outNomeCedente = registro.Substring(105, 25); //21 string _outCodMoeda = registro.Substring(130, 2); //22 string _sacadoInscricaoTipo = registro.Substring(132, 1); //23 string _sacadoInscricaoNumero = registro.Substring(133, 15); //24 string _sacadoNome = registro.Substring(148, 40); //25 string _cnab28 = registro.Substring(188, 10); //26 string _valorTarifasCustas = registro.Substring(198, 15); //27 string _motivoCobraca = registro.Substring(213, 10); //28 string _cnab31 = registro.Substring(223, 17); //29 // pag. 44 try { /* 05 */ if (!_Servico_segmento.Equals(@"T")) { throw new Exception("Registro inválido. O detalhe não possuí as características do segmento T."); } DetalheSegmentoTRetornoCNAB240 segmentoT = new DetalheSegmentoTRetornoCNAB240(registro); segmentoT.CodigoBanco = Utils.ToInt32(_Controle_numBanco); //01 segmentoT.idCodigoMovimento = Utils.ToInt32(_Servico_codMov); //07 segmentoT.Agencia = Utils.ToInt32(_ccAgenciaCodigo); //08 segmentoT.DigitoAgencia = _ccAgenciaDv; //09 segmentoT.Conta = Utils.ToInt64(_ccContaNumero); //10 segmentoT.DigitoConta = _ccContaDv; //11 segmentoT.DACAgenciaConta = (String.IsNullOrEmpty(_ccDv.Trim())) ? 0 : Utils.ToInt32(_ccDv); //12 segmentoT.NossoNumero = _outNossoNumero; //13 segmentoT.CodigoCarteira = Utils.ToInt32(_outCarteira); //14 segmentoT.NumeroDocumento = _outNumeroDocumento; //15 segmentoT.DataVencimento = _outVencimento.ToString() == "00000000" ? DateTime.Now : DateTime.ParseExact(_outVencimento, "ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture); //16 segmentoT.ValorTitulo = Utils.ToDecimal(_outValor) / 100; //17 segmentoT.IdentificacaoTituloEmpresa = _outNomeCedente; //21 segmentoT.TipoInscricao = Utils.ToInt32(_sacadoInscricaoTipo); //25 segmentoT.NumeroInscricao = _sacadoInscricaoNumero; //24 segmentoT.NomeSacado = _sacadoNome; //25 segmentoT.ValorTarifas = Utils.ToDecimal(_valorTarifasCustas) / 100; //27 // C047 segmentoT.CodigoRejeicao = registro.Substring(213, 1) == "A" ? registro.Substring(214, 9) : registro.Substring(213, 10); //30 segmentoT.UsoFebraban = _cnab31; return segmentoT; } catch (Exception ex) { //TrataErros.Tratar(ex); throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex); } }