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 }