Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 5
0
        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());
                    }
                }
            }
        }