private void InnerConduitAdded(SingleConduitInfo singleConduitInfo, MultiConduitInnerConduitAdded @event) { singleConduitInfo.MultiConduitId = @event.MultiConduitId; singleConduitInfo.Kind = ConduitKindEnum.InnerConduit; singleConduitInfo.SequenceNumber = @event.MultiConduitIndex; singleConduitInfo.Id = @event.ConduitInfo.Id; 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 multiConduitInfo = conduitNetworkQueryService.GetMultiConduitInfo(@event.MultiConduitId); var segment = new SingleConduitSegmentInfo(); segment.Id = Guid.NewGuid(); segment.SequenceNumber = 1; segment.ConduitId = @event.ConduitInfo.Id; segment.FromRouteNodeId = routeNetworkQueryService.GetWalkOfInterestInfo(multiConduitInfo.WalkOfInterestId).StartNodeId; segment.ToRouteNodeId = routeNetworkQueryService.GetWalkOfInterestInfo(multiConduitInfo.WalkOfInterestId).EndNodeId; singleConduitInfo.Segments = new List <ISegment>() { segment }; conduitNetworkQueryService.UpdateSingleConduitInfo(singleConduitInfo); }
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); }