/// <summary> /// Initializes a new instance of the <see cref="ScheduleFlow"/> class. /// </summary> /// <param name="tracer">Log wrapper</param> /// <param name="alertRulesStore">The alert rules store repository</param> /// <param name="signalRunsTracker">The signal run tracker</param> /// <param name="analysisExecuter">The analysis executer instance</param> /// <param name="smartSignalResultPublisher">The signal results publisher instance</param> /// <param name="emailSender">The email sender</param> public ScheduleFlow( ITracer tracer, IAlertRuleStore alertRulesStore, ISignalRunsTracker signalRunsTracker, IAnalysisExecuter analysisExecuter, ISmartSignalResultPublisher smartSignalResultPublisher, IEmailSender emailSender) { this.tracer = Diagnostics.EnsureArgumentNotNull(() => tracer); this.alertRulesStore = Diagnostics.EnsureArgumentNotNull(() => alertRulesStore); this.signalRunsTracker = Diagnostics.EnsureArgumentNotNull(() => signalRunsTracker); this.analysisExecuter = Diagnostics.EnsureArgumentNotNull(() => analysisExecuter); this.smartSignalResultPublisher = Diagnostics.EnsureArgumentNotNull(() => smartSignalResultPublisher); this.emailSender = Diagnostics.EnsureArgumentNotNull(() => emailSender); }
/// <summary> /// Initializes a new instance of the <see cref="AlertRuleApi"/> class. /// </summary> /// <param name="alertRuleStore">The alert rules store.</param> public AlertRuleApi(IAlertRuleStore alertRuleStore) { Diagnostics.EnsureArgumentNotNull(() => alertRuleStore); this.alertRuleStore = alertRuleStore; }