Class ContactPersonAsEntityExtenderBase
This base class implements the extension of a contact with persons, if and only if a person-related restriction has been set.
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public abstract class ContactPersonAsEntityExtenderBase : ContactPersonExtender, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible
Remarks
If no person-related restriction has been set, the whole person subtree will disappear. This is the opposite behaviour from what we get at the base ContactPersonExtender class level, where missing restrictions will cause the result set to be expanded with EVERY person for each parent contact.
In addition, all rows that DO contain person information will be marked as belonging to the 'person' entity, have the person id as the primary key, and have person navigation links.Constructors
ContactPersonAsEntityExtenderBase(Features, string)
Constructor, used to request specific person features
Declaration
public ContactPersonAsEntityExtenderBase(PersonExtenderBase.Features features, string context = "")
Parameters
Type | Name | Description |
---|---|---|
PersonExtenderBase.Features | features | |
string | context |
Remarks
If no person-related restriction has been set, the whole person subtree will disappear. This is the opposite behaviour from what we get at the base ContactPersonExtender class level, where missing restrictions will cause the result set to be expanded with EVERY person for each parent contact.
In addition, all rows that DO contain person information will be marked as belonging to the 'person' entity, have the person id as the primary key, and have person navigation links.Properties
SwitchEntity
Should person rows have their entity and primary key switched to person/personId? There is no default answer, since this is rather important
Declaration
protected abstract bool SwitchEntity { get; }
Property Value
Type | Description |
---|---|
bool |
Remarks
If no person-related restriction has been set, the whole person subtree will disappear. This is the opposite behaviour from what we get at the base ContactPersonExtender class level, where missing restrictions will cause the result set to be expanded with EVERY person for each parent contact.
In addition, all rows that DO contain person information will be marked as belonging to the 'person' entity, have the person id as the primary key, and have person navigation links.SwitchNavigation
Should person rows have their link hint navigation switched to person? There is no default answer, since this is rather important
Declaration
protected abstract bool SwitchNavigation { get; }
Property Value
Type | Description |
---|---|
bool |
Remarks
If no person-related restriction has been set, the whole person subtree will disappear. This is the opposite behaviour from what we get at the base ContactPersonExtender class level, where missing restrictions will cause the result set to be expanded with EVERY person for each parent contact.
In addition, all rows that DO contain person information will be marked as belonging to the 'person' entity, have the person id as the primary key, and have person navigation links.Methods
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Conditionally set the navigation and primary key, depending on what the subclass asks for
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
Remarks
If no person-related restriction has been set, the whole person subtree will disappear. This is the opposite behaviour from what we get at the base ContactPersonExtender class level, where missing restrictions will cause the result set to be expanded with EVERY person for each parent contact.
In addition, all rows that DO contain person information will be marked as belonging to the 'person' entity, have the person id as the primary key, and have person navigation links.