public CodeCoverage(string connectionString, string databaseName, string[] excludeFilter, bool logging, bool debugger, TraceControllerType traceType) { if (debugger) { Debugger.Launch(); } _databaseName = databaseName; if (excludeFilter == null) { excludeFilter = new string[0]; } _excludeFilter = excludeFilter.ToList(); _logging = logging; _debugger = debugger; _traceType = traceType; _database = new DatabaseGateway(connectionString, databaseName); _source = new DatabaseSourceGateway(_database); }
public TraceController GetTraceController(DatabaseGateway gateway, string databaseName, TraceControllerType type) { switch (type) { case TraceControllerType.Azure: return(new AzureTraceController(gateway, databaseName)); case TraceControllerType.Sql: return(new SqlTraceController(gateway, databaseName)); } var source = new DatabaseSourceGateway(gateway); var isAzure = source.IsAzure(); if (!isAzure) { return(new SqlTraceController(gateway, databaseName)); } var version = source.GetVersion(); if (version < SqlServerVersion.Sql120) { throw new Exception("SQL Azure is only supported from Version 12"); } return(new AzureTraceController(gateway, databaseName)); }