public TranslatedChanges Translate(ZipArchiveEntry entry, IDbaseRecordEnumerator <RoadSegmentChangeDbaseRecord> records, TranslatedChanges changes) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (records == null) { throw new ArgumentNullException(nameof(records)); } if (changes == null) { throw new ArgumentNullException(nameof(changes)); } while (records.MoveNext()) { var record = records.Current; if (record != null) { switch (record.RECORDTYPE.Value) { case RecordType.AddedIdentifier: changes = changes.Append( new AddRoadSegment( records.CurrentRecordNumber, new RoadSegmentId(record.WS_OIDN.Value), new RoadNodeId(record.B_WK_OIDN.Value), new RoadNodeId(record.E_WK_OIDN.Value), new OrganizationId(record.BEHEERDER.Value), RoadSegmentGeometryDrawMethod.ByIdentifier[record.METHODE.Value], RoadSegmentMorphology.ByIdentifier[record.MORFOLOGIE.Value], RoadSegmentStatus.ByIdentifier[record.STATUS.Value], RoadSegmentCategory.ByIdentifier[record.WEGCAT.Value], RoadSegmentAccessRestriction.ByIdentifier[record.TGBEP.Value], record.LSTRNMID.Value.HasValue ? new CrabStreetnameId(record.LSTRNMID.Value.Value) : new CrabStreetnameId?(), record.RSTRNMID.Value.HasValue ? new CrabStreetnameId(record.RSTRNMID.Value.Value) : new CrabStreetnameId?() ) ); break; } } } return(changes); }
public TranslatedChanges Translate(ZipArchiveEntry entry, IDbaseRecordEnumerator <RoadNodeChangeDbaseRecord> records, TranslatedChanges changes) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (records == null) { throw new ArgumentNullException(nameof(records)); } if (changes == null) { throw new ArgumentNullException(nameof(changes)); } var recordNumber = RecordNumber.Initial; while (records.MoveNext()) { var record = records.Current; if (record != null) { switch (record.RECORDTYPE.Value) { case RecordType.AddedIdentifier: changes = changes.Append( new AddRoadNode( recordNumber, new RoadNodeId(record.WEGKNOOPID.Value), RoadNodeType.ByIdentifier[record.TYPE.Value] ) ); break; } } recordNumber = recordNumber.Next(); } return(changes); }
public TranslatedChanges Translate(ZipArchiveEntry entry, IDbaseRecordEnumerator <NumberedRoadChangeDbaseRecord> records, TranslatedChanges changes) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (records == null) { throw new ArgumentNullException(nameof(records)); } if (changes == null) { throw new ArgumentNullException(nameof(changes)); } while (records.MoveNext()) { var record = records.Current; if (record != null) { switch (record.RECORDTYPE.Value) { case RecordType.AddedIdentifier: changes = changes.Append( new AddRoadSegmentToNumberedRoad( new AttributeId(record.GW_OIDN.Value), new RoadSegmentId(record.WS_OIDN.Value), NumberedRoadNumber.Parse(record.IDENT8.Value), RoadSegmentNumberedRoadDirection.ByIdentifier[record.RICHTING.Value], new RoadSegmentNumberedRoadOrdinal(record.VOLGNUMMER.Value) ) ); break; } } } return(changes); }
public TranslatedChanges Translate(ZipArchiveEntry entry, IDbaseRecordEnumerator <GradeSeparatedJunctionChangeDbaseRecord> records, TranslatedChanges changes) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (records == null) { throw new ArgumentNullException(nameof(records)); } if (changes == null) { throw new ArgumentNullException(nameof(changes)); } while (records.MoveNext()) { var record = records.Current; if (record != null) { switch (record.RECORDTYPE.Value) { case RecordType.AddedIdentifier: changes = changes.Append( new AddGradeSeparatedJunction( new GradeSeparatedJunctionId(record.OK_OIDN.Value), GradeSeparatedJunctionType.ByIdentifier[record.TYPE.Value], new RoadSegmentId(record.BO_WS_OIDN.Value), new RoadSegmentId(record.ON_WS_OIDN.Value) ) ); break; } } } return(changes); }
public TranslatedChanges Translate(ZipArchiveEntry entry, IDbaseRecordEnumerator <EuropeanRoadChangeDbaseRecord> records, TranslatedChanges changes) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (records == null) { throw new ArgumentNullException(nameof(records)); } if (changes == null) { throw new ArgumentNullException(nameof(changes)); } while (records.MoveNext()) { var record = records.Current; if (record != null) { switch (record.RECORDTYPE.Value) { case RecordType.AddedIdentifier: changes = changes.Append( new AddRoadSegmentToEuropeanRoad( new AttributeId(record.EU_OIDN.Value), new RoadSegmentId(record.WS_OIDN.Value), EuropeanRoadNumber.Parse(record.EUNUMMER.Value) ) ); break; } } } return(changes); }