/// <summary>
        /// Loads the user configuration.
        /// </summary>
        /// <returns>The UserConfiguration.</returns>
        private UserConfiguration LoadUserConfiguration()
        {
            UserConfiguration configuration;

            var filePath = FileHelpers.GetConfigFilePath(FileNames.UserData);

            if (!File.Exists(filePath))
            {
                var dirinfo = new DirectoryInfo(filePath);

                if (dirinfo.Parent != null && !dirinfo.Parent.Exists)
                {
                    dirinfo.Parent.Create();
                }

                configuration = new UserConfiguration();

                FileHelpers.WriteFileJson(FileNames.UserData, configuration);
            }
            else
            {
                configuration = FileHelpers.ReadFileJson <UserConfiguration>(FileNames.UserData);
            }

            return(configuration);
        }
        /// <summary>
        /// Loads the account data.
        /// </summary>
        /// <returns>Account configuration collection.</returns>
        private AzureDevOpsAccountCollection LoadAccountData()
        {
            AzureDevOpsAccountCollection accountData;

            if (!File.Exists(FileHelpers.GetConfigFilePath(FileNames.AccountData)))
            {
                var dirInfo = new DirectoryInfo(FileHelpers.GetConfigFilePath(FileNames.AccountData));

                if (dirInfo.Parent != null && !dirInfo.Parent.Exists)
                {
                    dirInfo.Parent.Create();
                }

                accountData = new AzureDevOpsAccountCollection
                {
                    Accounts  = new ObservableCollection <AzureDevOpsAccount>(),
                    PatTokens = new ObservableCollection <AzureDevOpsPatToken>()
                };

                accountData.Init();

                FileHelpers.WriteFileJson(FileNames.AccountData, accountData);
            }
            else
            {
                accountData = FileHelpers.ReadFileJson <AzureDevOpsAccountCollection>(FileNames.AccountData);
                accountData.Init();

#pragma warning disable 618,612
                if (accountData.Accounts.Any(a => a.TokenId != null))
#pragma warning restore 618,612
                {
                    accountData = this.MigrateTokenIdToTokenList(accountData);
                }
            }

            return(accountData);
        }