internal static string PegarResultadoItemFilaPorRequisitante(OracleConnection conn, int id, string tipo) { var schema = CarUtils.GetEsquemaInstitucional(); var item = new ItemFila(); try { using ( var cmd = new OracleCommand( "SELECT * FROM " + schema + ".TAB_SCHEDULER_FILA WHERE requisitante = :id and tipo = :tipo", conn)) { cmd.Parameters.Add(new OracleParameter("id", id)); cmd.Parameters.Add(new OracleParameter("tipo", tipo)); using (var dr = cmd.ExecuteReader()) { if (dr.Read()) { return(Convert.ToString(dr["resultado"])); } } } } catch (Exception exception) { Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception); } return(string.Empty); }
public static int InserirControleSICAR(OracleConnection conn, ItemFila itemFila, string arquivoCar) { var schema = CarUtils.GetEsquemaInstitucional(); var requisicao = JsonConvert.DeserializeObject <RequisicaoJobCar>(itemFila.Requisicao); var tid = Blocos.Data.GerenciadorTransacao.ObterIDAtual(); var sqlBuilder = new StringBuilder(); sqlBuilder.Append("INSERT INTO " + schema + ".TAB_CONTROLE_SICAR "); sqlBuilder.Append("(id,tid,empreendimento,empreendimento_tid,solicitacao_car,solicitacao_car_tid,situacao_envio,"); sqlBuilder.Append("data_gerado,arquivo,solicitacao_car_esquema)"); sqlBuilder.Append(" VALUES "); sqlBuilder.Append("(" + schema + ".SEQ_TAB_CONTROLE_SICAR.nextval,:tid,:empreendimento,:empreendimento_tid,"); sqlBuilder.Append( ":solicitacao_car,:solicitacao_car_tid,:situacao_envio,CURRENT_TIMESTAMP,:arquivo,:solicitacao_car_esquema) RETURNING id INTO :novo_id"); var novoId = 0; try { using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn)) { cmd.Parameters.Add(new OracleParameter("tid", tid)); cmd.Parameters.Add(new OracleParameter("empreendimento", requisicao.empreendimento)); cmd.Parameters.Add(new OracleParameter("empreendimento_tid", requisicao.empreendimento_tid)); cmd.Parameters.Add(new OracleParameter("solicitacao_car", requisicao.solicitacao_car)); cmd.Parameters.Add(new OracleParameter("solicitacao_car_tid", requisicao.solicitacao_car_tid)); cmd.Parameters.Add(new OracleParameter("situacao_envio", SITUACAO_ENVIO_ARQUIVO_GERADO)); cmd.Parameters.Add(new OracleParameter("arquivo", arquivoCar)); cmd.Parameters.Add(new OracleParameter("solicitacao_car_esquema", ((requisicao.origem == RequisicaoJobCar.INSTITUCIONAL ? 1 : 2)))); cmd.Parameters.Add(new OracleParameter("novo_id", OracleDbType.Decimal, ParameterDirection.ReturnValue)); cmd.ExecuteNonQuery(); novoId = Convert.ToInt32(cmd.Parameters["novo_id"].Value.ToString()); } } catch (Exception exception) { Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception); } //Inserir no Histórico InserirHistoricoControleCar(conn, requisicao, tid, null); return(novoId); }
internal static ItemFila PegarProximoItemFila(OracleConnection conn, string tipo) { lock (lockObject) { var schema = CarUtils.GetEsquemaInstitucional(); ItemFila item = null; try { using ( var cmd = new OracleCommand(@"update " + schema + @".tab_scheduler_fila set data_criacao = current_timestamp where id = (select min(id) from " + schema + @".tab_scheduler_fila where tipo = :tipo and data_criacao is null) returning id, requisitante, requisicao, empreendimento into :id, :requisitante, :requisicao, :empreendimento" , conn)) { cmd.Parameters.Add(new OracleParameter("tipo", tipo)); OracleParameter paramId = cmd.Parameters.Add(new OracleParameter("id", OracleDbType.Int32, System.Data.ParameterDirection.Output)); OracleParameter paramRequisitante = cmd.Parameters.Add(new OracleParameter("requisitante", OracleDbType.Int32, System.Data.ParameterDirection.Output)); OracleParameter paramRequisicao = cmd.Parameters.Add(new OracleParameter("requisicao", OracleDbType.Varchar2, 500) { Direction = System.Data.ParameterDirection.Output }); OracleParameter paramEmpreendimento = cmd.Parameters.Add(new OracleParameter("empreendimento", OracleDbType.Int32, System.Data.ParameterDirection.Output)); if (cmd.ExecuteNonQuery() > 0) { item = new ItemFila(); item.Id = Convert.ToInt32(paramId.Value.ToString()); item.Requisitante = Convert.ToInt32(paramRequisitante.Value.ToString()); item.Empreendimento = Convert.ToInt32(paramEmpreendimento.Value.ToString()); item.Requisicao = paramRequisicao.Value.ToString(); } } } catch (Exception exception) { Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception); } return(item); } }
internal static ItemFila PegarItemFilaPorId(OracleConnection conn, int id) { var schema = CarUtils.GetEsquemaInstitucional(); var item = new ItemFila(); try { using ( var cmd = new OracleCommand( "SELECT * FROM " + schema + ".TAB_SCHEDULER_FILA WHERE id = :id", conn)) { cmd.Parameters.Add(new OracleParameter("id", id)); using (var dr = cmd.ExecuteReader()) { while (dr.Read()) { item = new ItemFila { Id = Convert.ToInt32(dr["id"]), Requisitante = Convert.ToInt32(dr["requisitante"]), Empreendimento = Convert.ToInt32(dr["empreendimento"]), Requisicao = Convert.ToString(dr["requisicao"]) }; } } } } catch (Exception exception) { Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception); } return(item); }