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);
        }
Exemple #3
0
        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);
        }