Class PersonContactExtender
This class extends a Person archive provider extender with its parent Contact (and thereby all subtables of contact as well)
Inheritance
System.Object
PersonContactExtender
Implements
Inherited Members
ExtensibleColumnsBase.MapReturnField(ArchiveSelect, FieldInfo, Boolean, String, ArchiveColumnInfo[])
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public class PersonContactExtender : ContactExtenderBase, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin
Constructors
PersonContactExtender()
Construct the object using the default options, which give a deep contact
Declaration
public PersonContactExtender()
PersonContactExtender(ContactExtenderBase.Features)
Construct the object using the given options
Declaration
public PersonContactExtender(ContactExtenderBase.Features features)
Parameters
Type | Name | Description |
---|---|---|
ContactExtenderBase.Features | features |
Methods
SetJoin()
Set up the join for a person's contact
Declaration
protected override ContactTableInfo SetJoin()
Returns
Type | Description |
---|---|
ContactTableInfo | TableInfo instance of the newly joined-in table |
Overrides
SuperOffice.CRM.ArchiveLists.ExtenderBase<SuperOffice.CRM.Data.ContactTableInfo>.SetJoin()
Remarks
The join is always set up as INNER, since a person by definition must be connected to a contact. In particular, when a contact is deleted, its persons, project members etc are NOT cascade deleted, and so the only way to filter out person that are implicitly deleted (by being dependent on a contact that HAS been deleted) is to inner-join to contact.
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)