public virtual async Task <User> RequestPasswordReset(string mail)
        {
            var user = await _userManager.FindByEmailAsync(mail);

            if (user == null)
            {
                return(null);
            }
            user.ResetKey  = RandomUtil.GenerateResetKey();
            user.ResetDate = DateTime.Now;
            await _userManager.UpdateAsync(user);

            return(user);
        }
Esempio n. 2
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);
        }