protected ContextBase(EnvironmentType environmentType, SynchronizationContext uiSynchronizationContext, string connectionStringPrefix, ConnectionStringInfos connectionStringInfos, DataSources dataSources) { EnvironmentType = environmentType; UiSynchronizationContext = uiSynchronizationContext; ConnectionStringInfos = connectionStringInfos; ConnectionStringPrefix = connectionStringPrefix; DataSources = dataSources; SetDbSetProperties(); }
public static string ConnectionString(EnvironmentType environmentType, string prefix, ConnectionStringInfos connectionStringInfos, DataSources dataSources) { var connectionStringInfo = connectionStringInfos.FirstOrDefault(c => prefix.Contains(c.Namespace) && c.EnvironmentType == environmentType); if (connectionStringInfo != null) { return(connectionStringInfo.ConnectionString); } var dataSource = dataSources.FirstOrDefault(d => d.MachineId == Environment.MachineName)?.TheDataSource ?? "./SQLEXPRESS"; switch (environmentType) { case EnvironmentType.UnitTest: return(ConnectionString(dataSource, prefix + ".UnitTest")); case EnvironmentType.Qualification: return(ConnectionString(dataSource, prefix + ".Test")); case EnvironmentType.Production: return(ConnectionString(dataSource, prefix)); default: throw new NotImplementedException("Unknown environment."); } }