コード例 #1
0
 public IAlertSenderConfiguration Default()
 {
     return(_defaultConfiguration
            ?? (_defaultConfiguration = new HttpSenderConfiguration
     {
         SenderType = "Http",
         Url = ""
     }));
 }
コード例 #2
0
 public IAlertSenderConfiguration Default()
 {
     return(_defaultConfiguration
            ?? (_defaultConfiguration = new MailSenderConfiguration
     {
         SenderType = "Mail",
         Name = "",
         Email = "",
         Contacts = new string[] { },
         SmtpAddress = "",
         SmtpPassword = "",
         SmtpUsername = "",
         SmtpPort = -1
     }));
 }
コード例 #3
0
        public IAlertSender Parse(IAlertSenderConfiguration configuration)
        {
            foreach (var existingSender in _senders)
            {
                if (existingSender.Match(configuration))
                {
                    return(existingSender);
                }
            }

            var newSender = CreateSender(configuration);

            _senders.Add(newSender);
            return(newSender);
        }
コード例 #4
0
ファイル: MailSender.cs プロジェクト: pngouin/CK-Glouton
 public bool Match(IAlertSenderConfiguration configuration)
 {
     return(_configuration.Equals(configuration));
 }
コード例 #5
0
ファイル: AlertService.cs プロジェクト: pngouin/CK-Glouton
        public bool TryGetConfiguration(IActivityMonitor activityMonitor, string key, out IAlertSenderConfiguration configuration)
        {
            configuration = null;
            switch (key)
            {
            case "Mail":
                configuration = _defaultMailSenderConfiguration
                                ?? (_defaultMailSenderConfiguration = (MailSenderConfiguration) new MailSenderConfiguration().Default());
                return(true);

            case "Http":
                configuration = _defaultHttpSenderConfiguration
                                ?? (_defaultHttpSenderConfiguration = (HttpSenderConfiguration) new HttpSenderConfiguration().Default());
                return(true);

            default:
                activityMonitor.Error($"Configuration key {key} is unknown.");
                return(false);
            }
        }
コード例 #6
0
ファイル: HttpSender.cs プロジェクト: pngouin/CK-Glouton
 public bool Match(IAlertSenderConfiguration configuration)
 {
     return(configuration is HttpSenderConfiguration httpSenderConfiguration &&
            httpSenderConfiguration.Url.Equals(_url));
 }