Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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();
            }
        }