public override string ToString()
        {
            string s = string.Empty;
            IStringConvertibleMatrix matrix = ConstrainedValue;

            if (matrix != null && matrix.ColumnNames.Count() != 0)
            {
                s += constraintColumn + " ";
            }
            else
            {
                return("EqualityConstraint");
            }

            if (ConstraintOperation != null)
            {
                s += ConstraintOperation.ToString() + " ";
            }

            if (!string.IsNullOrEmpty(ConstraintData))
            {
                s += ConstraintData;
            }
            else
            {
                s += "null";
            }

            return(s);
        }
 protected override void UpdateColumnComboBox()
 {
     this.cmbConstraintColumn.Items.Clear();
     if (Content.ConstrainedValue != null)
     {
         IStringConvertibleMatrix matrix = (IStringConvertibleMatrix)Content.ConstrainedValue;
         foreach (string columnName in matrix.ColumnNames)
         {
             IEnumerable <Type> dataTypes = Content.ConstrainedValue.GetDataType(columnName);
             if (dataTypes.Count() == 1)
             {
                 Type dataType = dataTypes.First();
                 if (typeof(IStringConvertibleValue).IsAssignableFrom(dataType) && typeof(IComparable).IsAssignableFrom(dataType))
                 {
                     this.cmbConstraintColumn.Items.Add(columnName);
                 }
             }
         }
         if (!string.IsNullOrEmpty(Content.ConstraintColumn))
         {
             this.cmbConstraintColumn.SelectedItem = Content.ConstraintColumn;
             if (Content.ConstraintData != null)
             {
                 txtConstraintData.Text = Content.ConstraintData.GetValue();
             }
             else
             {
                 this.Content_ConstraintColumnChanged(cmbConstraintColumn, EventArgs.Empty);
             }
         }
     }
 }
예제 #3
0
        public override string ToString()
        {
            string s = string.Empty;
            IStringConvertibleMatrix matrix = ConstrainedValue;

            if (matrix != null && matrix.ColumnNames.Count() != 0)
            {
                s += constraintColumn + " ";
            }
            else
            {
                return("ComparisonConstraint");
            }

            if (ConstraintOperation != null)
            {
                s += ConstraintOperation.ToString() + " ";
            }

            if (ConstraintData != null)
            {
                s += ConstraintData.GetValue();
            }
            else
            {
                s += "null";
            }

            return(s);
        }
        protected override void OnConstrainedValueChanged()
        {
            base.OnConstrainedValueChanged();
            IStringConvertibleMatrix matrix = (IStringConvertibleMatrix)ConstrainedValue;

            if (constraintColumn == null && ConstrainedValue != null && matrix.Columns != 0)
            {
                constraintColumn = matrix.ColumnNames.ElementAt(0);
            }
        }
예제 #5
0
        public void AddItemToBuilder(IItem item, string name, SolutionMessage.Builder builder)
        {
            IStringConvertibleValue value = (item as IStringConvertibleValue);

            if (value != null)
            {
                SolutionMessage.Types.StringVariable.Builder var = SolutionMessage.Types.StringVariable.CreateBuilder();
                var.SetName(name).SetData(value.GetValue());
                builder.AddStringVars(var.Build());
            }
            else
            {
                IStringConvertibleArray array = (item as IStringConvertibleArray);
                if (array != null)
                {
                    SolutionMessage.Types.StringArrayVariable.Builder var = SolutionMessage.Types.StringArrayVariable.CreateBuilder();
                    var.SetName(name).SetLength(array.Length);
                    for (int i = 0; i < array.Length; i++)
                    {
                        var.AddData(array.GetValue(i));
                    }
                    builder.AddStringArrayVars(var.Build());
                }
                else
                {
                    IStringConvertibleMatrix matrix = (item as IStringConvertibleMatrix);
                    if (matrix != null)
                    {
                        SolutionMessage.Types.StringArrayVariable.Builder var = SolutionMessage.Types.StringArrayVariable.CreateBuilder();
                        var.SetName(name).SetLength(matrix.Columns);
                        for (int i = 0; i < matrix.Rows; i++)
                        {
                            for (int j = 0; j < matrix.Columns; j++)
                            {
                                var.AddData(matrix.GetValue(i, j));
                            }
                        }
                        builder.AddStringArrayVars(var.Build());
                    }
                    else
                    {
                        throw new ArgumentException(ItemName + ": Item is not of a supported type.", "item");
                    }
                }
            }
        }