public void Logout() { try { sessionTimer.Stop(); if (currentSession == null) throw new Exception("Benutzer kann nicht abgemeldet werden: Benutzer ist nicht angemeldet (" + this.username + ")"); currentSession.Logout(); currentSession = null; } catch (Exception) { } }
public static void SaveUserSession(Session session) { if (session.LoginTime == null) throw new Exception("Die Session kann nicht eindeutig zugeordnet werden, da das Attribut 'LoginTime' fehlt."); if (session.Site == null) throw new Exception("Die Session kann nicht eindeutig zugeordnet werden, da das Attribut 'Site' fehlt."); try { string query = "SET DATEFORMAT dmy; UPDATE [SESSION] SET LastReply = '" + session.LastReply + "'" + ", LogoutTime = " + (session.LogoutTime == null ? "null" : "'" + session.LogoutTime + "'") + " WHERE LoginTime = '" + session.LoginTime + "' AND [Site] = '" + session.Site + "'"; SqlConnection connection = new SqlConnection(ConnectionString + "Timeout=3;"); SqlCommand cmd = new SqlCommand(query, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { LogWriter.Write(ex, LOGFILE_NAME); string errmsg = "Fehler beim Speichern der Sitzungsdaten.\n\n"; errmsg += "DatabaseHandler.LogUserIn(logintime, site, session): " + ex.Message; throw new Exception(errmsg); } }
public void Login() { if (currentSession != null) throw new Exception("Benutzer kann nicht angemeldet werden: Benutzer ist bereits angemeldet (" + this.username + ")"); currentSession = new Session(SystemInformation.ComputerName); DatabaseHandler.NewUserSession(this); sessionTimer.Start(); }