예제 #1
0
        public HandTimingVMEntry(ETimeModus timeModus, RunResult runResult, TimeSpan?handTime)
        {
            _timeModus = timeModus;
            _manuallyAdjustedStartTime  = false;
            _manuallyAdjustedFinishTime = false;

            _handTime = handTime;

            _runResult = runResult;
            copyFromRunResult(runResult);
        }
예제 #2
0
        private bool parseTimingVMKey(string key, out Race race, out RaceRun run, out ETimeModus timeModus)
        {
            race      = null;
            run       = null;
            timeModus = ETimeModus.EStartTime;

            var keyParts = key.Split('_');

            if (keyParts.Length != 3)
            {
                return(false);
            }

            foreach (var r in _dm.GetRaces())
            {
                if (r.RaceType.ToString() == keyParts[0])
                {
                    race = r;
                    break;
                }
            }

            if (race == null)
            {
                return(false);
            }

            foreach (var r in race.GetRuns())
            {
                if (r.Run.ToString() == keyParts[1])
                {
                    run = r;
                    break;
                }
            }

            if (ETimeModus.EStartTime.ToString() == keyParts[2])
            {
                timeModus = ETimeModus.EStartTime;
            }
            else if (ETimeModus.EFinishTime.ToString() == keyParts[2])
            {
                timeModus = ETimeModus.EFinishTime;
            }
            else
            {
                return(false);
            }

            return(true);
        }
예제 #3
0
        public HandTimingVM GetHandTimingVM(Race race, RaceRun run, ETimeModus timeModus)
        {
            HandTimingVM vm;

            if (!_handTimingVM.TryGetValue(handTimingVMKey(race, run, timeModus), out vm))
            {
                vm = new HandTimingVM(timeModus);
                _handTimingVM.Add(handTimingVMKey(race, run, timeModus), vm);
            }

            vm.AddRunResults(run.GetResultList());

            return(vm);
        }
예제 #4
0
 private string handTimingVMKey(Race race, RaceRun run, ETimeModus timeModus)
 {
     return(string.Format("{0}_{1}_{2}", race.RaceType, run.Run, timeModus));
 }