/// <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); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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); } }
/// <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; }