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 void ComparisonSelected(UtilityAttributeComparisonOperator op) { _comparisonButton.SetTitle(op.ToString(), UIControlState.Normal); _selectedComparison = op; }
private void ComparisonSelected(object sender, DialogClickEventArgs e) { _selectedComparison = (UtilityAttributeComparisonOperator)Enum.GetValues(typeof(UtilityAttributeComparisonOperator)).GetValue(e.Which); _comparisonButton.Text = _selectedComparison.ToString(); }