Example #1
0
            public ArgumentValue Add(Argument argument, ArgumentEntity argumentEntity)
            {
                var argValue = new ArgumentValue(argument, argumentEntity);

                ArgumentValues.Add(argValue);

                return(argValue);
            }
Example #2
0
            public ArgumentValue Add(Argument argument, ArgumentEntity argumentEntity, ValueEntity value)
            {
                if (argument == null || argumentEntity == null || value == null || !value.HasValue)
                {
                    return(null);
                }

                var argValue = new ArgumentValue(argument, argumentEntity);

                argValue.Value = value;

                ArgumentValues.Add(argValue);

                return(argValue);
            }
        private static ArgumentEntity CreateArgumentEntity(Argument argument)
        {
            var argEntity = new ArgumentEntity();

            argEntity.Name       = argument.Name;
            argEntity.Properties = argument.PropertyBag;

            var count   = 0;
            var matches = _valueMultiplicityRegex.Matches(argument.Format);

            if (matches != null && matches.Count > 0)
            {
                count = matches.Count;
            }

            argEntity.ValueCount = count;

            return(argEntity);
        }
Example #4
0
            public ArgumentValue Add(Argument argument, ArgumentEntity argumentEntity, IEnumerable <ValueEntity> values)
            {
                if (argument == null || argumentEntity == null || values == null || !values.Any())
                {
                    return(null);
                }

                var argValue  = new ArgumentValue(argument, argumentEntity);
                var valueList = new List <ValueEntity>(values);

                while (valueList.Count < argumentEntity.ValueCount)
                {
                    valueList.Add(ValueEntity.Empty);
                }

                argValue.Values = valueList;

                ArgumentValues.Add(argValue);

                return(argValue);
            }
        private void Fill(ValueBindingModel valueBindingModel, Binding binding,
                          Argument argument, ArgumentEntity argumentEntity)
        {
            Debug.Assert(binding.Argument.Name == argument.Name,
                         "Specified argument does not have the same name as specified in the binding.");
            Debug.Assert(binding.Argument.Name == argumentEntity.Name,
                         "Specified argumentEntity does not have the same name as specified in the binding.");

            bool optional = (argument.Multiplicity == Multiplicity.ZeroOrOne ||
                             argument.Multiplicity == Multiplicity.ZeroOrMore);

            valueBindingModel.Argument           = argumentEntity;
            valueBindingModel.Name               = binding.Name;
            valueBindingModel.Description        = argument.Description;
            valueBindingModel.IsOptional         = optional;
            valueBindingModel.IsReadOnly         = (binding.Control.ControlType == ControlTypes.Literal);
            valueBindingModel.Control.Type       = binding.Control.ControlType;
            valueBindingModel.Control.Properties = binding.Control.PropertyBag;
            valueBindingModel.Properties         = binding.PropertyBag;

            CreateValidationRules(valueBindingModel);
        }
        private SingleValueBindingModel CreateSingleValueBindingModel(Binding binding, Argument arg, ArgumentEntity argEntity, int valueIndex)
        {
            var svbm = new SingleValueBindingModel();

            Fill(svbm, binding, arg, argEntity);

            if (binding.Values.Count > valueIndex)
            {
                svbm.Value = CreateValueEntity(binding.Values[valueIndex]);
            }
            else
            {
                svbm.Value = new ValueEntity();
            }

            if (binding.Control.ControlType == ControlTypes.Check)
            {
                svbm.Value.IsSelected = svbm.Control.Properties.Selected();

                // at least initialize the bool value to false.
                if (!svbm.Value.IsSelected.HasValue)
                {
                    svbm.Value.IsSelected = false;
                }
            }

            return(svbm);
        }
        private void FillMulti(MultiValueBindingModel mvbm, Binding binding, Argument arg, ArgumentEntity argEntity)
        {
            for (int index = 0; index < argEntity.ValueCount; index++)
            {
                var singleValueBindingModel = CreateSingleValueBindingModel(binding, arg, argEntity, index);

                if (singleValueBindingModel.Value != null &&
                    !String.IsNullOrEmpty(singleValueBindingModel.Value.DisplayValue))
                {
                    // Nice for presentation of multiple values
                    singleValueBindingModel.Name = singleValueBindingModel.Value.DisplayValue;
                }

                singleValueBindingModel.Parent = mvbm;
                mvbm.Bindings.Add(singleValueBindingModel);
            }
        }
        private MultiValueBindingModel CreateMultiValueBindingModel(Binding binding, Argument arg, ArgumentEntity argEntity)
        {
            var mvbm = new MultiValueBindingModel();

            Fill(mvbm, binding, arg, argEntity);
            FillMulti(mvbm, binding, arg, argEntity);

            return(mvbm);
        }
Example #9
0
 public ArgumentValue(Argument argument, ArgumentEntity argumentEntity)
 {
     Argument       = argument;
     ArgumentEntity = argumentEntity;
 }