public void FireAfterRegisterUser(object sender, RegisterUserEventArgs eventArgs) { var handler = AfterRegisterUser; if (handler != null) { handler(this, eventArgs); } }
/// <summary> /// Create new user /// </summary> /// <param name="newUser"></param> /// <returns></returns> public MembershipCreateStatus CreateUser(MembershipUser newUser) { newUser = SanitizeUser(newUser); var settings = _settingsService.GetSettings(false); var status = MembershipCreateStatus.Success; var e = new RegisterUserEventArgs { User = newUser }; EventManager.Instance.FireBeforeRegisterUser(this, e); if (e.Cancel) { status = e.CreateStatus; } else { if (string.IsNullOrEmpty(newUser.UserName)) { status = MembershipCreateStatus.InvalidUserName; } // get by username if (GetUser(newUser.UserName, true) != null) { status = MembershipCreateStatus.DuplicateUserName; } // Add get by email address if (GetUserByEmail(newUser.Email, true) != null) { status = MembershipCreateStatus.DuplicateEmail; } if (string.IsNullOrEmpty(newUser.Password)) { status = MembershipCreateStatus.InvalidPassword; } if (status == MembershipCreateStatus.Success) { // Hash the password var salt = StringUtils.CreateSalt(AppConstants.SaltSize); var hash = StringUtils.GenerateSaltedHash(newUser.Password, salt); newUser.Password = hash; newUser.PasswordSalt = salt; newUser.Roles = new List<MembershipRole> { settings.NewMemberStartingRole }; // Set dates newUser.CreateDate = newUser.LastPasswordChangedDate = DateTime.UtcNow; newUser.LastLockoutDate = (DateTime)SqlDateTime.MinValue; newUser.LastLoginDate = DateTime.UtcNow; newUser.IsLockedOut = false; var manuallyAuthoriseMembers = settings.ManuallyAuthoriseNewMembers; var memberEmailAuthorisationNeeded = settings.NewMemberEmailConfirmation == true; if (manuallyAuthoriseMembers || memberEmailAuthorisationNeeded) { newUser.IsApproved = false; } else { newUser.IsApproved = true; } // url generator newUser.Slug = ServiceHelpers.GenerateSlug(newUser.UserName, GetUserBySlugLike(ServiceHelpers.CreateUrl(newUser.UserName)), null); try { Add(newUser); if (settings.EmailAdminOnNewMemberSignUp) { var sb = new StringBuilder(); sb.AppendFormat("<p>{0}</p>", string.Format(_localizationService.GetResourceString("Members.NewMemberRegistered"), settings.ForumName, settings.ForumUrl)); sb.AppendFormat("<p>{0} - {1}</p>", newUser.UserName, newUser.Email); var email = new Email { EmailTo = settings.AdminEmailAddress, NameTo = _localizationService.GetResourceString("Members.Admin"), Subject = _localizationService.GetResourceString("Members.NewMemberSubject") }; email.Body = _emailService.EmailTemplate(email.NameTo, sb.ToString()); _emailService.SendMail(email); } _activityService.MemberJoined(newUser); EventManager.Instance.FireAfterRegisterUser(this, new RegisterUserEventArgs { User = newUser }); } catch (Exception) { status = MembershipCreateStatus.UserRejected; } } } return status; }
private void EventManagerInstance_BeforeRegisterUserCancel(object sender, RegisterUserEventArgs args) { args.Cancel = true; }
private void EventManagerInstance_BeforeRegisterUserAllow(object sender, RegisterUserEventArgs args) { args.User.Email = TestString; args.Cancel = false; }
private void EventManagerInstance_AfterRegisterUser(object sender, RegisterUserEventArgs args) { args.User.Email = TestString; }
public void FireBeforeRegisterUser(object sender, RegisterUserEventArgs eventArgs) { var handler = BeforeRegisterUser; if (handler != null) { handler(this, eventArgs); } }