public EmailNotificationService(ISqlServerRepository repository, ISmtpClientFactory smtpClientFactory, IPdbConfigurationService pdbConfigurationService, IConfigurationRepository configurationRepository, IConfigurationAuditRepository configurationAuditRepository)
 {
     Database                          = repository;
     ReportingService                  = new BestInServiceReportingService(repository);
     this.configurationService         = pdbConfigurationService;
     this.smtpClientFactory            = smtpClientFactory;
     this.configurationRepository      = configurationRepository;
     this.configurationAuditRepository = configurationAuditRepository;
 }
 public void InitRepositories()
 {
     EnvironmentCheckRepository = new EnvironmentCheckRepository(this.connectionFactory);
     _dataRepositories.AddRange(new IDbRepository[] {
         ReportRepository = new ReportRepository(this.connectionFactory),
         EnvironmentCheckRepository,
         AnalyticsRepository          = new AnalyticsRepository(this.connectionFactory, EnvironmentCheckRepository),
         FileLatencyRepository        = new FileLatencyRepository(this.connectionFactory),
         PDBNotificationRepository    = new PDBNotificationRepository(this.connectionFactory),
         ResourceServerRepository     = new ResourceServerRepository(this.connectionFactory),
         DeploymentRepository         = new DeploymentRepository(this.connectionFactory),
         PerformanceSummaryRepository = new PerformanceSummaryRepository(this.connectionFactory),
         ConfigurationRepository      = new ConfigurationRepository(this.connectionFactory),
         PrimarySqlServerRepository   = new PrimarySqlServerRepository(this.connectionFactory),
         PerformanceServerRepository  = new ServerRepository(this.connectionFactory),
         AgentRepository              = new AgentRepository(this.connectionFactory),
         SampleHistoryRepository      = new SampleHistoryRepository(this.connectionFactory),
         BackfillRepository           = new BackfillRepository(this.connectionFactory),
         EventRepository              = new EventRepository(this.connectionFactory),
         LogRepository                = new LogRepository(this.connectionFactory),
         ProcessControlRepository     = new ProcessControlRepository(this.connectionFactory),
         ConfigurationAuditRepository = new ConfigurationAuditRepository(this.connectionFactory),
     });
 }
 public SqlServerRepository(IConnectionFactory connectionFactory,
                            IEnvironmentCheckRepository environmentCheckRepository, IReportRepository reportRepository,
                            IAnalyticsRepository analyticsRepository, IFileLatencyRepository fileLatencyRepository,
                            IResourceServerRepository resourceServerRepository,
                            IDeploymentRepository deploymentRepository,
                            IPerformanceSummaryRepository performanceSummaryRepository, IConfigurationRepository configurationRepository,
                            IPrimarySqlServerRepository primarySqlServerRepository, IServerRepository performanceServerRepository,
                            IAgentRepository agentRepository, ISampleHistoryRepository sampleHistoryRepository,
                            IBackfillRepository backfillRepository, IEventRepository eventRepository, ILogRepository logRepository,
                            IProcessControlRepository processControlRepository, IConfigurationAuditRepository configurationAuditRepository)
 {
     this.connectionFactory = connectionFactory;
     _dataRepositories.AddRange(new IDbRepository[]
     {
         ReportRepository             = reportRepository,
         EnvironmentCheckRepository   = environmentCheckRepository,
         AnalyticsRepository          = analyticsRepository,
         FileLatencyRepository        = fileLatencyRepository,
         PDBNotificationRepository    = new PDBNotificationRepository(this.connectionFactory),
         ResourceServerRepository     = resourceServerRepository,
         DeploymentRepository         = deploymentRepository,
         PerformanceSummaryRepository = performanceSummaryRepository,
         ConfigurationRepository      = configurationRepository,
         PrimarySqlServerRepository   = primarySqlServerRepository,
         PerformanceServerRepository  = performanceServerRepository,
         AgentRepository              = agentRepository,
         SampleHistoryRepository      = sampleHistoryRepository,
         BackfillRepository           = backfillRepository,
         EventRepository              = eventRepository,
         LogRepository                = logRepository,
         ProcessControlRepository     = processControlRepository,
         ConfigurationAuditRepository = configurationAuditRepository
     });
 }