public static bool InsertTaskTree(PTR3Core core, IDatabase dbPTRConfig, DelGetConfig getXmlDynamicConfig , int rootTaskRunningId, bool parallel, int taskToInsertId, ref int lastInsertedTaskRunningId , out string message, MsgStatusEnum logStatus) { message = ""; dbPTRConfig.BeginTransaction(); try { // wstaw do konfiguracji dynamicznej i dodaj graf procesow do running tasks DbParameter OUT_INSERTED_TASK_RI_ID = dbPTRConfig.GetIntParamOut("@OUT_INSERTED_TASK_RI_ID"); DbParameter OUT_LAST_INSERTED_TASK_RI_ID = dbPTRConfig.GetIntParamOut("@OUT_LAST_INSERTED_TASK_RI_ID"); int prevTaskId = (parallel ? rootTaskRunningId : lastInsertedTaskRunningId); PTR3Core.LOG.Log(logStatus, "Dynamic tasks graph inserting (root running task id: {0}, preview running task id: {1}, task to insert id {2}) ..." , rootTaskRunningId, prevTaskId, taskToInsertId); dbPTRConfig.ExecuteSp("SP_INSERT_TASK_TREE", dbPTRConfig.GetIntParamIn("@IN_ROOF_TASK_RI_ID", rootTaskRunningId), dbPTRConfig.GetIntParamIn("@IN_PREV_TASK_RI_ID", prevTaskId), dbPTRConfig.GetIntParamIn("@IN_TASK_ID", taskToInsertId), OUT_INSERTED_TASK_RI_ID, OUT_LAST_INSERTED_TASK_RI_ID); int firstInsertedTaskRunningId = (int)OUT_INSERTED_TASK_RI_ID.Value; lastInsertedTaskRunningId = (int)OUT_LAST_INSERTED_TASK_RI_ID.Value; core.UpdateTaskDynamicConfiguration(dbPTRConfig, getXmlDynamicConfig(firstInsertedTaskRunningId)); dbPTRConfig.CommitTransaction(); return true; } catch(Exception ex) { dbPTRConfig.RollbackTransaction(); message = "Error while dynamic task graph inserting: " + ex.Message + "\r\n" + ex.StackTrace + "."; return false; } }
public static SqlDatabase GetDBConfig(PTR3Core core, bool logToPtr, MsgStatusEnum logStatus) { String databaseName = "data-base"; String server = ConfigXmlReader.XmlGetConfigParam(core.OptionalConfigurationXml, databaseName + ":address"); String database = ConfigXmlReader.XmlGetConfigParam(core.OptionalConfigurationXml, databaseName + ":name"); String user = ConfigXmlReader.XmlGetConfigParam(core.OptionalConfigurationXml, databaseName + ":user"); String password = PasswordEncoder.PtrDecryptText(ConfigXmlReader.XmlGetConfigParam(core.OptionalConfigurationXml, databaseName + ":password")); if(logToPtr) PTR3Core.LOG.Log(logStatus, "Connecting to PTRConfig database (server: {0}, user: {1}, password: {2}, database: {3}) ...", server, user, password, database); SqlDatabase result = new SqlDatabase(server, database, user, password); if(logToPtr) PTR3Core.LOG.Log(logStatus, "Connection to PTRConfig database established."); return result; }
public static SqlDatabase GetDBConverters(PTR3Core core, bool logToPtr, MsgStatusEnum logStatus) { string log = ""; string connectionString = GetDBConvertersConnectionString(core, out log); if(logToPtr) PTR3Core.LOG.Log(logStatus, "Connecting to PTRConvert database ({0}) ...", log); SqlDatabase dbConverters = new SqlDatabase(connectionString); dbConverters.CommandTimeout = 3600; if(logToPtr) PTR3Core.LOG.Log(logStatus, "Connection to PTRConvert database established."); return dbConverters; }
public static string GetMsgStatusEnumName(MsgStatusEnum e) { string a = ""; switch (e) { case MsgStatusEnum.Confirmed: a = "同意"; break; case MsgStatusEnum.Declined: a = "拒绝"; break; } return a; }