private TimeSpan GetTimeOffsetToWinner(DateTime time, int splitTimeNo) { EvaluateWinnerSplittimes(); var first = WinnerSplitimes.FirstOrDefault(model => model.SplitTimeNo == splitTimeNo); if (first != null) { return(WinnerSplitimes != null ? first.Time - time : time - time); } return(time - time); // when no first skier was found }
private void EvaluateWinnerSplittimes() { if (ActualSplitimes != null) { if (LastSplitimes == null) { WinnerSplitimes = ActualSplitimes; } else { if (ActualSplitimes.Count > 0 && WinnerSplitimes.Count > 0 && ActualSplitimes.Last().Time < WinnerSplitimes.Last().Time&& ActualSplitimes.Count == RaceControlModel.RaceModel.Splittimes) { WinnerSplitimes = ActualSplitimes; } } LastSplitimes = ActualSplitimes; } }