public static void SaveConfig(SessionConfigParams sessionConfig) { string[] lines = new string[5]; string scorerString = string.Empty; foreach (var s in sessionConfig.Scorers) { scorerString += s.Id.ToString(); scorerString += ";"; } string numRoundString = sessionConfig.NumberOfRounds.ToString(); string numQuestionString = sessionConfig.NumberOfQuestions.ToString(); string pointValString = sessionConfig.PointsPerQuestion.ToString(); lines[0] = scorerString; lines[1] = numRoundString; lines[2] = numQuestionString; lines[3] = pointValString; lines[4] = sessionConfig.FileName; using (var writer = new StreamWriter(ConfigurationManager.AppSettings["session_config"] + sessionConfig.FileName)) { foreach (var l in lines) { writer.WriteLine(l); } } }
public void SetSessionConfig(SessionConfigParams scp) { _sessionConfigParams = scp; Scorers = new ObservableCollection <Scorer>(scp.Scorers); NumTeams = 0; foreach (var s in scp.Scorers) { NumTeams += s.Teams.Count; } }
public LoadConfigViewModel(IScorerRepository scorerRepo) { _scorerRepo = scorerRepo; CancelCommand = new RelayCommand(OnCancel); LoadCommand = new RelayCommand(OnLoad, CanLoad); UseConfigCommand = new RelayCommand(OnUseConfig, CanUseConfig); DeleteConfigCommand = new RelayCommand(OnDeleteConfig, CanDeleteConfig); _loadedSession = null; SelectedConfigName = string.Empty; LoadedNumTeams = 0; LoadedConfigName = string.Empty; LoadedScorers = new ObservableCollection <Scorer>(); }
private void OnSaveConfig() { SessionConfigParams sessionConfig = new SessionConfigParams(UserNumRounds, UserNumQuestions, _userPointsPerQuestion, SelectedScorers.ToList(), FileName); List <string> doubledTeams = VerifyNoDoubleTeams(); if (doubledTeams.Count == 0) { SaveConfigRequested(sessionConfig); } else { HandleDoubleTeams(doubledTeams); } }
private void OnLoad() { LoadedNumTeams = 0; try { _loadedSession = SessionSerialization.LoadSession(_scorerRepo, SelectedConfigName); LoadedConfigName = SelectedConfigName; LoadedScorers = new ObservableCollection <Scorer>(_loadedSession.Scorers); foreach (var s in LoadedScorers) { LoadedNumTeams += s.Teams.Count; } UseConfigCommand.RaiseCanExecuteChanged(); } catch (InvalidCastException) { FailedLoadError(SelectedConfigName); } }
public static SessionConfigParams LoadSession(IScorerRepository scorerRepo, string name) { List <Scorer> scorers = new List <Scorer>(); List <ScoringRound> scoringRounds = new List <ScoringRound>(); string[] lines = File.ReadAllLines(ConfigurationManager.AppSettings["session_config"] + name); string scorerString = lines[0], roundString = lines[1], numQuestionString = lines[2], pointValString = lines[3], fileName = lines[4]; string[] scorerStrings = scorerString.Split(';'); for (int i = 0; i < scorerStrings.Length - 1; i++) { Scorer scorer = scorerRepo.GetScorerById(long.Parse(scorerStrings[i])); scorers.Add(scorer); } int numRounds = int.Parse(roundString); int numQuestions = int.Parse(numQuestionString); SessionConfigParams session = new SessionConfigParams(numRounds, numQuestions, pointValString, scorers, fileName); return(session); }
public void SetSessionConfigParams(SessionConfigParams scp) { _sessionConfigParams = scp; ConfigName = string.Empty; }