コード例 #1
0
        public async Task RegisterClient(
            string username,
            string email,
            string password,
            string firstName,
            string lastName,
            string address,
            string city,
            string zip,
            string country,
            bool subscribeToOffers
            )
        {
            await ValidateUsernameEmailUniqueness(username, email);

            var client = Client.FromDetails(
                _clientRepository.NextId(),
                username,
                email,
                _passwordEncoder.Encode(password),
                firstName,
                lastName,
                address,
                city,
                zip,
                country,
                subscribeToOffers);

            await _eventStore.SaveEventsAsync(client.Id, -1, client.DomainEvents);

            await SendClientConfirmationEmail(firstName, email);
        }
コード例 #2
0
        public async Task <AdminTokenOutput> RegisterAsync(RegisterInput input)
        {
            if (await IsLoginBusyAsync(input.Login))
            {
                throw AuthorizationException.LoginIsBusy(input.Login);
            }

            var password = _passwordEncoder.Encode(input.Password);
            var admin    = new Admin(input.Name, input.Login, password);

            await _adminRepository.SaveAsync(admin);

            return(new AdminTokenOutput(admin, _jwtManager.CreateToken(admin)));
        }