private void LoadSettings()

in SamplesV1/ADFSecurePublish/SecurePublishForm/MainWindow.xaml.cs [57:102]


        private void LoadSettings()
        {
            string settingsFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
                "SecurePublishSettings.json");
            if (File.Exists(settingsFile))
            {
                try
                {
                    settings = JsonConvert.DeserializeObject<AppSettings>(File.ReadAllText(settingsFile));
                    ControlVisiblity = "Visible";
                    noSettings.Visibility = Visibility.Hidden;
                }
                catch
                {
                    ShowNoSettings();
                    string backUpFile = Path.Combine(Path.GetDirectoryName(settingsFile),
                        Path.GetFileNameWithoutExtension(settingsFile) + "_BackUp.json");
                    File.Move(settingsFile, backUpFile);
                    noSettings.Content =
                        $"There was a problem reading your user settings. The user settings file is corrupted.\r\nA backup has been saved to {backUpFile}. Please re-enter them again.\r\n" +
                        enterSettingsMsg;

                    return;
                }

                List<string> validationErrors = ValidateSettings();

                if (validationErrors.Any())
                {
                    ShowNoSettings();
                    noSettings.Content =
                        $"There was a problem reading your user settings.\r\n{string.Join("\r\n", validationErrors)}\r\n{enterSettingsMsg}";
                    return;
                }

                settingsContextManager = new SettingsContextManager(settings);

                subscriptionList.ItemsSource = settings.Subscriptions.Select(x => x.FriendlyName).ToList();
                subscriptionList.SelectedIndex = 0;
            }
            else
            {
                ShowNoSettings();
                noSettings.Content = "No user settings were found. " + enterSettingsMsg;
            }
        }