3.2.4.5 Aggregating Property Definition Instance Values

This section specifies how the server aggregates new values with a property definition instance's existing property definition instance.value. The process varies based on the Property Definition.Type of the property definition specified by the property definition instance's property definition instance.Name. If property definition instance.flags contains FsrmPropertyFlags_Orphaned, the process for FsrmPropertyDefinitionType_String is used.

  • FsrmPropertyDefinitionType_OrderedList: The resulting value is the value that comes first in the Possible values of the property definition using a case-insensitive string comparison.

  • FsrmPropertyDefinitionType_MultiChoiceList: The resulting value is the superset of the individual choice values in property definition instance.value and the individual choice values in the new value.

  • FsrmPropertyDefinitionType_SingleChoiceList: Different single choice values cannot be aggregated. The property definition instance.flags is bitwise-OR'd with FsrmPropertyFlags_AggregationFailed.

  • FsrmPropertyDefinitionType_String: Different string values cannot be aggregated. The property definition instance.flags is bitwise-OR'd with FsrmPropertyFlags_AggregationFailed.

  • FsrmPropertyDefinitionType_MultiString: The resulting value is the superset of the individual strings in property definition instance.value and the strings in the new value.

  • FsrmPropertyDefinitionType_Int: Different integer values cannot be aggregated.  The property definition instance.flags is bitwise-OR'd with FsrmPropertyFlags_AggregationFailed.

  • FsrmPropertyDefinitionType_Bool: The resulting value is a logical OR of the property definition instance.value and the new value.

  • FsrmPropertyDefinitionType_Date: Different date values cannot be aggregated.  The property definition instance.flags is bitwise-OR'd with FsrmPropertyFlags_AggregationFailed.