Esempio n. 1
0
 public MessageService(
     ICoreMessageService coreMessageService,
     IOptionsSnapshot <EmailConfiguration> emailConfigurationAccessor,
     ILogger <MessageService> logger)
 {
     _coreMessageService = coreMessageService ?? throw new ArgumentNullException(nameof(coreMessageService));
     if (emailConfigurationAccessor == null)
     {
         throw new ArgumentNullException(nameof(emailConfigurationAccessor));
     }
     _emailConfiguration = emailConfigurationAccessor.Value ?? throw new ArgumentException("Value cannot be null", nameof(emailConfigurationAccessor));
     if (string.IsNullOrWhiteSpace(_emailConfiguration.PackageUrlTemplate))
     {
         throw new ArgumentException($"{nameof(emailConfigurationAccessor.Value)}.{nameof(_emailConfiguration.PackageUrlTemplate)} cannot be empty", nameof(emailConfigurationAccessor));
     }
     if (string.IsNullOrWhiteSpace(_emailConfiguration.PackageSupportTemplate))
     {
         throw new ArgumentException($"{nameof(emailConfigurationAccessor.Value)}.{nameof(_emailConfiguration.PackageSupportTemplate)} cannot be empty", nameof(emailConfigurationAccessor));
     }
     if (string.IsNullOrWhiteSpace(_emailConfiguration.EmailSettingsUrl))
     {
         throw new ArgumentException($"{nameof(emailConfigurationAccessor.Value)}.{nameof(_emailConfiguration.EmailSettingsUrl)} cannot be empty", nameof(emailConfigurationAccessor));
     }
     if (!Uri.TryCreate(_emailConfiguration.EmailSettingsUrl, UriKind.Absolute, out Uri result))
     {
         throw new ArgumentException($"{nameof(emailConfigurationAccessor.Value)}.{nameof(_emailConfiguration.EmailSettingsUrl)} must be an absolute Url", nameof(emailConfigurationAccessor));
     }
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }