public static int UpdateSession(Session sessionCopy) { var originalSession = Sessions.FirstOrDefault(x => x.SessionId.Equals(sessionCopy.SessionId)); if (!originalSession.SessionName.Equals(sessionCopy.SessionName)) { if (Sessions.FirstOrDefault(x => x.SessionName.Equals(sessionCopy.SessionName)) != null) { return(-1); // name already exists } } var index = Sessions.FindIndex(c => c.SessionId == originalSession.SessionId); Sessions[index] = sessionCopy; if (SessionsTableMgr.UpdateSession(sessionCopy)) { if (!SessionClipsTableMgr.UpdateSessionClips(sessionCopy.SessionId, sessionCopy.SessionAudioClipsList)) { return(-3); } } else { return(-2); } return(sessionCopy.SessionId); }
public static int AddSession(string sessionName, Ruleset ruleset) { if (Sessions.FirstOrDefault(x => x.SessionName.Equals(sessionName)) == null) { var newSession = new Session() { SessionName = sessionName, Ruleset = ruleset }; Sessions.Add(newSession); // update database if (SessionsTableMgr.AddSession(newSession)) { newSession.SessionId = SessionsTableMgr.GetSessionId(sessionName); SessionsTableMgr.UpdateSession(newSession); Logger.AddLogEntry(LogCategory.INFO, "Added Session: " + sessionName); return(newSession.SessionId); } else { return(-1); } } return(-2); // session name already exits }
public static bool LoadSessionsFromDB() { Sessions.Clear(); if (SessionsTableMgr.LoadSessionsFromDB(Sessions)) { SessionsLoaded = true; EventSystem.Publish <SessionsLoaded>(new SessionsLoaded { }); return(true); } else { return(false); } }
private static void CreateDatabaseTables() { string filename = DBAdmin.CreateDBFile(); if (EventLogTableMgr.CreateEventLogDBTable()) { Logger.AddLogEntry(LogCategory.INFO, "Created Database file \'" + filename + "\'."); } SettingsTableMgr.CreateSettingsDBTable(); AudioClipsTableMgr.CreateAudioClipsDBTable(); TimeTriggerClipsTableMgr.CreateTimeTriggerClipsDBTable(); RulesetsTableMgr.CreateRulesetsDBTable(); RulesTableMgr.CreateRulesetRulesDBTable(); SessionsTableMgr.CreateSessionsDBTable(); SessionClipsTableMgr.CreateSessionsDBTable(); OnlineVoicesTableMgr.CreateOnlineVoicesDBTable(); }
public static bool DeleteSession(string sessionName) { var session = Sessions.FirstOrDefault(x => x.SessionName.Equals(sessionName)); if (session != null) { Sessions.Remove(session); if (SessionsTableMgr.DeleteSession(session.SessionId)) { Logger.AddLogEntry(LogCategory.INFO, "Deleted Session: " + sessionName); return(true); } else { return(false); } } return(false); }