private static void OnProfileChanged(object sender, Awful.Core.Event.ProfileChangedEventArgs e) { try { using (var db = new SAForumDB()) { var profile = db.Profiles.Where(p => p.Username.Equals(e.Value.Username)).SingleOrDefault(); if (profile == null) { profile = new Profile() { Username = e.Value.Username, Password = e.Value.Password }; profile.AssignTokens(e.Cookies); db.Profiles.InsertOnSubmit(profile); db.SubmitChanges(ConflictMode.FailOnFirstConflict); App.Settings.CurrentProfileID = profile.ID; } else { App.Settings.CurrentProfileID = profile.ID; App.CurrentUser = profile.Username; foreach (var cookie in e.Cookies) { var token = new SAAuthToken(cookie) { Profile = profile }; db.Tokens.InsertOnSubmit(token); } db.SubmitChanges(ConflictMode.FailOnFirstConflict); var profile2 = db.Profiles.Where(p => p.ID == profile.ID).SingleOrDefault(); } } } catch (Exception ex) { string error = string.Format( "There was an error while trying to save profile to DB. [{0}] {1}", ex.Message, ex.StackTrace); Awful.Core.Event.Logger.AddEntry(error); } }