private bool IsEqualLine (AirportViewData OldValue, AirportViewData NewValue) { if ((OldValue.ConnectedDLine.ConnectedTrafficLine.Towards == NewValue.ConnectedDLine.ConnectedTrafficLine.Towards) && (OldValue.ConnectedDStation.NameID == NewValue.ConnectedDStation.NameID) && (OldValue.ConnectedDDeparture.DepartureTime == NewValue.ConnectedDDeparture.DepartureTime)) return true; return false; }
public void FillAirportViewData () { AirportViewDataList.Clear (); foreach (DisplayableStation Station in DisplayableStationen) { foreach (DisplayableLine Line in Station.DisplayableLinien) { foreach (DisplayableDeparture Departure in Line.Departures) { AirportViewData NewEntry = new AirportViewData() { Parent= this, ConnectedDStation = Station, ConnectedDLine = Line, ConnectedDDeparture = Departure }; if (ListOfSkipableTowards.Contains(Line.ConnectedTrafficLine.Towards)) continue; AirportViewData EntryToInsertBefore = null; foreach (AirportViewData OldEntry in AirportViewDataList) { if (OldEntry.ConnectedDDeparture.DepartureTime >= NewEntry.ConnectedDDeparture.DepartureTime) { EntryToInsertBefore = OldEntry; break; } } if (EntryToInsertBefore == null) { AirportViewDataList.Add (NewEntry); } else { int InsertIndex = AirportViewDataList.IndexOf(EntryToInsertBefore); AirportViewDataList.Insert(InsertIndex, NewEntry); } } } } }