Пример #1
0
        /// <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();
        }
Пример #2
0
 /// <summary>
 /// Submits the changes.
 /// </summary>
 public void SubmitChanges()
 {
     _context.SubmitChanges();
 }