Class RelationPersonExtenderBase
Base class for extenders that handle the person part of a relation archive
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public abstract class RelationPersonExtenderBase : PersonExtenderBase, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IRowNavigationHint
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).Constructors
RelationPersonExtenderBase()
Base class for extenders that handle the person part of a relation archive
Declaration
protected RelationPersonExtenderBase()
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).RelationPersonExtenderBase(Features)
Base class for extenders that handle the person part of a relation archive
Declaration
public RelationPersonExtenderBase(PersonExtenderBase.Features features)
Parameters
Type | Name | Description |
---|---|---|
PersonExtenderBase.Features | features |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).Fields
_colRestrictionContactId
Base class for extenders that handle the person part of a relation archive
Declaration
protected ArchiveColumnInfo _colRestrictionContactId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts)._colRestrictionPersonId
Base class for extenders that handle the person part of a relation archive
Declaration
protected ArchiveColumnInfo _colRestrictionPersonId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts)._colWho
Base class for extenders that handle the person part of a relation archive
Declaration
protected ArchiveColumnInfo _colWho
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts)._personTable
Base class for extenders that handle the person part of a relation archive
Declaration
protected PersonTableInfo _personTable
Field Value
Type | Description |
---|---|
PersonTableInfo |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).Properties
TableToExtend
Return the table to extend, as defined by THIS extender class.
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).Methods
GetRowNavigationHint(SoDataReader)
Base class for extenders that handle the person part of a relation archive
Declaration
public string GetRowNavigationHint(SoDataReader reader)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader |
Returns
Type | Description |
---|---|
string |
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Override: Populate the 'who' column
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).ModifyQuery()
Override: Add the 'who' column by ordering the base class _colFullNameWithContact, which contains exactly what we'd like in the 'who'
Declaration
public override void ModifyQuery()
Overrides
Remarks
This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full person name + full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.
The DropRetiredPersons property is set from the outside to disable fetching of returned persons. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause. The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).