private async void OnAddCondition(object sender, RoutedEventArgs e) { try { if (_configuration == null) { _configuration = new UtilityTraceConfiguration(); } if (_configuration.Traversability == null) { _configuration.Traversability = new UtilityTraversability(); } // NOTE: You may also create a UtilityCategoryComparison with UtilityNetworkDefinition.Categories and UtilityCategoryComparisonOperator. if (Attributes.SelectedItem is UtilityNetworkAttribute attribute && Operators.SelectedItem is string attributeOperatorStr) { object selectedValue; UtilityAttributeComparisonOperator attributeOperator = Enum.Parse <UtilityAttributeComparisonOperator>(attributeOperatorStr); // If the value is a coded value. if (attribute.Domain is CodedValueDomain && ValueSelection.SelectedItem is CodedValue codedValue) { selectedValue = ConvertToDataType(codedValue.Code, attribute.DataType); } // If the value is free entry. else { selectedValue = ConvertToDataType(ValueEntry.Text.Trim(), attribute.DataType); } // NOTE: You may also create a UtilityNetworkAttributeComparison with another NetworkAttribute. UtilityTraceConditionalExpression expression = new UtilityNetworkAttributeComparison(attribute, attributeOperator, selectedValue); if (_configuration.Traversability.Barriers is UtilityTraceConditionalExpression otherExpression) { // NOTE: You may also combine expressions with UtilityTraceAndCondition expression = new UtilityTraceOrCondition(otherExpression, expression); } _configuration.Traversability.Barriers = expression; ConditionBarrierExpression.Text = ExpressionToString(expression); } } catch (Exception ex) { await new MessageDialog2(ex.Message, ex.Message.GetType().Name).ShowAsync(); } }
private async void OnAddCondition(object sender, EventArgs e) { try { UtilityTraceConfiguration traceConfiguration = _sourceTier.TraceConfiguration; if (traceConfiguration == null) { traceConfiguration = new UtilityTraceConfiguration(); } if (traceConfiguration.Traversability == null) { traceConfiguration.Traversability = new UtilityTraversability(); } // NOTE: You may also create a UtilityCategoryComparison with UtilityNetworkDefinition.Categories and UtilityCategoryComparisonOperator. if (Attributes.SelectedItem is UtilityNetworkAttribute attribute && Operators.SelectedItem is UtilityAttributeComparisonOperator attributeOperator) { object otherValue; // If the value is a coded value. if (attribute.Domain is CodedValueDomain && ValueSelection.SelectedItem is CodedValue codedValue) { otherValue = ConvertToDataType(codedValue.Code, attribute.DataType); } // If the value is free entry. else { otherValue = ConvertToDataType(ValueEntry.Text.Trim(), attribute.DataType); } // NOTE: You may also create a UtilityNetworkAttributeComparison with another NetworkAttribute. UtilityTraceConditionalExpression expression = new UtilityNetworkAttributeComparison(attribute, attributeOperator, otherValue); if (traceConfiguration.Traversability.Barriers is UtilityTraceConditionalExpression otherExpression) { // NOTE: You may also combine expressions with UtilityTraceAndCondition expression = new UtilityTraceOrCondition(otherExpression, expression); } traceConfiguration.Traversability.Barriers = expression; ConditionBarrierExpression.Text = ExpressionToString(expression); } } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK"); } }
private void AddClick(object sender, EventArgs e) { try { if (_configuration == null) { _configuration = new UtilityTraceConfiguration(); } if (_configuration.Traversability == null) { _configuration.Traversability = new UtilityTraversability(); } // NOTE: You may also create a UtilityCategoryComparison with UtilityNetworkDefinition.Categories and UtilityCategoryComparisonOperator. if (_selectedAttribute != null) { object selectedValue; // If the value is a coded value. if (_selectedAttribute.Domain is CodedValueDomain && _selectedValue is CodedValue codedValue) { selectedValue = ConvertToDataType(codedValue.Code, _selectedAttribute.DataType); } // If the value is free entry. else { selectedValue = ConvertToDataType(_selectedValue.ToString().Trim(), _selectedAttribute.DataType); } // NOTE: You may also create a UtilityNetworkAttributeComparison with another NetworkAttribute. UtilityTraceConditionalExpression expression = new UtilityNetworkAttributeComparison(_selectedAttribute, _selectedComparison, selectedValue); if (_configuration.Traversability.Barriers is UtilityTraceConditionalExpression otherExpression) { // NOTE: You may also combine expressions with UtilityTraceAndCondition expression = new UtilityTraceOrCondition(otherExpression, expression); } _configuration.Traversability.Barriers = expression; _expressionLabel.Text = ExpressionToString(expression); } } catch (Exception ex) { new UIAlertView(ex.GetType().Name, ex.Message, (IUIAlertViewDelegate)null, "Error adding barrier", null).Show(); } }