@@ -25,13 +25,12 @@ public partial class ConfigureSubnetworkTrace : ContentPage
2525 // Feature service for an electric utility network in Naperville, Illinois.
2626 private const string FeatureServiceUrl = "https://sampleserver7.arcgisonline.com/server/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer" ;
2727 private UtilityNetwork _utilityNetwork ;
28- private UtilityTier _sourceTier ;
2928
3029 // For creating the default starting location.
3130 private const string DeviceTableName = "Electric Distribution Device" ;
32- private const string AssetGroupName = "Service Point " ;
33- private const string AssetTypeName = "Three Phase Low Voltage Meter " ;
34- private const string GlobalId = "{3AEC2649-D867-4EA7-965F-DBFE1F64B090 }" ;
31+ private const string AssetGroupName = "Circuit Breaker " ;
32+ private const string AssetTypeName = "Three Phase" ;
33+ private const string GlobalId = "{1CAF7740-0BF4-4113-8DB2-654E18800028 }" ;
3534 private UtilityElement _startingLocation ;
3635
3736 // For creating the default trace configuration.
@@ -41,6 +40,9 @@ public partial class ConfigureSubnetworkTrace : ContentPage
4140 // Holding the initial conditional expression.
4241 private UtilityTraceConditionalExpression _initialExpression ;
4342
43+ // The trace configuration.
44+ private UtilityTraceConfiguration _configuration ;
45+
4446 public ConfigureSubnetworkTrace ( )
4547 {
4648 InitializeComponent ( ) ;
@@ -88,16 +90,20 @@ private async Task Initialize()
8890
8991 // Get a default trace configuration from a tier to update the UI.
9092 UtilityDomainNetwork domainNetwork = _utilityNetwork . Definition . GetDomainNetwork ( DomainNetworkName ) ;
91- _sourceTier = domainNetwork . GetTier ( TierName ) ;
93+ UtilityTier sourceTier = domainNetwork . GetTier ( TierName ) ;
94+
95+ // Set the trace configuration.
96+ _configuration = sourceTier . GetDefaultTraceConfiguration ( ) ;
9297
93- if ( _sourceTier . GetDefaultTraceConfiguration ( ) . Traversability . Barriers is UtilityTraceConditionalExpression expression )
98+ // Set the default expression (if provided).
99+ if ( _configuration . Traversability . Barriers is UtilityTraceConditionalExpression expression )
94100 {
95101 ConditionBarrierExpression . Text = ExpressionToString ( expression ) ;
96102 _initialExpression = expression ;
97103 }
98104
99105 // Set the traversability scope.
100- _sourceTier . GetDefaultTraceConfiguration ( ) . Traversability . Scope = UtilityTraversabilityScope . Junctions ;
106+ _configuration . Traversability . Scope = UtilityTraversabilityScope . Junctions ;
101107 }
102108 catch ( Exception ex )
103109 {
@@ -191,7 +197,7 @@ private async void OnTrace(object sender, System.EventArgs e)
191197 {
192198 // Create utility trace parameters for the starting location.
193199 UtilityTraceParameters parameters = new UtilityTraceParameters ( UtilityTraceType . Subnetwork , new [ ] { _startingLocation } ) ;
194- parameters . TraceConfiguration = _sourceTier . GetDefaultTraceConfiguration ( ) ;
200+ parameters . TraceConfiguration = _configuration ;
195201
196202 // Trace the utility network.
197203 IEnumerable < UtilityTraceResult > results = await _utilityNetwork . TraceAsync ( parameters ) ;
@@ -211,23 +217,21 @@ private async void OnTrace(object sender, System.EventArgs e)
211217 private void OnReset ( object sender , System . EventArgs e )
212218 {
213219 // Reset the barrier condition to the initial value.
214- UtilityTraceConfiguration traceConfiguration = _sourceTier . GetDefaultTraceConfiguration ( ) ;
215- traceConfiguration . Traversability . Barriers = _initialExpression ;
220+ _configuration . Traversability . Barriers = _initialExpression ;
216221 ConditionBarrierExpression . Text = ExpressionToString ( _initialExpression ) ;
217222 }
218223
219224 private async void OnAddCondition ( object sender , EventArgs e )
220225 {
221226 try
222227 {
223- UtilityTraceConfiguration traceConfiguration = _sourceTier . GetDefaultTraceConfiguration ( ) ;
224- if ( traceConfiguration == null )
228+ if ( _configuration == null )
225229 {
226- traceConfiguration = new UtilityTraceConfiguration ( ) ;
230+ _configuration = new UtilityTraceConfiguration ( ) ;
227231 }
228- if ( traceConfiguration . Traversability == null )
232+ if ( _configuration . Traversability == null )
229233 {
230- traceConfiguration . Traversability = new UtilityTraversability ( ) ;
234+ _configuration . Traversability = new UtilityTraversability ( ) ;
231235 }
232236
233237 // NOTE: You may also create a UtilityCategoryComparison with UtilityNetworkDefinition.Categories and UtilityCategoryComparisonOperator.
@@ -247,12 +251,12 @@ private async void OnAddCondition(object sender, EventArgs e)
247251 }
248252 // NOTE: You may also create a UtilityNetworkAttributeComparison with another NetworkAttribute.
249253 UtilityTraceConditionalExpression expression = new UtilityNetworkAttributeComparison ( attribute , attributeOperator , otherValue ) ;
250- if ( traceConfiguration . Traversability . Barriers is UtilityTraceConditionalExpression otherExpression )
254+ if ( _configuration . Traversability . Barriers is UtilityTraceConditionalExpression otherExpression )
251255 {
252256 // NOTE: You may also combine expressions with UtilityTraceAndCondition
253257 expression = new UtilityTraceOrCondition ( otherExpression , expression ) ;
254258 }
255- traceConfiguration . Traversability . Barriers = expression ;
259+ _configuration . Traversability . Barriers = expression ;
256260 ConditionBarrierExpression . Text = ExpressionToString ( expression ) ;
257261 }
258262 }
@@ -264,12 +268,12 @@ private async void OnAddCondition(object sender, EventArgs e)
264268
265269 private void IncludeBarriersChanged ( object sender , ToggledEventArgs e )
266270 {
267- _sourceTier . GetDefaultTraceConfiguration ( ) . IncludeBarriers = e . Value ;
271+ _configuration . IncludeBarriers = e . Value ;
268272 }
269273
270274 private void IncludeContainersChanged ( object sender , ToggledEventArgs e )
271275 {
272- _sourceTier . GetDefaultTraceConfiguration ( ) . IncludeContainers = e . Value ;
276+ _configuration . IncludeContainers = e . Value ;
273277 }
274278 }
275279}
0 commit comments