in src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/shared/services/PreferredProjectsManager.kt [20:45]
fun getProjectPair(preferredProjectId: UUID?, migrationsProjects: Collection<MigrationsProjectInfo>,
startupProjects: Collection<StartupProjectInfo>): Pair<MigrationsProjectInfo?, StartupProjectInfo?> {
if (preferredProjectId == null) {
return getDefaultProjects(null, migrationsProjects, startupProjects)
}
val preferredProjects =
commonOptionsStateService.getPreferredProjectIdsPair(preferredProjectId)
if (preferredProjects != null) {
val (migrationsProjectId, startupProjectId) = preferredProjects
prevPreferredMigrationsProjectId = migrationsProjectId
prevPreferredStartupProjectId = startupProjectId
val migrationsProject =
migrationsProjects.find { it.id == migrationsProjectId } ?: migrationsProjects.firstOrNull()
val startupProject =
startupProjects.find { it.id == startupProjectId } ?: startupProjects.firstOrNull()
return Pair(migrationsProject, startupProject)
}
return getDefaultProjects(preferredProjectId, migrationsProjects, startupProjects)
}