private void ExecutaItemFila(Model.Integracao ent, Model.Fila fila, Selia.Integrador.Adapter.WebService.Config objConfig, List <Selia.Integrador.Adapter.Util.Mapeamento.Entidade> MapeamentoEntrada) { try { Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.WebService().Executar(objConfig, fila.Conteudo); Model.LogFila entLogFila = new Model.LogFila(); if (!string.IsNullOrEmpty(objResult.ParametrosEnvio)) { entLogFila.Conteudo = objResult.ParametrosEnvio; } entLogFila.Conteudo = objResult.ParametrosEnvio; entLogFila.ConteudoFila = fila.Conteudo; entLogFila.ChavePrimaria = fila.ChavePrimaria; entLogFila.ChaveSecundaria = fila.ChaveSecundaria; entLogFila.LogIntegracao.ID = fila.LogIntegracaoID; entLogFila.FilaID = fila.ID; entLogFila.IntegracaoID = ent.ID; if (!string.IsNullOrEmpty(objResult.Mensagem)) { entLogFila.ConteudoRetorno = objResult.Mensagem; } if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso) { new BS.Fila().Excluir(fila.ID); if (ent.Destino != null) { new BS.Fila().ProcessarFila(objResult, ent, MapeamentoEntrada); } } else { new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); if (!string.IsNullOrEmpty(ent.AcaoReturnoErro)) { } } new BS.LogFila().Inserir(entLogFila); } catch (Exception ex) { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = ex.Message; entLogIntegracao.Integracao = ent; entLogIntegracao.Status = 1; new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", ent.Nome, ex.Message, ex.StackTrace)); } }
public int Inserir(Model.LogFila entLogFila) { List <IDbDataParameter> lst = new List <IDbDataParameter>(); lst.Add((IDbDataParameter)database.CreateParameter("p_logIntegracaoID", entLogFila.LogIntegracao.ID)); lst.Add((IDbDataParameter)database.CreateParameter("p_dataCriacao", DateTime.Now)); lst.Add((IDbDataParameter)database.CreateParameter("p_conteudo", entLogFila.Conteudo)); lst.Add((IDbDataParameter)database.CreateParameter("p_conteudofila", entLogFila.ConteudoFila)); lst.Add((IDbDataParameter)database.CreateParameter("p_chavePrimaria", entLogFila.ChavePrimaria)); lst.Add((IDbDataParameter)database.CreateParameter("p_chaveSecundaria", entLogFila.ChaveSecundaria)); lst.Add((IDbDataParameter)database.CreateParameter("p_conteudoRetorno", entLogFila.ConteudoRetorno)); lst.Add((IDbDataParameter)database.CreateParameter("p_conteudoRetornoSemTratamento", entLogFila.RespostaSemTratamento)); lst.Add((IDbDataParameter)database.CreateParameter("p_integracaoID", entLogFila.IntegracaoID)); lst.Add((IDbDataParameter)database.CreateParameter("p_FilaID", entLogFila.FilaID)); return(new SQLHelper(false, "SP_INT_INS_LogFila", lst).NonQuery()); }
public int Inserir(Model.LogFila entLogFila) { return(new Selia.Integrador.DAL.LogFila().Inserir(entLogFila)); }
private void ExecutaItemFila(Model.Integracao integracao, Model.Fila fila, Selia.Integrador.Adapter.Rest.Config configuracao) { var integracaoID = integracao.ID; string conteudoFila = null; try { var xmlFila = new XmlDocument(); xmlFila.LoadXml(fila.Conteudo); conteudoFila = fila.Conteudo; Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.Rest().Executar(configuracao, xmlFila); Model.LogFila logFila = new Model.LogFila(); logFila.Conteudo = objResult.ParametrosEnvio; logFila.ConteudoFila = fila.Conteudo; logFila.ChavePrimaria = fila.ChavePrimaria; logFila.ChaveSecundaria = fila.ChaveSecundaria; logFila.LogIntegracao.ID = fila.LogIntegracaoID; logFila.RespostaSemTratamento = objResult.RespostaSemTratamento; logFila.FilaID = fila.ID; logFila.IntegracaoID = integracao.ID; if (objResult.RespostaXmlCompleta != null) { logFila.ConteudoRetorno = objResult.RespostaXmlCompleta.InnerXml; } if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso) { new BS.Fila().Excluir(fila.ID); if (integracao.Destino != null) { new BS.Fila().ProcessarFila(objResult, integracao, configuracao.Mapeamentos); } } else { new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); } new BS.LogFila().Inserir(logFila); } catch (Selia.Integrador.Utils.Exceptions.HttpRestRetornoException exIntegradoRetorno) { Model.LogFila logFila = new Model.LogFila(); logFila.ChavePrimaria = fila.ChavePrimaria; logFila.ChaveSecundaria = fila.ChaveSecundaria; logFila.LogIntegracao.ID = fila.LogIntegracaoID; logFila.FilaID = fila.ID; logFila.ConteudoFila = fila.Conteudo; logFila.Conteudo = exIntegradoRetorno.ParamentroEnvio; logFila.RespostaSemTratamento = "Connection: " + ConnectionMonitor.Monitor.Instance.GetStatus() + " ** " + exIntegradoRetorno.RetornoNaoTratado; logFila.ConteudoRetorno = exIntegradoRetorno.RetornoTratado; logFila.IntegracaoID = integracao.ID; new BS.LogFila().Inserir(logFila); new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = string.Format("{0} - Valor de entrada:{1}", exIntegradoRetorno.ToString(), exIntegradoRetorno.InformacaoAdicional); entLogIntegracao.Integracao = integracao; entLogIntegracao.Status = 2; //1 Sucesso 2 Erro new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, exIntegradoRetorno.Message, exIntegradoRetorno.ToString())); } catch (Selia.Integrador.Utils.Exceptions.HttpRestException exIntegrador) { new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); Model.LogFila logFila = new Model.LogFila(); logFila.ChavePrimaria = fila.ChavePrimaria; logFila.ChaveSecundaria = fila.ChaveSecundaria; logFila.LogIntegracao.ID = fila.LogIntegracaoID; logFila.FilaID = fila.ID; logFila.ConteudoFila = fila.Conteudo; logFila.Conteudo = exIntegrador.ParamentroEnvio; logFila.RespostaSemTratamento = "Connection: " + ConnectionMonitor.Monitor.Instance.GetStatus() + " ** " + exIntegrador.RetornoNaoTratado; logFila.ConteudoRetorno = exIntegrador.RetornoTratado; logFila.IntegracaoID = integracao.ID; new BS.LogFila().Inserir(logFila); new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); if (!string.IsNullOrEmpty(integracao.AcaoReturnoErro)) { List <object> parametros = new List <object>(); parametros.Add(fila.ID); parametros.Add(fila); parametros.Add(exIntegrador.InformacaoAdicional); new Selia.Integrador.Utils.Generic.Invoke().Exec(integracao.AcaoReturnoErro.Split(';')[0], integracao.AcaoReturnoErro.Split(';')[1], parametros); } else { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = exIntegrador.Message; entLogIntegracao.Integracao = integracao; entLogIntegracao.Status = 2; //1 Sucesso 2 Erro new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, exIntegrador.Message, exIntegrador.ToString())); } } }
public void Executar(Model.Integracao ent) { Selia.Integrador.Adapter.DB.Config objConfig = new Selia.Integrador.Adapter.DB.Config(); var item = ((Model.Interface.DB)ent.Interface.Item); objConfig.StoredProcedure = item.StoredProcedure; objConfig.ConnectionString = item.ConnectionString; objConfig.ElementoSeparador = ent.ElementoRegistro; objConfig.ExecucaoFinal = ent.AcaoFinal; objConfig.Mapeamentos = MapearParaAdapter(ent.Mapeamento); objConfig.ExecucaoInicial = ent.AcaoInicial; objConfig.ExecucaoEnfileiramento = ent.AcaoEnfileiramento; objConfig.DataBaseNameFactory = item.DataBaseNameFactory; if (ent.Consumidor) { foreach (Model.Fila fila in ent.Fila) { try { Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.DB().Executar(objConfig, fila.Conteudo, ent.Destino != null); Model.LogFila entLogFila = new Model.LogFila(); entLogFila.ConteudoFila = fila.Conteudo; entLogFila.Conteudo = fila.Conteudo; entLogFila.ChavePrimaria = fila.ChavePrimaria; entLogFila.ChaveSecundaria = fila.ChaveSecundaria; entLogFila.LogIntegracao.ID = fila.LogIntegracaoID; entLogFila.FilaID = fila.ID; entLogFila.IntegracaoID = ent.ID; if (!string.IsNullOrEmpty(objResult.Mensagem)) { entLogFila.ConteudoRetorno = objResult.Mensagem; } new BS.LogFila().Inserir(entLogFila); if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso) { if (objResult.RespostaXmlCompleta != null && objResult.RespostaXmlSeparada != null && objResult.RespostaXmlSeparada.Count > 0) { new BS.Fila().ProcessarFila(objResult, ent, null); } new BS.Fila().Excluir(fila.ID); } else { new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); } } catch (Exception ex) { //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", ent.Nome, ex.Message, ex.StackTrace)); } } if (ent.Destino != null) { new BS.Integracao().Executar(ent.Destino.ID); } } else { try { List <Selia.Integrador.Adapter.Util.Mapeamento.Entidade> maps = MapearParaAdapter(ent.Mapeamento); foreach (Model.Interface.DB.ParametroDB Param in item.Parametros) { objConfig.Mapeamentos.Add(new Selia.Integrador.Adapter.Util.Mapeamento.Entidade() { Para = Param.De, Valor = Param.Para }); } Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.DB().Executar(objConfig); new BS.Fila().ProcessarFila(objResult, ent, maps); } catch (Exception ex) { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = ex.Message; entLogIntegracao.Integracao = ent; entLogIntegracao.Status = 1; new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", ent.Nome, ex.Message, ex.StackTrace)); } } //if (ent.DestinoID > 0) //{ // new IntegracaoNova().Executar(ent.DestinoID, true); //} }
public void Executar(Model.Integracao ent) { Selia.Integrador.Adapter.ArquivoTexto.Config objConfig = new Selia.Integrador.Adapter.ArquivoTexto.Config(); var item = ((Model.Interface.ArquivoTexto)ent.Interface.Item); objConfig.FTP = item.FTP; objConfig.Login = item.Login; objConfig.Senha = item.Senha; objConfig.Url = item.Url; objConfig.Delimitador = item.Delimitador; objConfig.Diretorio = item.Diretorio; objConfig.Encoding = item.Encoding; objConfig.ElementoSeparador = ent.ElementoRegistro; objConfig.AcaoInicial = ent.AcaoInicial; objConfig.AcaoFinal = ent.AcaoFinal; objConfig.AcaoEnfileiramento = ent.AcaoEnfileiramento; objConfig.Mapeamentos = MapearParaAdapter(ent.Mapeamento); objConfig.ConnectionString = ent.ConnectionString; if (ent.Consumidor) { foreach (Model.Fila fila in ent.Fila) { try { Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.ArquivoTexto().Executar(objConfig, fila.Conteudo, ent.ID); Model.LogFila entLogFila = new Model.LogFila(); entLogFila.ConteudoFila = fila.Conteudo; entLogFila.ChavePrimaria = fila.ChavePrimaria; entLogFila.ChaveSecundaria = fila.ChaveSecundaria; entLogFila.LogIntegracao.ID = fila.LogIntegracaoID; entLogFila.IntegracaoID = ent.ID; entLogFila.FilaID = fila.ID; if (!string.IsNullOrEmpty(objResult.Mensagem)) { entLogFila.ConteudoRetorno = objResult.Mensagem; } new BS.LogFila().Inserir(entLogFila); if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso) { new BS.Fila().Excluir(fila.ID); if (ent.Destino != null) { ent.AcaoInicial = ent.Destino.AcaoInicial; ent.AcaoFinal = ent.Destino.AcaoFinal; ent.AcaoEnfileiramento = ent.Destino.AcaoEnfileiramento; ent.ElementoRegistro = ent.Destino.ElementoRegistro; ent.PKPrimaria = ent.Destino.PKPrimaria; objResult.ElementoSeparador = ent.Destino.ElementoRegistro; objConfig.Mapeamentos = MapearParaAdapter(ent.Mapeamento); new BS.Fila().ProcessarFila(objResult, ent, null); } } else { new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID); } } catch (Exception ex) { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = ex.Message; entLogIntegracao.Integracao = ent; entLogIntegracao.Status = 1; new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", ent.Nome, ex.Message, ex.StackTrace)); } } } else { try { Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.ArquivoTexto().Executar(objConfig); if (!string.IsNullOrEmpty(objResult.Mensagem)) { if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso) { if (ent.Destino != null) { ent.AcaoInicial = ent.Destino.AcaoInicial; ent.AcaoFinal = ent.Destino.AcaoFinal; ent.AcaoEnfileiramento = ent.Destino.AcaoEnfileiramento; ent.ElementoRegistro = ent.Destino.ElementoRegistro; ent.PKPrimaria = ent.Destino.PKPrimaria; objResult.ElementoSeparador = ent.Destino.ElementoRegistro; objConfig.Mapeamentos = MapearParaAdapter(ent.Mapeamento); new BS.Fila().ProcessarFila(objResult, ent, null); } } else { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = objResult.Mensagem; entLogIntegracao.Integracao = ent; entLogIntegracao.Status = 1; new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1}", ent.Nome, objResult.Mensagem)); } } } catch (Exception ex) { Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao(); entLogIntegracao.Conteudo = ex.Message; entLogIntegracao.Integracao = ent; entLogIntegracao.Status = 1; new BS.LogIntegracao().Inserir(entLogIntegracao); //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", ent.Nome, ex.Message, ex.StackTrace)); } } }
public List <Model.LogFila> Preencher(DataTable dt) { List <Model.LogFila> lst = new List <Model.LogFila>(); foreach (DataRow row in dt.Rows) { Model.LogFila ent = new Model.LogFila(); if (row["ID"] != DBNull.Value) { ent.ID = Convert.ToInt32(row["ID"].ToString()); } if (row["Conteudo"] != DBNull.Value) { ent.Conteudo = row["Conteudo"].ToString(); } if (row["ConteudoFila"] != DBNull.Value) { ent.ConteudoFila = row["ConteudoFila"].ToString(); } if (row["DataCriacao"] != DBNull.Value) { ent.DataCriacao = Convert.ToDateTime(row["DataCriacao"]); } if (row["ChavePrimaria"] != DBNull.Value) { ent.ChavePrimaria = row["ChavePrimaria"].ToString(); } if (row["ChaveSecundaria"] != DBNull.Value) { ent.ChaveSecundaria = row["ChaveSecundaria"].ToString(); } if (row["LogIntegracaoID"] != DBNull.Value) { ent.LogIntegracao.ID = Convert.ToInt32(row["LogIntegracaoID"].ToString()); } if (row["ConteudoRetorno"] != DBNull.Value) { ent.ConteudoRetorno = row["ConteudoRetorno"].ToString(); } if (row["FilaID"] != DBNull.Value) { ent.FilaID = Convert.ToInt32(row["FilaID"].ToString()); } lst.Add(ent); } var agrupado = from lista in lst group lista by new { Conteudo = lista.Conteudo, ChavePrimaria = lista.ChavePrimaria, ChaveSecundaria = lista.ChaveSecundaria, ConteudoRetorno = lista.ConteudoRetorno, ConteudoFila = lista.ConteudoFila, FilaID = lista.FilaID } into resultado select new { resultado.Key.ChavePrimaria, resultado.Key.ChaveSecundaria, resultado.Key.Conteudo, resultado.Key.ConteudoFila, resultado.Key.ConteudoRetorno, resultado.Key.FilaID, ID = resultado.Max(a => a.ID), DataCriacao = resultado.Max(b => b.DataCriacao) }; lst = new List <Model.LogFila>(); foreach (var item in agrupado.ToList()) { lst.Add(new Model.LogFila { ChavePrimaria = item.ChavePrimaria, ChaveSecundaria = item.ChaveSecundaria, Conteudo = item.Conteudo, ConteudoFila = item.ConteudoFila, ConteudoRetorno = item.ConteudoRetorno, DataCriacao = item.DataCriacao, FilaID = item.FilaID, ID = item.ID }); } return(lst); }