private static ConditionMappingItemCollection GetMappingItemsBySubClass(RelativeAttributes attrs, MemberInfo sourceMI) { ConditionMappingItemCollection items = new ConditionMappingItemCollection(); System.Type subType = attrs.SubClassType != null ? attrs.SubClassType.Type : GetRealType(sourceMI); MemberInfo[] mis = GetTypeMembers(subType); foreach (SubConditionMappingAttribute attr in attrs.SubClassFieldMappings) { MemberInfo mi = GetMemberInfoByName(attr.SubPropertyName, mis); if (mi != null) { ConditionMappingItemBase item = CreateConditionMappingItemByAttr(attr); item.PropertyName = sourceMI.Name; item.SubClassPropertyName = attr.SubPropertyName; item.MemberInfo = mi; if (attrs.SubClassType != null) { item.SubClassTypeDescription = attrs.SubClassType.TypeDescription; } item.FillFromAttr(attr); items.Add(item); } } return(items); }
private static ConditionMappingItemCollection GetMappingItems(RelativeAttributes attrs, MemberInfo mi) { ConditionMappingItemCollection items = new ConditionMappingItemCollection(); ConditionMappingItemBase item = CreateConditionMappingItemByAttr(attrs.FieldMapping); item.PropertyName = mi.Name; item.DataFieldName = mi.Name; if (attrs.FieldMapping != null) { item.FillFromAttr(attrs.FieldMapping); } item.MemberInfo = mi; items.Add(item); return(items); }