コード例 #1
0
        public void RunConversion()
        {
            var utilityNetwork = _eventStore.Projections.Get <UtilityNetworkProjection>();

            var dbSettings = new Settings.GeoDatabaseSetting()
            {
                Host     = "localhost",
                Database = "open-ftth",
                Username = "******",
                Password = "******",
                Port     = "5432"
            };

            var importer = new CableSpanEquipmentImporter(_loggerFactory.CreateLogger <ConduitSpanEquipmentImporter>(), _eventStore, dbSettings, _commandDispatcher, _queryDispatcher);

            //importer.Run();
        }
コード例 #2
0
        public async Task PlaceCableFromHH1_to_HH11_ThroughConduitThenDirectyInRouteNetwork()
        {
            var utilityNetwork = _eventStore.Projections.Get <UtilityNetworkProjection>();

            var importer = new CableSpanEquipmentImporter(_loggerFactory.CreateLogger <ConduitSpanEquipmentImporter>(), _eventStore, new Settings.GeoDatabaseSetting(), _commandDispatcher, _queryDispatcher);

            Guid cableId = Guid.NewGuid();

            List <Guid> segmentIds = new List <Guid> {
                TestRouteNetwork.S2,
                TestRouteNetwork.S4,
                TestRouteNetwork.S13,
                TestRouteNetwork.S12,
            };

            List <CableConduitRel> conduitRels = new List <CableConduitRel>()
            {
                new CableConduitRel()
                {
                    SpanEquipmentId = TestConduits.Conduit_5x10_HH_1_to_HH_10, InnerConduitNumber = 1
                }
            };

            var placeCableResult = importer.PlaceCableSpanEquipment(null, cableId, "TEST1", TestSpecifications.FiberCable_24Fiber, segmentIds, conduitRels);

            placeCableResult.IsSuccess.Should().BeTrue();

            utilityNetwork.TryGetEquipment <SpanEquipment>(cableId, out var placedCable);


            var routeNetworkQueryResult = await _queryDispatcher.HandleAsync <GetRouteNetworkDetails, Result <GetRouteNetworkDetailsResult> >(
                new GetRouteNetworkDetails(new InterestIdList()
            {
                placedCable.WalkOfInterestId
            })
            {
                RelatedInterestFilter = RelatedInterestFilterOptions.ReferencesFromRouteElementAndInterestObjects
            }
                );

            var traceQueryResult = await _queryDispatcher.HandleAsync <GetEquipmentDetails, Result <GetEquipmentDetailsResult> >(
                new GetEquipmentDetails(new EquipmentIdList()
            {
                cableId
            })
            {
                EquipmentDetailsFilter = new EquipmentDetailsFilterOptions()
                {
                    IncludeRouteNetworkTrace = true
                }
            }
                );


            utilityNetwork.TryGetEquipment <SpanEquipment>(TestConduits.Conduit_5x10_HH_1_to_HH_10, out var routeThroughConduit);


            // Assert

            // Check walk of interest
            var walkOfInterest = routeNetworkQueryResult.Value.Interests[placedCable.WalkOfInterestId];

            walkOfInterest.RouteNetworkElementRefs.First().Should().Be(TestRouteNetwork.HH_1);
            walkOfInterest.RouteNetworkElementRefs.Last().Should().Be(TestRouteNetwork.HH_11);

            // Check parent relationship
            placedCable.UtilityNetworkHops[0].ParentAffixes.Should().NotBeNull();
            placedCable.UtilityNetworkHops[0].ParentAffixes.Count().Should().Be(1);
            placedCable.UtilityNetworkHops[0].ParentAffixes.Single(p => p.SpanSegmentId == routeThroughConduit.SpanStructures[1].SpanSegments[0].Id).Should().NotBeNull();
        }