private void BtnExportDsvAlpin_Click(object sender, RoutedEventArgs e)
 {
     exportToTextFile
         ("DSVAlpin - Tab Separated Text File (.txt)|*.txt|" +
         "DSVAlpin - Tab Separated Text File - UTF-8 (.txt)|*.txt"
         , ".txt",
         (Race race, string filePath, bool utf8) =>
     {
         DSVAlpinExport exp = new DSVAlpinExport(race);
         TsvExport tsvExp   = new TsvExport();
         tsvExp.Export(filePath, exp.ExportToDataSet(), utf8);
     }
         );
 }
Example #2
0
        public void DSVAlpinExport()
        {
            TestDataGenerator tg = new TestDataGenerator();

            tg.createCatsClassesGroups();
            Race race = tg.Model.GetRace(0);

            var rp = tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 1.0); // 1

            rp.Participant.SvId   = "123";
            rp.Participant.Year   = 2010;
            rp.Participant.Nation = "Nation";
            rp.Participant.Club   = "Verein";
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 2.0);
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 3.0);

            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 1.5); // 4
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 2.5);
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 3.5); // 6

            RaceRun rr1 = race.GetRun(0);
            RaceRun rr2 = race.GetRun(1);

            rr1.SetStartFinishTime(race.GetParticipant(1), new TimeSpan(8, 0, 0), new TimeSpan(8, 1, 0));
            rr2.SetRunTime(race.GetParticipant(1), new TimeSpan(0, 0, 2, 0, 123));

            rr1.SetRunTime(race.GetParticipant(2), new TimeSpan(0, 1, 1));
            rr1.SetResultCode(race.GetParticipant(3), RunResult.EResultCode.NiZ);

            DSVAlpinExport export = new DSVAlpinExport(tg.Model.GetRace(0));
            DataSet        ds     = export.ExportToDataSet();

            // Check Column Names
            int i = 0;

            Assert.AreEqual("Idnr", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Stnr", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("DSV-ID", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Name", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Kateg", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("JG", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("V/G", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Verein", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("LPkte", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Total", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Zeit 1", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Zeit 2", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Klasse", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Gruppe", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("RPkte", ds.Tables[0].Columns[i++].ColumnName);

            // Check first participant
            Assert.AreEqual(1U, ds.Tables[0].Rows[0]["Stnr"]);
            Assert.AreEqual("123", ds.Tables[0].Rows[0]["DSV-ID"]);
            Assert.AreEqual("Name 1, Firstname 1", ds.Tables[0].Rows[0]["Name"]);
            Assert.AreEqual("M", ds.Tables[0].Rows[0]["Kateg"]);
            Assert.AreEqual(2010u, ds.Tables[0].Rows[0]["JG"]);
            Assert.AreEqual("Nation", ds.Tables[0].Rows[0]["V/G"]);
            Assert.AreEqual("Verein", ds.Tables[0].Rows[0]["Verein"]);
            Assert.AreEqual("1,00", ds.Tables[0].Rows[0]["LPkte"]);
            Assert.AreEqual("1:00,00", ds.Tables[0].Rows[0]["Total"]); // BestRun => 60.0
            Assert.AreEqual("1:00,00", ds.Tables[0].Rows[0]["Zeit 1"]);
            Assert.AreEqual("2:00,12", ds.Tables[0].Rows[0]["Zeit 2"]);
            Assert.AreEqual("Class 2M (2010)", ds.Tables[0].Rows[0]["Klasse"]);
            Assert.AreEqual("Group 2M", ds.Tables[0].Rows[0]["Gruppe"]);
            Assert.AreEqual("---", ds.Tables[0].Rows[0]["RPkte"]);

            // Participant 3, Run1: NIZ
            Assert.AreEqual("NIZ1", ds.Tables[0].Rows[2]["Total"]);
            Assert.AreEqual("NIZ", ds.Tables[0].Rows[2]["Zeit 1"]);
            Assert.AreEqual(DBNull.Value, ds.Tables[0].Rows[2]["Zeit 2"]);
        }