public void DSVInterfaceModel_Test_ContainsParticipant()
        {
            // Setup Data Model & Co
            var tg = new TestDataGenerator();
            var dm = tg.Model;

            DSVInterfaceModel dsvIF = new DSVInterfaceModel(dm);

            dsvIF.UpdateDSVList(new DSVImportReaderZip("Punktelisten.zip", DSVImportReaderZipBase.EDSVListType.Pupils_U14U16));

            var imp         = new ParticipantImport(dm.GetParticipants(), dsvIF.Mapping, dm.GetParticipantCategories(), new ClassAssignment(dm.GetParticipantClasses()));
            var participant = imp.ImportRow(dsvIF.Data.Tables[0].Rows[0]);

            // Check if imported participant is available
            Assert.IsTrue(dsvIF.ContainsParticipant(participant));
            string storedName = participant.Name;

            // Modify participant, check if detected as not existing anymore
            participant.Name = "123";
            Assert.IsFalse(dsvIF.ContainsParticipant(participant));

            // Correct it again, check whether existing again
            participant.Name = storedName;
            Assert.IsTrue(dsvIF.ContainsParticipant(participant));
        }
        public void ImportParticpants()
        {
            TestDataGenerator tg = new TestDataGenerator();

            var ir = new ImportReader(@"Teilnehmer_V1_202001301844.csv");

            ParticipantMapping mapping = new ParticipantMapping(ir.Columns);

            List <Participant> participants = new List <Participant>();
            ParticipantImport  im           = new ParticipantImport(participants, mapping, tg.createCategories());
            var impRes = im.DoImport(ir.Data);

            Assert.AreEqual(153, impRes.SuccessCount);
            Assert.AreEqual(0, impRes.ErrorCount);

            for (int i = 0; i < 153; i++)
            {
                Assert.AreEqual(string.Format("Name {0}", i + 1), participants[i].Name);
                Assert.IsNull(participants[i].Class);
            }

            Assert.AreEqual('W', participants[0].Sex.Name);
            Assert.AreEqual('W', participants[1].Sex.Name);
            Assert.AreEqual('M', participants[2].Sex.Name);
            Assert.AreEqual('M', participants[3].Sex.Name);

            // Check synonyms
            Assert.AreEqual('M', participants[4].Sex.Name);  //h
            Assert.AreEqual('M', participants[6].Sex.Name);  //H
            Assert.AreEqual('M', participants[7].Sex.Name);  //x
            Assert.AreEqual('M', participants[10].Sex.Name); //X
        }
Exemple #3
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);
             }
         }
     }
 }
        private void btnImport_Click(object sender, RoutedEventArgs e)
        {
            string messageTextDetails = "";

            if (lbRaces.SelectedItems.Count > 0)
            {
                foreach (var r in lbRaces.SelectedItems)
                {
                    Race race = r as Race;
                    if (race != null)
                    {
                        RaceImport    imp     = new RaceImport(race, _importMapping, new ClassAssignment(_dm.GetParticipantClasses()));
                        ImportResults results = imp.DoImport(_importReader.Data);

                        messageTextDetails += string.Format(
                            "Zusammenfassung für das Rennen {0}:\n" +
                            "- Erfolgreich importierte Teilnehmer: {1}\n" +
                            "- Nicht importierte Teilnehmer: {2}\n\n",
                            race.ToString(), results.SuccessCount, results.ErrorCount);
                    }
                }
            }
            else
            {
                ParticipantImport imp     = new ParticipantImport(_dm.GetParticipants(), _importMapping, _dm.GetParticipantCategories(), new ClassAssignment(_dm.GetParticipantClasses()));
                ImportResults     results = imp.DoImport(_importReader.Data);

                messageTextDetails += string.Format(
                    "Zusammenfassung für den allgemeinen Teilnehmerimport:\n" +
                    "- Erfolgreich importierte Teilnehmer: {0}\n" +
                    "- Nicht importierte Teilnehmer: {1}\n\n",
                    results.SuccessCount, results.ErrorCount);
            }
            MessageBox.Show("Der Importvorgang wurde abgeschlossen: \n\n" + messageTextDetails, "Importvorgang", MessageBoxButton.OK, MessageBoxImage.Information);

            DialogResult = true;
        }