/// <summary> /// Updates the steam user id. /// </summary> /// <param name="facebookUserId">The facebook user id.</param> /// <param name="steamUserId">The steam user id.</param> public void UpdateSteamUserId(long facebookUserId, string steamUserId) { if (steamUserId == null) { throw new ArgumentNullException("steamUserId"); } SteamDataContext context = new SteamDataContext(); IQueryable <User> query = from u in context.Users where u.FacebookUserId == facebookUserId select u; User user = query.SingleOrDefault(); if (user == null) { // the user does not exist, create a new one. user = new User { FacebookUserId = facebookUserId, SteamUserId = steamUserId }; context.Users.InsertOnSubmit(user); } else { // update steam id string oldSteamUserId = user.SteamUserId; user.SteamUserId = steamUserId; // delete all achievements associated with the old id IQueryable <UserAchievement> users = from u in context.UserAchievements where u.SteamUserId == oldSteamUserId select u; context.UserAchievements.DeleteAllOnSubmit(users); } context.SubmitChanges(); }
/// <summary> /// Submits the changes. /// </summary> public void SubmitChanges() { _context.SubmitChanges(); }