public ReportManager( string node, IEmailStoreFactory factory, ServiceConfiguration configuration, BillingAgent billingAgent, MetricManager metricManager, ICredentialManager credentialManager) { this.node = node; this.store = factory.GetStore(); this.telemetryManager = new ReportTelemetryManager( factory, configuration, billingAgent, metricManager); this.credentialManager = credentialManager; this.configuration = configuration; }
public ReportTelemetryManager( IEmailStoreFactory factory, ServiceConfiguration configuration, BillingAgent billingAgent, MetricManager metricManager) { this.store = factory.GetStore(); var account = CloudStorageAccount.Parse(configuration.TelemetryStoreConnectionString); this.client = account.CreateCloudTableClient(); this.auditTable = this.client.GetTableReference(MessageAuditTableName); this.reportInProgressTable = this.client.GetTableReference(ReportInprogressTableName); this.reportLeaseTable = this.client.GetTableReference(ReportLeaseTableName); this.auditTable.CreateIfNotExists(); this.reportInProgressTable.CreateIfNotExists(); this.reportLeaseTable.CreateIfNotExists(); this.billingAgent = billingAgent; this.metricManager = metricManager; }