/// <summary> /// When runners arrive, add this runner number. /// </summary> public void AddResultRunnerNumber(int number) { try { db.AddResultNumber(number); } catch (NoMoreResultsException) { // Create new result and add it with estimated time - assume 5 seconds to travel up the funnel. var newResult = new Result { Position = db.GetNextPosition(), RaceId = db.GetNextPosition(), RaceNumber = number, Time = clockTime.CurrentTime.Add(new TimeSpan(0, 0, -5)) }; Result.AddDubiousReason(newResult, Result.DubiousResultEnum.EstimatedTime); db.AddResultTime(newResult); // This adds the full result. db.CheckResults(); } OnResultDataChange(); }