Class SubContactPersonSelectionDynamicProviderSingleCriteriaGroup
Contact + Person selection archive using the selectionId as criterionmapping.
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists.Archive
Assembly: SoDataBase.dll
Syntax
[ArchiveProvider("SubContactPersonDynamicSelectionSingleCriteriaGroup", 1073741823)]
public class SubContactPersonSelectionDynamicProviderSingleCriteriaGroup : DynamicSelectionProviderBaseV2<ArchiveRow, SelectionDynamicContactExtender, PersonTableInfo>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveCombinedContactPersonProvider, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
SubContactPersonSelectionDynamicProviderSingleCriteriaGroup()
Contact + Person selection archive using the selectionId as criterionmapping.
Declaration
public SubContactPersonSelectionDynamicProviderSingleCriteriaGroup()
SubContactPersonSelectionDynamicProviderSingleCriteriaGroup(Features)
Contact + Person selection archive using the selectionId as criterionmapping.
Declaration
public SubContactPersonSelectionDynamicProviderSingleCriteriaGroup(ContactExtenderBase.Features features)
Parameters
Type | Name | Description |
---|---|---|
ContactExtenderBase.Features | features |
Fields
ProviderName
Contact + Person selection archive using the selectionId as criterionmapping.
Declaration
public const string ProviderName = "SubContactPersonDynamicSelectionSingleCriteriaGroup"
Field Value
Type | Description |
---|---|
string |
Properties
InhibitDistinctPrimaryKeys
Override this property and return TRUE if you wish to disable the check for distinct primary keys. This will save some time and space, at the cost of potential duplicate rows that would otherwise have been discarded
Declaration
public override bool InhibitDistinctPrimaryKeys { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
IsInPersonMode
IArchiveCombinedContactPersonProvider, needed by some clients to determine how to handle contact/person id pairs
Declaration
public bool IsInPersonMode { get; }
Property Value
Type | Description |
---|---|
bool |
IsPersonQuery
Contact + Person selection archive using the selectionId as criterionmapping.
Declaration
public bool IsPersonQuery { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
AcceptRow(SoDataReader)
Decide whether the current row of the passed-in _reader should be accepted or not. If false is returned, this row is skipped by the base class and never seen by the client. This method is called very early, before any ArchiveRow population, and can only rely on fields directly accessible in the Reader. On the other hand, that makes is reasonably cheap to skip rows.
If you implement this method, you MUST aslo implement RequiredPhaseOneFields() to tell the query rewriter about fields you need, otherwise they will not be present in the phase one query and you will crash.Declaration
protected override bool AcceptRow(SoDataReader reader)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader |
Returns
Type | Description |
---|---|
bool | true if the current row should be further processed |
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Override: Add a link hint to tell outsiders whether "genuine" person criteria were found (this triggers various behaviours, such as rowtype name)
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
PostProcessQuery()
This method is called after ModifyQuery has been called on all extenders, but before the query is executed. It is used for processing that needs the query to be 'complete' from the extenders, and gives the opportunity to tweak it, for instance by adding return fields needed for some particular functionality.
Declaration
public override void PostProcessQuery()
Overrides
PostProcessRow(SoDataReader, ArchiveRow)
This method is a hook that can be used by derived classes to post-process rows. It is called after all extenders have fetched their data and populated the row.
Declaration
protected override void PostProcessRow(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |