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); } } } }
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 }