public MembershipCreateStatus AdminCreateUser(MembershipUser newUser, MembershipUser admin) { newUser = SanitizeUser(newUser); var settings = _settingsService.GetSettings(false); var status = MembershipCreateStatus.Success; var e = new AdminRegisterUserEventArgs { User = newUser, Admin = admin }; //fire event....left off here. Admin 5/5/2016 EventManager.Instance.FireBeforeAdminRegisterUser(this, e); if (e.Cancel) { status = e.CreateStatus; } else { // Add get by email address if (GetUserByEmail(newUser.Email, true) != null) { status = MembershipCreateStatus.DuplicateEmail; } if (string.IsNullOrEmpty(newUser.Password)) { //status = MembershipCreateStatus.InvalidPassword; newUser.Password = "******"; } 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 = DateTime.UtcNow; newUser.LastLoginDate = DateTime.UtcNow; //we will need this!.....(I think) //------------------------------- //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.Email, GetUserBySlugLike(ServiceHelpers.CreateUrl(newUser.Email)), 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.AdminRegisterUser(newUser, admin); EventManager.Instance.FireAfterAdminRegisterUser(this, new AdminRegisterUserEventArgs { User = newUser, Admin = admin }); } catch (Exception) { status = MembershipCreateStatus.UserRejected; } } } return(status); }