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); }