示例#1
0
        public void UpdateResults(RaceRun raceRun)
        {
            if (!raceRun.HasResults())
            {
                return;
            }

            SetActiveRaceRun(raceRun);

            var results = ViewUtilities.ViewToList <RunResultWithPosition>(raceRun.GetResultView());

            RunResultWithPosition lastRR = null;

            foreach (var rr in results)
            {
                if (rr.ResultCode == RunResult.EResultCode.NotSet)
                {
                    continue;
                }

                scheduleTransfer(new LTTransfer(getXmlEventResult(raceRun, rr)));

                if (lastRR == null ||
                    (lastRR.StartTime != null && rr.StartTime != null && lastRR.StartTime < rr.StartTime)
                    )
                {
                    lastRR = rr;
                }
            }

            // Update livetiming with last known time
            if (lastRR != null)
            {
                scheduleTransfer(new LTTransfer(getXmlEventResult(raceRun, lastRR)));
            }
        }