예제 #1
0
 private void addSelectedItemsToDataModel()
 {
     foreach (var item in dgList.SelectedItems)
     {
         if (item is DataRowView rowView)
         {
             DataRow row = rowView.Row;
             if (_dm.GetRaces().Count > 0)
             {
                 foreach (var r in _dm.GetRaces())
                 {
                     RaceImport      imp = new RaceImport(r, _importData.GetMapping(r), new ClassAssignment(_dm.GetParticipantClasses()));
                     RaceParticipant rp  = imp.ImportRow(row);
                 }
             }
             else
             {
                 ParticipantImport partImp = new ParticipantImport(_dm.GetParticipants(), _importData.GetMapping(null), _dm.GetParticipantCategories(), new ClassAssignment(_dm.GetParticipantClasses()));
                 partImp.ImportRow(row);
             }
         }
     }
 }
예제 #2
0
        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
        }