/// <summary> /// Initializes a new instance of the <see cref="FieldPathPropertyDefinition"/> class. /// </summary> /// <param name="dataFilter"> /// The data filter. /// </param> /// <param name="memberDefinition"> /// The member definition. /// </param> public FieldPathPropertyDefinition(RadDataFilter dataFilter, IFilterMemberDefinition memberDefinition) { if (dataFilter == null) throw new ArgumentNullException("dataFilter"); if (memberDefinition == null) throw new ArgumentNullException("memberDefinition"); _dataFilter = dataFilter; _memberDefinition = memberDefinition; PropertyName = memberDefinition.MemberName; PropertyType = memberDefinition.MemberType; DisplayName = memberDefinition.DisplayName; }
/// <summary> /// Initializes a new instance of the <see cref="FieldPathPropertyDefinition"/> class. /// </summary> /// <param name="parentProperty"> /// The parent property. /// </param> /// <param name="memberDefinition"> /// The member definition. /// </param> public FieldPathPropertyDefinition(FieldPathPropertyDefinition parentProperty, IFilterMemberDefinition memberDefinition) { if (parentProperty == null) throw new ArgumentNullException("parentProperty"); if (memberDefinition == null) throw new ArgumentNullException("memberDefinition"); _parentProperty = parentProperty; _dataFilter = parentProperty.DataFilter; _memberDefinition = memberDefinition; var propertyPath = memberDefinition.MemberName; var property = ParentProperty; while (property != null) { propertyPath = property.SystemName + Constants.FilterDescriptorMemberSeparator + propertyPath; property = property.ParentProperty; } PropertyName = propertyPath; PropertyType = memberDefinition.MemberType; DisplayName = memberDefinition.DisplayName; }