public void ApplyCurrentProfileToModel() { foreach (var account in KnownUserAccounts) { account.AccountLaunchable = CurrentProfile.RetrieveAccountState(account.AccountName);; foreach (var server in account.Servers) { var charSetting = CurrentProfile.RetrieveCharacterSetting(accountName: account.AccountName, serverName: server.ServerName); if (charSetting != null) { var state = _gameSessionMap.GetGameSessionStateByServerAccount(server.ServerName, account.AccountName); string statusSymbol = GetStatusSymbol(state); server.SetAccountServerStatus(state, statusSymbol); server.ServerSelected = charSetting.Active; server.ChosenCharacter = charSetting.ChosenCharacter; if (string.IsNullOrEmpty(server.ChosenCharacter)) { server.ChosenCharacter = "None"; } } } } OnPropertyChanged("KnownUserAccounts"); }