public bool InsertNewSplittime(SplitTimeModel splittime) { if (ActualSplitimes != null && splittime.RaceDataId == raceDataForThisRaceRun.Id) { splittime.TimeOffsetToWinner = GetTimeOffsetToWinner(splittime.Time, splittime.SplitTimeNo); Application.Current.Dispatcher?.BeginInvoke((Action)(() => { AddSplitTime(splittime); })); return(true); } return(false); }
private void AddSplitTime(SplitTimeModel splitTime) { if (!actualStartListMember.Disqualified) { ActualSplitimes.Add(splitTime); Task.Run(() => new AdoSplitTimeDao(connectionFactory).Insert(splitTime.ToSplitTime())); } if (splitTime.SplitTimeNo == 1 && !actualStartListMember.Disqualified) { actualStartListMember.Running = true; Update(actualStartListMember, RaceControlModel.RaceModel.Id); } if (splitTime.SplitTimeNo == RaceControlModel.RaceModel.Splittimes && actualStartListMember.Running && !actualStartListMember.Disqualified) { actualStartListMember.Running = false; actualStartListMember.Finished = true; Update(actualStartListMember, RaceControlModel.RaceModel.Id); } }