/// <summary> /// Processo o arquivo de retorno relacionado a identificação /// </summary> /// <param name="idArquivo"></param> /// <returns></returns> public void ProcessaDadosParaGerarArquivoRetornoIdentif(int idArquivo, string pathArquivoOrigem, string codConvenio = "ACSO") { // using (StringWriter sw = new StringWriter(new System.Globalization.CultureInfo("pt-BR"))) // { DateTime dtAgora = DateTime.Now; string pathDestino = ConfigurationManager.AppSettings["ACSOIDTSC_R.CRI.DiretotioDestino"]; string nomeArquivo = this.FormataNomeArquivo(codConvenio, dtAgora); string pathCompleto = Path.Combine(pathDestino, nomeArquivo); ENLog.MapaArquivos mapArq = new ENLog.MapaArquivos(nomeArquivo, ENLog.TipoArquivo.ACSOIDTSC_R, pathArquivoOrigem, 0); this.Log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, pathArquivoOrigem, "Inicia processamento de arquivo"); int novoIdArquivo = mapArq.IdArquivo; int numLinha = 0; try { this.Log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.EmProcessamento, String.Empty, "Inicia processamento de arquivo"); numLinha++; //Gero Cabeçalho var cab = this.MontaCabecalho(novoIdArquivo, dtAgora, nomeArquivo, "ACSO", "ACESSO", numLinha); cab.Insere(); //sw.WriteLine(cab.ToString()); //Gero Detalhe var detalhe = new Identificacao.ACSOIDTSC_R.ACSOIDTSC_RDetalheEN(); detalhe.DataProc = dtAgora; detalhe.IdArquivo = novoIdArquivo; var detalhesRetorno = DetalheRetornoBaseBD.ConsultaDetalheIdentificacao(idArquivo); int contTotalRetorno = 0; int contErro = 0; foreach (var detalheRet in detalhesRetorno) { try { numLinha++; contTotalRetorno++; this.CompoeDetalhe(detalheRet, detalhe, numLinha); detalhe.Insere(); //sw.WriteLine(detalhe.ToString()); } catch (Exception) { contErro++; string descErro = String.Format("Total de linhas com erro: {0}", contErro); this.InsereLog(mapArq, numLinha, ENLog.TipoLog.Informação, descErro); } } numLinha++; //Gero Rodapé var rdp = this.MontaRodape(novoIdArquivo, numLinha, contTotalRetorno); rdp.Insere(); //sw.WriteLine(rdp.ToString()); } catch (Exception) { string descErro = "Erro processamento arquivo"; Log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoErro, pathCompleto, descErro); this.InsereLog(mapArq, numLinha, ENLog.TipoLog.Informação, descErro); } //} }
/// <summary> /// Processo o arquivo de retorno relacionado a identificação /// </summary> /// <param name="idArquivo"></param> /// <returns></returns> public void ProcessaDadosParaGerarArquivoRetornoIdentif(int idArquivo, string pathArquivoOrigem, string codConvenio = "ACSO") { // using (StringWriter sw = new StringWriter(new System.Globalization.CultureInfo("pt-BR"))) // { DateTime dtAgora = DateTime.Now; string pathDestino = ConfigurationManager.AppSettings["ACSOIDTSC_R.CRI.DiretotioDestino"]; string nomeArquivo = this.FormataNomeArquivo(codConvenio, dtAgora); string pathCompleto = Path.Combine(pathDestino, nomeArquivo); ENLog.MapaArquivos mapArq = new ENLog.MapaArquivos(nomeArquivo, ENLog.TipoArquivo.ACSOIDTSC_R, pathArquivoOrigem, 0); this.Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, pathArquivoOrigem, "Inicia processamento de arquivo"); int novoIdArquivo = mapArq.IdArquivo; int numLinha = 0; try { this.Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.EmProcessamento, String.Empty, "Inicia processamento de arquivo"); numLinha++; //Gero Cabeçalho var cab = this.MontaCabecalho(novoIdArquivo, dtAgora, nomeArquivo, "ACSO", "ACESSO", numLinha); cab.Insere(); //sw.WriteLine(cab.ToString()); //Gero Detalhe var detalhe = new Identificacao.ACSOIDTSC_R.ACSOIDTSC_RDetalheEN(); detalhe.DataProc = dtAgora; detalhe.IdArquivo = novoIdArquivo; var detalhesRetorno = DetalheRetornoBaseBD.ConsultaDetalheIdentificacao(idArquivo); int contTotalRetorno = 0; int contErro = 0; foreach (var detalheRet in detalhesRetorno) { try { numLinha++; contTotalRetorno++; this.CompoeDetalhe(detalheRet, detalhe, numLinha); detalhe.Insere(); //sw.WriteLine(detalhe.ToString()); } catch (Exception) { contErro++; string descErro = String.Format("Total de linhas com erro: {0}", contErro); this.InsereLog(mapArq, numLinha, ENLog.TipoLog.Informação, descErro); } } numLinha++; //Gero Rodapé var rdp = this.MontaRodape(novoIdArquivo, numLinha, contTotalRetorno); rdp.Insere(); //sw.WriteLine(rdp.ToString()); } catch (Exception) { string descErro = "Erro processamento arquivo"; Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoErro, pathCompleto, descErro); this.InsereLog(mapArq, numLinha, ENLog.TipoLog.Informação, descErro); } //} }