private void DispatchRaceHAndler(CarBaseMessage msg, MainStateDS.MainRow row)
 {
     switch ((F1.Enums.RaceCarType)msg.CarType)
     {
         case F1.Enums.RaceCarType.RaceDriver:
             row.Driver = (msg as CarDriver).Name;
             break;
         case F1.Enums.RaceCarType.RaceGap:
             row.Gap = (msg as CarGap).Gap;
             break;
         case F1.Enums.RaceCarType.RaceInterval:
             row.Interval = (msg as CarInterval).Interval;
             break;
         case F1.Enums.RaceCarType.RaceLapTime:
             row.LapTime = (msg as CarLapTime).LapTime;
             break;
         case F1.Enums.RaceCarType.RacePitCount:
             row.Pits = (msg as CarPitCount).Count;
             break;
         case F1.Enums.RaceCarType.RacePosition:
             row.Position = (msg as CarPosition).Position;
             break;
         case F1.Enums.RaceCarType.RaceSector_1:
             row.Sector_1 = (msg as CarSectorTime).SectorTime;
             break;
         case F1.Enums.RaceCarType.RaceSector_2:
             row.Sector_2 = (msg as CarSectorTime).SectorTime;
             break;
         case F1.Enums.RaceCarType.RaceSector_3:
             row.Sector_3 = (msg as CarSectorTime).SectorTime;
             break;
         case F1.Enums.RaceCarType.RacePitLap_1:
         case F1.Enums.RaceCarType.RacePitLap_2:
         case F1.Enums.RaceCarType.RacePitLap_3:
         case F1.Enums.RaceCarType.RaceNumber:
             break;
     }
 }
 private void DispatchPracticeHAndler(CarBaseMessage msg, MainStateDS.MainRow row)
 {
     switch ((F1.Enums.PracticeCarType)msg.CarType)
     {
         default:
             break;
     }
 }
 private void DispatchQualyHAndler(CarBaseMessage msg, MainStateDS.MainRow row)
 {
     switch ((F1.Enums.QualifyCarType)msg.CarType)
     {
         default:
             break;
     }
 }