Exemplo n.º 1
0
 public void AddAbschnitt(Abschnitt abs)
 {
     Abschnitte.Add(abs);
     AbschnittMap.Add(abs.number, abs);
 }
Exemplo n.º 2
0
        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);
        }