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))); } }