Esempio n. 1
0
        public async Task UpdateUserAsync(UserDataStructure userDataStructure)
        {
            if (userDataStructure?.Id == null)
            {
                throw new BusinessLogicException("Missing id");
            }

            var user = await GetOneOrThrowAsync(userDataStructure.Id.Value);

            user.UpdateUser(userDataStructure.Email,
                            userDataStructure.FirstName,
                            userDataStructure.SecondName,
                            userDataStructure.BirthDate, new Address(userDataStructure.PostalCode, userDataStructure.Street, userDataStructure.City));

            await _usersRepository.UpdateAsync(user);

            var userCratedEvent = new UserChangedEvent(user.Id, user.UserName, user.Email,
                                                       user.Roles.Select(x => x.ToString()), user.FirstName, user.SecondName, user.BirthDate, user.ModifyDate,
                                                       new AddressEventData()
            {
                City       = user.Address.City,
                PostalCode = user.Address.City,
                Street     = user.Address.Street
            });

            await _busPublisher.PublishAsync(userCratedEvent);
        }
Esempio n. 2
0
        public async Task AddUserAsync(UserDataStructure userDataStructure)
        {
            var user = (await _usersRepository.GetWithExpressionAsync(x => x.UserName == userDataStructure.UserName)).SingleOrDefault();

            if (user != null)
            {
                throw new BusinessLogicException("User already exists");
            }

            user = _userFactory.CreateUser(userDataStructure);
            ValidatePasswords(userDataStructure.Password, userDataStructure.ConfirmPassword);
            user.SetPassword(userDataStructure.Password);

            await _usersRepository.CreateAsync(user);

            var userCratedEvent = new UserChangedEvent(user.Id, user.UserName, user.Email,
                                                       user.Roles.Select(x => x.ToString()), user.FirstName, user.SecondName, user.BirthDate, user.ModifyDate,
                                                       new AddressEventData()
            {
                City       = user.Address.City,
                PostalCode = user.Address.City,
                Street     = user.Address.Street
            });

            await _busPublisher.PublishAsync(userCratedEvent);
        }
Esempio n. 3
0
        public async Task UpdateUserAsync(UserDataStructure userDataStructure)
        {
            var user = await GetUserOrThrowAsync(userDataStructure.Id);

            user.Update(userDataStructure);

            await _userRepository.PersistAsync(user);
        }
Esempio n. 4
0
        public async Task <UserSignedInDto> HandleAsync(SignInQuery query)
        {
            var dataStructure = new UserDataStructure()
            {
                UserName = query.UserName, Password = query.Password
            };
            var userDto = await _usersService.SignInAsync(dataStructure);

            return(userDto);
        }
        public async Task UpdateUserAsync(UserDataStructure userDataStructure)
        {
            var user = await _userRepository.GetAsync(userDataStructure.Id);

            if (user == null)
            {
                throw new BusinessLogicException("user_not_found");
            }

            user.Update(userDataStructure.UserName);
            await _userRepository.UpdateAsync(user);
        }
        public async Task AddUserAsync(UserDataStructure userDataStructure)
        {
            var user = await _userRepository.GetAsync(userDataStructure.Id);

            if (user != null)
            {
                throw new BusinessLogicException("user_exists");
            }

            user = _userFactory.Create(userDataStructure);
            await _userRepository.CreateAsync(user);
        }
Esempio n. 7
0
        public async Task RegisterUserAsync(UserDataStructure userDataStructure, string password, string confirmPassword)
        {
            var user = await _userRepository.GetUserByEmailAsync(userDataStructure.Email);

            if (user != null)
            {
                throw new BusinessLogicException(UserResources.UserAlreadyExistsMessage);
            }

            user = _userFactory.Create(userDataStructure);
            user.SetPassword(password, confirmPassword);

            await _userRepository.PersistAsync(user);
        }
Esempio n. 8
0
        public User CreateUser(UserDataStructure userDataStructure)
        {
            var user = new User(
                GetOrCreateId(userDataStructure.Id)
                , userDataStructure.Roles ?? new List <Guid>()
                , userDataStructure.Email
                , userDataStructure.UserName
                , userDataStructure.FirstName
                , userDataStructure.SecondName
                , userDataStructure.BirthDate
                , new Address(userDataStructure.PostalCode, userDataStructure.Street, userDataStructure.City));

            return(user);
        }
Esempio n. 9
0
        public async Task <UserSignedInDto> SignInAsync(UserDataStructure userDataStructure)
        {
            var user = await GetOneOrThrowAsync(userDataStructure.UserName);

            if (!BCrypt.Net.BCrypt.Verify(userDataStructure.Password, user.PasswordHash))
            {
                throw new BusinessLogicException("Invalid credentials.");
            }

            return(new UserSignedInDto()
            {
                Token = GenerateToken(user),
                Email = user.Email,
                Id = user.Id.ToString(),
                UserName = user.UserName
            });
        }
 public User Create(UserDataStructure userDataStructure) => new User(userDataStructure, _domainEventsManager, _passwordHashingPolicyFactory, _passwordPolicyFactory, _userDomainEventFactory, _correlationContext);
Esempio n. 11
0
 public User Create(UserDataStructure user)
 => new User(user.Id, user.UserName);