Example #1
0
        private void SingleConduitPlaced(SingleConduitInfo singleConduitInfo, SingleConduitPlaced @event)
        {
            singleConduitInfo.Id               = @event.SingleConduitId;
            singleConduitInfo.Kind             = ConduitKindEnum.SingleConduit;
            singleConduitInfo.AssetInfo        = @event.AssetInfo;
            singleConduitInfo.WalkOfInterestId = @event.WalkOfInterestId;
            singleConduitInfo.Color            = @event.ConduitInfo.Color;
            singleConduitInfo.Shape            = @event.ConduitInfo.Shape;
            singleConduitInfo.ColorMarking     = @event.ConduitInfo.ColorMarking;
            singleConduitInfo.TextMarking      = @event.ConduitInfo.TextMarking;
            singleConduitInfo.Name             = @event.ConduitInfo.Name;
            singleConduitInfo.InnerDiameter    = @event.ConduitInfo.InnerDiameter;
            singleConduitInfo.OuterDiameter    = @event.ConduitInfo.OuterDiameter;

            // Create segment info (as is looks before any cuts or connections)
            var segment = new SingleConduitSegmentInfo();

            segment.Id              = Guid.NewGuid();
            segment.ConduitId       = @event.SingleConduitId;
            segment.SequenceNumber  = 1;
            segment.FromRouteNodeId = routeNetworkQueryService.GetWalkOfInterestInfo(singleConduitInfo.WalkOfInterestId).StartNodeId;
            segment.ToRouteNodeId   = routeNetworkQueryService.GetWalkOfInterestInfo(singleConduitInfo.WalkOfInterestId).EndNodeId;

            singleConduitInfo.Segments = new List <ISegment>()
            {
                segment
            };

            conduitNetworkQueryService.UpdateSingleConduitInfo(singleConduitInfo);
        }
Example #2
0
        public void InnerConduitCut(SingleConduitInfo singleConduitInfo, MultiConduitInnerConduitCut @event)
        {
            // Get the multi conduit
            var multiConduit = conduitNetworkQueryService.GetMultiConduitInfo(@event.MultiConduitId);

            // Get the walk of interest of the multi conduit
            var walkOfInterest = routeNetworkQueryService.GetWalkOfInterestInfo(multiConduit.WalkOfInterestId);

            // Get the node
            var nodeWhereToCut = routeNetworkQueryService.GetRouteNodeInfo(@event.PointOfInterestId);

            ConduitCutter.CutConduit(singleConduitInfo, walkOfInterest, nodeWhereToCut);

            conduitNetworkQueryService.UpdateSingleConduitInfo(singleConduitInfo);
        }