public RaceUC(AppDataModel dm, Race race, LiveTimingMeasurement liveTimingMeasurement, TextBox txtLiveTimingStatus) { _dataModel = dm; _thisRace = race; _liveTimingMeasurement = liveTimingMeasurement; _liveTimingMeasurement.LiveTimingMeasurementStatusChanged += OnLiveTimingMeasurementStatusChanged; _txtLiveTimingStatus = txtLiveTimingStatus; _txtLiveTimingStatus.TextChanged += new DelayedEventHandler( TimeSpan.FromMilliseconds(400), TxtLiveTimingStatus_TextChanged ).Delayed; InitializeComponent(); ucStartNumbers.Init(_dataModel, _thisRace, tabControlRace1, tabItemStartNumberAssignment); ucDisqualify.Init(_dataModel, _thisRace); InitializeConfiguration(); InitializeRaceProperties(); InitializeLiveTiming(_thisRace); InitializeTiming(); ucRaceLists.Init(_thisRace); }
private void InitializeTiming() { _liveTimingMeasurement = new LiveTimingMeasurement(_dataModel, Properties.Settings.Default.AutoAddParticipants); _liveTimingStatusTimer = new System.Timers.Timer(300); _liveTimingStatusTimer.Elapsed += UpdateLiveTimingDeviceStatus; _liveTimingStatusTimer.AutoReset = true; _liveTimingStatusTimer.Enabled = true; Properties.Settings.Default.PropertyChanged += SettingChangingHandler; InitializeTimingDevice(); }
private void DeInitializeTiming() { Properties.Settings.Default.PropertyChanged -= SettingChangingHandler; if (_liveTimingStatusTimer != null) { _liveTimingStatusTimer.Elapsed -= UpdateLiveTimingDeviceStatus; } DeInitializeTimingDevice(); _liveTimingStatusTimer = null; _liveTimingMeasurement = null; }
public CompetitionUC(AppDataModel dm, LiveTimingMeasurement liveTimingMeasurement, TextBox txtLiveTimingStatus) { _dm = dm; _dsvData = new DSVInterfaceModel(_dm); _fisData = new FISInterfaceModel(_dm); ParticipantClasses = _dm.GetParticipantClasses(); ParticipantCategories = _dm.GetParticipantCategories(); _liveTimingMeasurement = liveTimingMeasurement; _txtLiveTimingStatus = txtLiveTimingStatus; InitializeComponent(); _liveTimingMeasurement.LiveTimingMeasurementStatusChanged += OnLiveTimingMeasurementStatusChanged; _dm.GetRaces().CollectionChanged += OnRacesChanged; txtSearch.TextChanged += new DelayedEventHandler( TimeSpan.FromMilliseconds(300), txtSearch_TextChanged ).Delayed; this.KeyDown += new KeyEventHandler(KeyDownHandler); ConnectGUIToDataModel(); ConnectGUIToParticipants(); ucSaveOrReset.Init("Teilnehmeränderungen", null, null, null, storeParticipant, resetParticipant); ucClassesAndGroups.Init(_dm); ucDSVImport.Init(_dm, _dsvData); ucFISImport.Init(_dm, _fisData); InitializeGlobalConfig(); }
public void FullTest() { // Preparation & Test Description // - Copy DB // - Delete the tlbZeit // - Run ALGE DG 1 // - Compare results DG1 // - Run ALGE DG 2 // - Compare results DG2 string dbFilename = TestUtilities.CreateWorkingFileFrom(testContextInstance.TestDeploymentDir, @"KSC4--U12.mdb"); // Create working copy string dbFilenameWork = TestUtilities.Copy(dbFilename, @"KSC4--U12_work.mdb"); DBTestUtilities dbtuDst = new DBTestUtilities(dbFilenameWork); dbtuDst.ClearTimeMeasurements(); dbtuDst.Close(); testRun(0, @"KSC4--U12_ALGE_Run1.txt"); testRun(1, @"KSC4--U12_ALGE_Run2.txt"); void testRun(int run, string testfile) { // Setup Data Model & Co for Simulating ALGE Database dbWork = new Database(); dbWork.Connect(dbFilenameWork); AppDataModel modelWork = new AppDataModel(dbWork); LiveTimingMeasurement liveTimingMeasurement = new LiveTimingMeasurement(modelWork); ALGETdC8001TimeMeasurementSimulate algeSimulator = new ALGETdC8001TimeMeasurementSimulate(testfile); liveTimingMeasurement.SetTimingDevice(algeSimulator, algeSimulator); algeSimulator.Start(); modelWork.SetCurrentRaceRun(modelWork.GetRace(0).GetRun(run)); liveTimingMeasurement.Start(); while (algeSimulator.ProcessNextLine()) { } liveTimingMeasurement.Stop(); algeSimulator.Stop(); dbWork.Close(); // Compare the generated DB with the ground truth DB Database dbCmpWork = new Database(); dbCmpWork.Connect(dbFilenameWork); AppDataModel modelCmpWork = new AppDataModel(dbCmpWork); Database dbSrc = new Database(); dbSrc.Connect(dbFilename); AppDataModel modelSrc = new AppDataModel(dbSrc); foreach (var res in modelSrc.GetRace(0).GetRun(run).GetResultList()) { if (res.ResultCode == RunResult.EResultCode.Normal) { var resWork = modelCmpWork.GetRace(0).GetRun(run).GetResultList().FirstOrDefault(r => r.StartNumber == res.StartNumber); Assert.AreEqual(res.GetStartTime(), resWork.GetStartTime()); Assert.AreEqual(res.GetFinishTime(), resWork.GetFinishTime()); Assert.AreEqual(res.GetRunTime(), resWork.GetRunTime()); } } } }