public async Task <Email> CreateAsync( [NotNull] string emailString, [NotNull] string password, int order) { Check.NotNullOrWhiteSpace(emailString, nameof(emailString)); var existingEmail = await _emailRepository.FindByEmailStringAsync(emailString); if (existingEmail != null) { throw new EmailAlreadyExistsException(emailString); } return(new Email( GuidGenerator.Create(), emailString, password, order )); }