public async Task <bool> Clearance(StartListMemberModel slm, int raceId) { return(await Task.Run(() => { var member = RaceControlModel.StartListModel.StartListMembers.FirstOrDefault(model => model.Startposition == slm.Startposition + 1); if (member != null) { member.Blocked = false; return Update(member, raceId); } return false; })); }
public async Task <bool> Disqualify(StartListMemberModel slm, int raceId) { return(await Task.Run(() => { if (slm != null) { slm.Disqualified = true; slm.Running = false; return Update(slm, raceId); } return false; })); }
private bool Update(StartListMemberModel slm, int raceId) { var raceData = new RaceData { Id = slm.RaceDataId, RaceId = raceId, SkierId = slm.Skier.Id, Disqualified = slm.Disqualified, Running = slm.Running, Blocked = slm.Blocked, Finished = slm.Finished }; return(new AdoRaceDataDao(connectionFactory).Update(raceData)); }
public async Task <bool> StartRun(StartListMemberModel slm, int raceId) { return(await Task.Run(() => { if (!slm.Finished && !slm.Disqualified && !slm.Running) { slm.Blocked = false; actualStartListMember = slm; if (SimulatorActivated) { if (raceDataForThisRaceRun != null) { simulator.GenerateSplittimesForSkierRun(RaceControlModel.RaceModel.Type.Id, raceDataForThisRaceRun.Id, slm.RunNo, RaceControlModel.RaceModel.Splittimes); } } return Update(slm, raceId); } return false; })); }