public ArgumentValue Add(Argument argument, ArgumentEntity argumentEntity) { var argValue = new ArgumentValue(argument, argumentEntity); ArgumentValues.Add(argValue); return(argValue); }
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); }
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); }
public ArgumentValue(Argument argument, ArgumentEntity argumentEntity) { Argument = argument; ArgumentEntity = argumentEntity; }