Beispiel #1
0
        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;
            }));
        }
Beispiel #2
0
        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;
            }));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
 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;
     }));
 }