public void AddAbschnitt(Abschnitt abs) { Abschnitte.Add(abs); AbschnittMap.Add(abs.number, abs); }
public static void XtractData(string filename, string tfilename) { char splc = ':'; System.Console.WriteLine("Read DSV6 file: " + filename); var v = new Veranstaltung(); string[] bs = BlockFile(filename); //Dateinhalte einlesen und vorbereiten int i = 0; var WKL = new System.Collections.Generic.Dictionary <string, Wettkampf>(); do { if (bs[i].Trim().StartsWith("PFLICHTZEIT:")) { var xwknr = bs[i].Split(splc)[1].Trim(); Wettkampf xwk; WKL.TryGetValue(xwknr, out xwk); var pz = bs[i + 5].Trim(); string cls; if (bs[i + 4] == bs[i + 3]) { cls = bs[i + 3]; } else { cls = bs[i + 3] + "-" + bs[i + 4]; } if (bs[i + 3] == "0" || bs[i + 3] == "") { cls = "-" + bs[i + 4]; cls = "offen"; } if (bs[i + 4] == "9999" || bs[i + 4] == "") { cls = bs[i + 3] + "-"; cls = "offen"; } if ((bs[i + 3] == "0" || bs[i + 3] == "") && (bs[i + 4] == "9999" || bs[i + 4] == "")) { cls = "offen"; } var key = cls; xwk.AddPZ(key, pz); } if (bs[i].Trim().StartsWith("ABSCHNITT:")) { var absnr = int.Parse(bs[i].Split(splc)[1]); var absdate = DateTime.Parse(bs[i + 1]); var abs = new Abschnitt(absnr, absdate); v.AddAbschnitt(abs); } if (bs[i].Trim().StartsWith("WETTKAMPF:")) { var xwknr = bs[i].Split(splc)[1].Trim(); var xabsnr = int.Parse(bs[i + 2]); var xwkkey = bs[i + 4] + "m " + bs[i + 5]; var factorStr = bs[i + 3].Trim(); if (factorStr != "1" && factorStr != "") { xwkkey = factorStr + " x " + xwkkey; } //System.Console.WriteLine(xwknr.ToString() + " " + xabsnr.ToString() + " " + xwkkey); var wk = new Wettkampf(xwknr, xwkkey, bs[i + 7], bs[i + 1]); WKL.Add(xwknr, wk); v.AddWettkampf(xabsnr, wk); } i += 1; //System.Console.WriteLine(bs[i-1]); //System.Console.WriteLine(bs[i]); } while (i < bs.Length && bs[i] != "DATEIENDE"); System.Console.WriteLine("Write CSV file: " + tfilename); v.printOverview(tfilename); }