/// <summary>
        /// Updates a user in the Users table
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public int Update(TUser user)
        {
            ConnectionService.ThreadVanityUrl = ConnectionName;

            AspNetUsers newUser = new AspNetUsers();

            SetConnection(newUser);
            if (newUser.LoadByPrimaryKey(user.Id))
            {
                newUser.Id                   = user.Id;
                newUser.UserName             = user.UserName;
                newUser.PasswordHash         = user.PasswordHash;
                newUser.SecurityStamp        = user.SecurityStamp;
                newUser.Email                = user.Email;
                newUser.EmailConfirmed       = user.EmailConfirmed;
                newUser.PhoneNumber          = user.PhoneNumber;
                newUser.PhoneNumberConfirmed = user.PhoneNumberConfirmed;
                newUser.LockoutEnabled       = user.LockoutEnabled;
                newUser.LockoutEndDateUtc    = user.LockoutEndDateUtc;
                newUser.AccessFailedCount    = user.AccessFailedCount;
                newUser.TwoFactorEnabled     = user.TwoFactorEnabled;

                newUser.Save();
            }

            return(1);
        }
        /// <summary>
        /// Sets the user's password hash
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="passwordHash"></param>
        /// <returns></returns>
        public int SetPasswordHash(string userId, string passwordHash)
        {
            ConnectionService.ThreadVanityUrl = ConnectionName;

            AspNetUsers user = new AspNetUsers();

            SetConnection(user);
            if (user.LoadByPrimaryKey(userId))
            {
                user.PasswordHash = passwordHash;
                user.Save();
            }

            return(1);
        }
        /// <summary>
        /// Deletes a user from the Users table
        /// </summary>
        /// <param name="userId">The user's id</param>
        /// <returns></returns>
        private int Delete(string userId)
        {
            try
            {
                ConnectionService.ThreadVanityUrl = ConnectionName;

                AspNetUsers user = new AspNetUsers();
                SetConnection(user);
                user.Id = userId;
                user.AcceptChanges();
                user.MarkAsDeleted();
                user.Save();
            }
            catch { }

            return(1);
        }