/// <summary> /// OnBeforeSave handler. /// </summary> private void editProfileForm_OnBeforeSave(object sender, EventArgs e) { // If avatarUser id column is set if (editProfileForm.Data.GetValue("UserAvatarID") != DBNull.Value) { // If Avatar not set, rewrite to null value if (ValidationHelper.GetInteger(editProfileForm.Data.GetValue("UserAvatarID"), 0) == 0) { editProfileForm.Data.SetValue("UserAvatarID", DBNull.Value); } } // Set full name as first name + last name if (MembershipContext.AuthenticatedUser != null) { string firstName = ValidationHelper.GetString(editProfileForm.Data.GetValue("FirstName"), ""); string lastName = ValidationHelper.GetString(editProfileForm.Data.GetValue("LastName"), ""); string middleName = ValidationHelper.GetString(editProfileForm.Data.GetValue("MiddleName"), ""); String fullName = ValidationHelper.GetString(editProfileForm.Data.GetValue("FullName"), ""); var cui = MembershipContext.AuthenticatedUser; // Change full name only if it was automatically generated (= is equals to first + middle + last name) if (fullName == UserInfoProvider.GetFullName(cui.FirstName, cui.MiddleName, cui.LastName)) { editProfileForm.Data.SetValue("FullName", UserInfoProvider.GetFullName(firstName, middleName, lastName)); } } // Ensure unique user email string email = ValidationHelper.GetString(editProfileForm.Data.GetValue("Email"), "").Trim(); // Get current user info UserInfo ui = editProfileForm.Info as UserInfo; // Check if user email is unique in all sites where he belongs if (!UserInfoProvider.IsEmailUnique(email, ui)) { ShowError(GetString("UserInfo.EmailAlreadyExist")); editProfileForm.StopProcessing = true; } #region "Reserved names - nickname" // Don't check reserved names for global administrator if (!MembershipContext.AuthenticatedUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.Admin)) { // Check for reserved user names like administrator, sysadmin, ... string nickName = ValidationHelper.GetString(editProfileForm.Data.GetValue("UserNickName"), ""); if (UserInfoProvider.NameIsReserved(SiteContext.CurrentSiteName, nickName)) { ShowError(GetString("Webparts_Membership_RegistrationForm.UserNameReserved").Replace("%%name%%", HTMLHelper.HTMLEncode(nickName))); editProfileForm.StopProcessing = true; } } #endregion }