public TournamentSettings(TournamentPersistence storage) { _storage = storage; // default values NumberOfGenerations = 1000000; Algorithm2 = true; // use Algo2 by default now LoggingOn = false; SkillLevels = new ObservableCollection <SkillLevel>(); SkillLevels.Add(new SkillLevel { Name = "Novice", Value = 10 }); SkillLevels.Add(new SkillLevel { Name = "Beginner", Value = 30 }); SkillLevels.Add(new SkillLevel { Name = "Intermediate", Value = 50 }); SkillLevels.Add(new SkillLevel { Name = "Experienced", Value = 80 }); SkillLevels.Add(new SkillLevel { Name = "Guru", Value = 100 }); Initialise(); Save(); }
internal void SetStorageLocator(TournamentPersistence storageLocator) { try { ViewModel = new TournamentViewModel(storageLocator); } catch (InvalidPlayerListException e) { MessageBox.Show(string.Format("{0}\r\nSee README.rtf to help diagnose the error", e.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error); Application.Current.Shutdown(); return; } catch (InvalidRoundException e) { MessageBox.Show(string.Format("{0}\r\nDelete the file or correct it", e.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error); Application.Current.Shutdown(); return; } catch (Exception e) { // For better diagnostics MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); throw; } Title = string.Format("{0} - {1} {2}", storageLocator.Name, Constants.TitleBarText, Constants.VersionText()); DataContext = ViewModel; }
public TournamentViewModel(TournamentPersistence storageLocator) { Tournament = new Tournament(storageLocator); Tournament.LoadExistingData(); ResultsViewModel = new ResultsViewModel(Tournament); RoundManagerViewModel = new RoundManagerViewModel(Tournament); PlayerViewModel = new PlayerViewModel(Tournament); SettingsViewModel = new SettingsViewModel(Tournament.Settings); }
public Tournament(TournamentPersistence storageLocator) { _storage = storageLocator; LoadSettings(); var provider = new PlayerListFile(_storage, Settings); PlayerProvider = provider; PlayerPairings = new PlayerPairings(); provider.PlayerDeleted += PlayerDeleted; Rounds = new ObservableCollection <HatRound>(); }
internal static TournamentSettings Load(TournamentPersistence storage) { var filename = storage.SettingsPath; if (!File.Exists(filename)) { return(new TournamentSettings(storage)); } using (var stream = new FileStream(filename, FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(TournamentSettings)); var result = serializer.Deserialize(stream) as TournamentSettings; if (result == null) { return(null); } result._storage = storage; result.Initialise(); return(result); } }