/// <summary> /// Metodo para ler o retorno e ini do metodo ObterRetorno. /// </summary> /// <param name="retorno"></param> /// <returns></returns> public static RetornoBoleto LerRetorno(string retorno) { var iniFile = ACBrIniFile.Parse(retorno); var ret = new RetornoBoleto { Retorno = retorno }; iniFile.ReadFromIni(ret.Cedente, "CEDENTE"); iniFile.ReadFromIni(ret.Banco, "BANCO"); iniFile.ReadFromIni(ret.Conta, "CONTA"); foreach (var section in iniFile.Where(x => x.Name.StartsWith("TITULO"))) { var item = section.ReadFromINi <RetornoTitulo>(); section.ReadFromINi(item.Sacado); var id = Regex.Replace(section.Name, "[^0-9]", string.Empty); if (!string.IsNullOrWhiteSpace(id)) { foreach (var sec in iniFile.Where(x => x.Name.StartsWith($"MotivoRejeicao{id}-"))) { var rejeicao = sec.ReadFromINi <RetornoRejeicao>(); item.Rejeicoes.Add(rejeicao); } } ret.Titulos.Add(item); } return(ret); }
public RetornoBoleto ObterRetorno(string eDir, string eNomeArq) { var bufferLen = BUFFER_LEN; var buffer = new StringBuilder(bufferLen); var method = GetMethod <Boleto_ObterRetorno>(); var ret = ExecuteMethod(() => method(libHandle, ToUTF8(eDir), ToUTF8(eNomeArq), buffer, ref bufferLen)); CheckResult(ret); return(RetornoBoleto.LerRetorno(ProcessResult(buffer, bufferLen))); }