예제 #1
0
        public override bool Equals(Object obj)
        {
            Steig st = obj as Steig;

            if (st == null)
            {
                return(false);
            }
            return((st).Id.Equals(this.Id));
        }
        public static ConcurrentDictionary<int, ISteig> ReadFile(String filePath)
        {
            FileHelperEngine<SteigRecord> engine = new FileHelperEngine<SteigRecord>();
            ConcurrentDictionary<int, ISteig> steige = new ConcurrentDictionary<int, ISteig>();

            try {
                engine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
                engine.Encoding = Encoding.UTF8;
                SteigRecord[] res = engine.ReadFile(filePath);

                foreach (SteigRecord steig in res) {
                    //Übernehmen der eingelesenen Daten in das Programm-Model:
                    ISteig transport = new Steig();
                    Point stLoc = new Point(steig.XKoord, steig.YKoord);

                    transport.Id = steig.Id;
                    transport.Bereich = steig.Bereich;
                    transport.HaltestellenId = steig.HaltestellenId;
                    transport.LinienId = steig.LinienId;
                    transport.Rbl = steig.Rbl;
                    transport.Reihenfolge = steig.Reihenfolge;
                    transport.Name = steig.Name;
                    transport.Location = stLoc;
                    switch (steig.Richtung) {
                        case "H": {
                                transport.Richtung = ERichtung.Hin;
                                break;
                            }
                        case "R": {
                                transport.Richtung = ERichtung.Rueck;
                                break;
                            }
                    }

                    //Schreiben des Models in Collection für den Rückgabewert:
                    steige.AddOrUpdate(transport.Id, transport, (key, oldValue) => transport);
                }
            } catch (Exception ex) {
                //Dokument konnte nicht geparst werden (Nicht vorhanden/geöffnet)
                throw new VtmParsingException("Beim Versuch die Steige zu parsen ist ein Fehler aufgetreten!", filePath, ex);
            }
            return (steige);
        }
 public void TestInitialize()
 {
     point = new Point(123.4, 432.1);
     steig = new Steig(1, 123, 123, ERichtung.Rueck, 23, 2356, 23, "U1-23", point);
     steigLeer = new Steig();
 }