public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return null; } if (RequiresUniqueEmail && !string.IsNullOrEmpty(GetUserNameByEmail(email))) { status = MembershipCreateStatus.DuplicateEmail; return null; } MembershipUser user = GetUser(username, true); if (user != null) { status = MembershipCreateStatus.DuplicateUserName; return null; } UserData newUser; using (UserServiceClient svc = new UserServiceClient()) { UserData dataObject = new UserData { Name = email, PasswordHash = UserData.GetHashPassword(password), Email = email }; newUser = svc.UserRegister(dataObject); } if (newUser.ActEnum == (int)eAct.unApproved) { status = MembershipCreateStatus.InvalidEmail; } else { status = MembershipCreateStatus.Success; } return ConvertToMem(newUser); }