protected virtual void PopulateProperties(object targetObject, Type exposedType,
IEnumerable <PropertyDescription> properties)
{
HashSet <string> addedElements = new HashSet <string>();
foreach (var property in properties)
{
if (IsMemberWoopsaVisible(targetObject, property.PropertyInfo))
{
if (!addedElements.Contains(property.Name))
{
AddWoopsaProperty(property);
addedElements.Add(property.Name);
}
}
}
if (typeof(IEnumerable <object>).IsAssignableFrom(exposedType) && Visibility.HasFlag(WoopsaVisibility.IEnumerableObject))
{
new WoopsaProperty(this, nameof(OrderedItemIds), WoopsaValueType.JsonData,
(p) => WoopsaValue.WoopsaJsonData(OrderedItemIds));
}
}