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);
                }
            }
        }
示例#2
0
 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;
     }
 }
示例#3
0
 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);
            }
        }
示例#5
0
 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);
        }
示例#7
0
 public void SetSessionConfigParams(SessionConfigParams scp)
 {
     _sessionConfigParams = scp;
     ConfigName           = string.Empty;
 }