Пример #1
0
        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);
        }
Пример #2
0
 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
 }
Пример #3
0
 public static bool LoadSessionsFromDB()
 {
     Sessions.Clear();
     if (SessionsTableMgr.LoadSessionsFromDB(Sessions))
     {
         SessionsLoaded = true;
         EventSystem.Publish <SessionsLoaded>(new SessionsLoaded {
         });
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #4
0
        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();
        }
Пример #5
0
        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);
        }