示例#1
0
        public virtual async Task <User> CreateUser(User userToCreate)
        {
            var user = new User {
                UserName     = userToCreate.Login.ToLower(),
                FirstName    = userToCreate.FirstName,
                LastName     = userToCreate.LastName,
                Email        = userToCreate.Email.ToLower(),
                ImageUrl     = userToCreate.ImageUrl,
                LangKey      = userToCreate.LangKey ?? Constants.DefaultLangKey,
                PasswordHash = _userManager.PasswordHasher.HashPassword(null, RandomUtil.GeneratePassword()),
                ResetKey     = RandomUtil.GenerateResetKey(),
                ResetDate    = DateTime.Now,
                Activated    = true
            };
            await _userManager.CreateAsync(user);

            await CreateUserRoles(user, userToCreate.UserRoles.Select(iur => iur.Role.Name).ToHashSet());

            _log.LogDebug($"Created Information for User: {user}");
            return(user);
        }