Пример #1
0
        public async Task <BellwetherUser> FindByEmailAsync(StringValues userEmail)
        {
            BellwetherUser result = null;

            if (userEmail.Count >= 1)
            {
                result = await _readOnlyUnitOfWork.GetRepository <BellwetherUser>().Query().FirstOrDefaultAsync(x => x.Email.ToLower() == userEmail[0].ToLower());
            }
            return(result);
        }
Пример #2
0
 private static async void SeedUser(string name,
                                    string surname,
                                    string email,
                                    string password,
                                    UserType userType,
                                    IPasswordCryptoService passwordCryptoService,
                                    BellwetherContext bellwetherContext)
 {
     var salt         = passwordCryptoService.GenerateSalt();
     var passwordHash = passwordCryptoService.HashPassword(password, salt);
     var user         = BellwetherUser.Create(Guid.NewGuid(), name, surname, email, passwordHash, salt, userType);
     await bellwetherContext.Set <BellwetherUser>().AddAsync(user);
 }
Пример #3
0
        public async Task <bool> CheckPasswordAsync(BellwetherUser user, StringValues password)
        {
            var result = false;

            if (password.Count >= 1)
            {
                result = await _passwordCryptoService.IsCorrectAsync(password[0], user.Password, user.Salt);
            }

            if (result)
            {
                user.UpdateLastLoginDate();
                await _unitOfWork.GetRepository <BellwetherUser>().SaveChangesAsync();
            }
            return(result);
        }
        private async Task Handle(RegisterUserCommand command)
        {
            await HandleCommand(command, async uow =>
            {
                var userRepository = uow.GetRepository <BellwetherUser>();

                var salt         = _passwordCryptoService.GenerateSalt();
                var passwordHash = _passwordCryptoService.HashPassword(command.Password, salt);

                var user = BellwetherUser.Create(Guid.NewGuid(), command.Name, command.Surname, command.Email, passwordHash, salt, UserType.Client);

                userRepository.Add(user);

                await userRepository.SaveChangesAsync();
            });
        }