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(); }