Пример #1
0
        /// <summary>
        /// Clears a lock so that the membership user can be validated.
        /// </summary>
        /// <param name="userName">The membership user to clear the lock status for.</param>
        /// <returns>
        /// true if the membership user was successfully unlocked; otherwise, false.
        /// </returns>
        public override bool UnlockUser(string userName)
        {
            FORUM_MEMBER user = _db.FORUM_MEMBERs.First(m => m.M_NAME.ToLower() == userName.ToLower());

            user.M_STATUS = 1;
            _db.SubmitChanges();
            return(true);
        }
Пример #2
0
        /// <summary>
        /// Builds a MembershipUser object from the given data.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <returns></returns>
        private MembershipUser BuildMemberObject(FORUM_MEMBER user)
        {
            if (user == null)
            {
                return(null);
            }
            const string cDateFormat    = "yyyyMMddHHmmss";
            DateTime     vCreateDate    = DateTime.ParseExact(user.M_DATE, cDateFormat, CultureInfo.CurrentCulture);
            DateTime     vLastLoginDate = DateTime.ParseExact(user.M_LASTHEREDATE, cDateFormat, CultureInfo.CurrentCulture);

            return(new MembershipUser("SnitzProvider", user.M_NAME, (object)user.MEMBER_ID, user.M_EMAIL,
                                      null, null, true, false, vCreateDate, vLastLoginDate, vLastLoginDate, DateTime.Now, DateTime.Now));
        }
Пример #3
0
        /// <summary>
        /// Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
        /// </summary>
        /// <param name="providerUserKey">The unique identifier for the membership user to get information for.</param>
        /// <param name="userIsOnline">true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.</param>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"></see> object populated with the specified user's information from the data source.
        /// </returns>
        public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
        {
            var q = from m in _db.FORUM_MEMBERs
                    where m.MEMBER_ID == (int)providerUserKey && m.M_STATUS == 1
                    select m;

            FORUM_MEMBER user = q.FirstOrDefault();

            if (userIsOnline && user != null)
            {
                user.M_LASTHEREDATE = ToDateString(DateTime.Now);
                _db.SubmitChanges();
            }
            return(BuildMemberObject(user));
        }
Пример #4
0
        /// <summary>
        /// Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
        /// </summary>
        /// <param name="username">The name of the user to get information for.</param>
        /// <param name="userIsOnline">true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.</param>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"></see> object populated with the specified user's information from the data source.
        /// </returns>
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            var q = from m in _db.FORUM_MEMBERs
                    where m.M_NAME.ToLower() == username.ToLower()
                    select m;

            FORUM_MEMBER user = q.FirstOrDefault();

            if (userIsOnline && user != null)
            {
                user.M_LASTHEREDATE = ToDateString(DateTime.Now);
                _db.SubmitChanges();
            }
            return(BuildMemberObject(user));
        }
Пример #5
0
        /// <summary>
        /// Processes a request to update the password for a membership user.
        /// </summary>
        /// <param name="username">The user to update the password for.</param>
        /// <param name="oldPassword">The current password for the specified user.</param>
        /// <param name="newPassword">The new password for the specified user.</param>
        /// <returns>
        /// true if the password was updated successfully; otherwise, false.
        /// </returns>
        public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            ValidatePasswordEventArgs args = OnValidatingPassword(username, newPassword, false);

            if (args.Cancel)
            {
                throw new ProviderException("Cannot change password.  See inner exception", args.FailureInformation);
            }
            else
            {
                var q = from u in _db.FORUM_MEMBERs
                        where u.M_NAME == username && u.M_PASSWORD == ToHashString(oldPassword)
                        select u;
                FORUM_MEMBER user = q.FirstOrDefault();
                if (user != null)
                {
                    user.M_PASSWORD = ToHashString(newPassword);
                    _db.SubmitChanges();
                }
                return(user != null);
            }
        }
Пример #6
0
        /// <summary>
        /// Removes a user from the membership data source.
        /// </summary>
        /// <param name="username">The name of the user to delete.</param>
        /// <param name="deleteAllRelatedData">true to delete data related to the user from the database; false to leave data related to the user in the database.</param>
        /// <returns>
        /// true if the user was successfully deleted; otherwise, false.
        /// </returns>
        public override bool DeleteUser(string username, bool deleteAllRelatedData)
        {
            //DELETE From FORUM_MEMBERS where M_NAME = @pUsername

            var          q = from u in _db.FORUM_MEMBERs where u.M_NAME == username select u;
            FORUM_MEMBER m = q.FirstOrDefault();

            if (m == null)
            {
                return(false);
            }
            else
            {
                _db.FORUM_MEMBERs.DeleteOnSubmit(m);
                _db.SubmitChanges();
                return(true);
            }
            //DbCommand cmd = _database.GetStoredProcCommand("SnitzDeleteUser");
            //_database.AddInParameter(cmd, "pUsername", DbType.String, username);

            //int cnt = (int)_database.ExecuteScalar(cmd);
            //return cnt> 0;
        }