open fun loadState()

in src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/shared/dialog/CommonDataContext.kt [99:137]


    open fun loadState(commonDialogState: DialogsStateService.SpecificDialogState) {
        val migrationsProjectId = migrationsProject.value?.id
        val startupProjectId = startupProject.value?.id

        if (migrationsProjectId == null || startupProjectId == null) {
            return
        }

        if (requireDbContext) {
            val dbContextName = commonDialogState.get("${migrationsProjectId}:${KnownStateKeys.DB_CONTEXT}")
            availableDbContexts.value.firstOrNull { it.fullName == dbContextName }?.apply {
                dbContext.value = this
            }
        }

        val buildConfigurationName = commonDialogState.get(KnownStateKeys.BUILD_CONFIGURATION)
        availableBuildConfigurations.firstOrNull { it == buildConfigurationName }?.apply {
            buildConfiguration.value = this
        }

        val targetFrameworkName = commonDialogState.get("${startupProjectId}:${KnownStateKeys.TARGET_FRAMEWORK}")
        availableTargetFrameworks.value.firstOrNull { it?.presentableName == targetFrameworkName }?.apply {
            targetFramework.value = this
        }

        commonDialogState.getBool(KnownStateKeys.NO_BUILD)?.apply {
            noBuild.value = this
        }

        commonDialogState.getBool(KnownStateKeys.ENABLE_DIAGNOSTIC_LOGGING)?.apply {
            enableDiagnosticLogging.value = this
        }

        if (pluginSettings.storeSensitiveData) {
            commonDialogState.getSensitive(KnownStateKeys.ADDITIONAL_ARGUMENTS)?.apply {
                additionalArguments.value = this
            }
        }
    }