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