Extender base class used to add information about static selection membership to contact or person rows, if so requested by the client.
public abstract class StaticSelectionMemberBase : TableExtenderBase<SelectionMemberTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin
The purpose is to simplify duplicate detection during add member operations, where a contact/person search may result in some rows that are already members - and for delete members via search, where we also need to know which rows overlap with the existing selection members.
To use this functionality, include the 'selectionIdRequest' restriction, use the '=' operator and give the id of the static selection to attempt to join with. If this is done, then the 'selectionMemberId' will contain a non-null value for those contacts or persons that exist in the given static selection.
protected ArchiveColumnInfo _colSelectionIdRequest
protected ArchiveColumnInfo _colSelectionMemberId
protected int _selectionId
Add the correct return field, and prevent the auto sentry system from adding its own cascade behind the selectionmember table (tolerance for null tableInfo needed for some cases)
protected override void InnerModifyQuery()
Populate selection member id column if available - or add a null valued column
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Extract our restriction, which is not really a restriction but rather a request to join with selectionmember on that particular restriction
public override bool SetRestriction(params ArchiveRestrictionInfo restrictions)