public ValidationResultManager( BehaviorInitializationContext context, FieldDefinitionGroup fieldGroup, ValueStage stage ) { _resultField = new DynamicFieldAccessor <ValidationResult>(context, fieldGroup); _property = context.Property; _stage = stage; }
public DynamicFieldAccessor( BehaviorInitializationContext context, FieldDefinitionGroup fieldGroup ) { Check.NotNull(context, nameof(context)); Check.NotNull(fieldGroup, nameof(fieldGroup)); _field = context.Fields.DefineField <TValue>(fieldGroup); }
public void Initialize() { _fieldDefinitions = new FieldDefinitionCollection(); _valueGroup = new FieldDefinitionGroup(); _errorGroup = new FieldDefinitionGroup(); _nameField = _fieldDefinitions.DefineField <string>(_valueGroup); _salaryField = _fieldDefinitions.DefineField <decimal>(_valueGroup); _addressField = _fieldDefinitions.DefineField <Address>(_valueGroup); _salaryErrorField = _fieldDefinitions.DefineField <string>(_errorGroup); }
public FieldDefinition <T> DefineField <T>(FieldDefinitionGroup group) { Check.NotNull(group, nameof(group)); FieldGroupInfo info = EnsureGroup(group); FieldDefinition <T> field = new FieldDefinition <T>( parent: this, groupIndex: info.GroupIndex, fieldIndex: info.FieldCount ); info.FieldCount++; return(field); }
private FieldGroupInfo EnsureGroup(FieldDefinitionGroup group) { FieldGroupInfo info = _containedGroups.Find(g => g.Group == group); if (info == null) { info = new FieldGroupInfo { Group = group, GroupIndex = _containedGroups.Count, FieldCount = 0 }; _containedGroups.Add(info); } return(info); }
public void DefineFields() { FieldDefinitionCollection fieldDefinitions = new FieldDefinitionCollection(); FieldDefinitionGroup valueGroup = new FieldDefinitionGroup(); FieldDefinitionGroup errorGroup = new FieldDefinitionGroup(); FieldDefinition <string> nameField = fieldDefinitions.DefineField <string>(valueGroup); FieldDefinition <decimal> salaryField = fieldDefinitions.DefineField <decimal>(valueGroup); FieldDefinition <string> salaryErrorField = fieldDefinitions.DefineField <string>(errorGroup); Assert.AreEqual(0, nameField.GroupIndex); Assert.AreEqual(0, salaryField.GroupIndex); Assert.AreEqual(1, salaryErrorField.GroupIndex); Assert.AreEqual(0, nameField.FieldIndex); Assert.AreEqual(1, salaryField.FieldIndex); Assert.AreEqual(0, salaryErrorField.FieldIndex); }