public override string CreateUserAndAccount(string userName/*email*/, string password, bool requireConfirmation, IDictionary<string, object> values)
{
userName = userName.Trim().ToLower();
var userProfile = this.usersService.GetUserProfile(userName);
if (userProfile != null)
{
throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateEmail);
}
var newUserProfile = new UserProfile { UserName = userName, DisplayName = userName };
this.usersService.Save(newUserProfile);
var membership = new App.Core.Data.Membership
{
UserId = newUserProfile.UserId,
CreateDate = DateTime.Now,
PasswordSalt = this.usersService.GetHash(password),
IsConfirmed = false,
ConfirmationToken = Guid.NewGuid().ToString().ToLower()
};
this.usersService.Save(membership, add: true);
return membership.ConfirmationToken;
}