예제 #1
0
        private void Race(string[] input)
        {
            if (input.Length < 2)
            {
                logger.Info("Invalid input, redirect to Races Menu");
                Race();
                return;
            }

            if (input[0] == "l")
            {
                DoAction(_raceService.SetCurrentRace, input.Skip(1));
                return;
            }

            if (input[0] == "t")
            {
                DoAction(_raceService.SetStartTime, input.Skip(1));
                return;
            }

            if (input[0] == "ag")
            {
                AddGroup(input.Skip(1).ToArray());
                return;
            }

            if (input[0] == "at")
            {
                var currentRace  = _raceService.LoadCurrentRace();
                var timingValues = _timingValueService.LoadLatestValuesFromRaceFolder(currentRace.Titel);
                _raceService.AddTimingValues(currentRace, timingValues);
                return;
            }

            if (input[0] == "c")
            {
                TryCreateNewRace(input.Skip(1).ToArray());
            }
        }
예제 #2
0
        public IEnumerable <Dto.TimingValue> GetTimes(bool getLiveData)
        {
            List <TimingValue> timingValues;
            var currentRace = _raceService.LoadCurrentRace();

            if (getLiveData)
            {
                timingValues = _timingValueService.WaitForBulk();
                _timingValueService.SaveChangesToRaceFolder(currentRace, timingValues);
            }
            else
            {
                timingValues = _timingValueService.LoadLatestValuesFromRaceFolder(currentRace.Titel).ToList();

                if (!timingValues.Any())
                {
                    timingValues = _timingValueService.WaitForBulk();
                    _timingValueService.SaveChangesToRaceFolder(currentRace, timingValues);
                }
            }


            return(ConvertTimingValuesModelToDto(timingValues));
        }