Exemple #1
0
        public void Init(AppDataModel dm, FISInterfaceModel fisData)
        {
            _dm         = dm;
            _importData = fisData;

            this.KeyDown += new KeyEventHandler(KeyDownHandler);

            initAddToList();
        }
        public void ImportFIS_ErrorCase_DoubleImport()
        {
            TestDataGenerator tg = new TestDataGenerator();

            tg.Model.AddRace(new Race.RaceProperties {
                RaceType = Race.ERaceType.DownHill, Runs = 1
            });

            var reader1 = new FISImportReader(@"FIS-points-list-AL-2022-330.xlsx");

            FISInterfaceModel fisImp = new FISInterfaceModel(tg.Model);

            fisImp.UpdateFISList(reader1);
            Assert.AreEqual("5th FIS points list 2021/2022", fisImp.UsedList);

            var reader2 = new FISImportReader(@"FIS-points-list-AL-2022-331.xlsx");

            fisImp.UpdateFISList(reader2);
            Assert.AreEqual("6th FIS points list 2021/2022", fisImp.UsedList);
        }
        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 ImportFISParticipant()
        {
            TestDataGenerator tg = new TestDataGenerator();

            tg.Model.AddRace(new Race.RaceProperties {
                RaceType = Race.ERaceType.DownHill, Runs = 1
            });

            var reader = new FISImportReader(@"FIS-points-list-AL-2022-330.xlsx");

            {
                RaceImport imp = new RaceImport(
                    tg.Model.GetRace(0),
                    reader.GetMapping(tg.Model.GetRace(0)),
                    new ClassAssignment(tg.Model.GetParticipantClasses()));

                var             row = reader.Data.Tables[0].Rows[0];
                RaceParticipant rp  = imp.ImportRow(row);
                Assert.AreEqual("10000001", rp.Code);
                Assert.AreEqual("FERRETTI", rp.Name);
                Assert.AreEqual("Jacopo", rp.Firstname);
                Assert.AreEqual(2004U, rp.Year);
                Assert.AreEqual("SKIING A.S.D.", rp.Club);
                Assert.AreEqual("ITA", rp.Nation);
                Assert.AreEqual('M', rp.Sex.Name);
                Assert.AreEqual(66.48, rp.Points); // GSpoints
            }

            {
                RaceImport imp = new RaceImport(
                    tg.Model.GetRace(1),
                    reader.GetMapping(tg.Model.GetRace(1)),
                    new ClassAssignment(tg.Model.GetParticipantClasses()));

                var             row = reader.Data.Tables[0].Rows[0];
                RaceParticipant rp  = imp.ImportRow(row);
                Assert.AreEqual("10000001", rp.Code);
                Assert.AreEqual("FERRETTI", rp.Name);
                Assert.AreEqual("Jacopo", rp.Firstname);
                Assert.AreEqual(2004U, rp.Year);
                Assert.AreEqual("SKIING A.S.D.", rp.Club);
                Assert.AreEqual("ITA", rp.Nation);
                Assert.AreEqual('M', rp.Sex.Name);
                Assert.AreEqual(145.06, rp.Points); // DHpoints
            }



            ///////////////////////////////////////////////////////////////////
            /// FISUpdatePoints.UpdatePoints
            ///////////////////////////////////////////////////////////////////

            tg.Model.GetRace(0).GetParticipants()[0].Points = -1;
            tg.Model.GetRace(1).GetParticipants()[0].Points = -1;

            Assert.AreEqual(-1.0, tg.Model.GetRace(0).GetParticipants()[0].Points); // DHpoints
            Assert.AreEqual(-1.0, tg.Model.GetRace(1).GetParticipants()[0].Points); // DHpoints

            FISInterfaceModel fisImp = new FISInterfaceModel(tg.Model);

            fisImp.UpdateFISList(reader);
            FISUpdatePoints.UpdatePoints(tg.Model, fisImp);

            Assert.AreEqual(66.48, tg.Model.GetRace(0).GetParticipants()[0].Points);  // DHpoints
            Assert.AreEqual(145.06, tg.Model.GetRace(1).GetParticipants()[0].Points); // DHpoints
        }