Class BookingParticipantsExternalPersonProvider
Single provider channel for the Participants archives. This channel represents Persons (that are not associates in any way), specified through a reference to a booking row in appointment (not by explicit id, see the ExplicitParticipantsExternalPersonProvider for this counterpart).
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public sealed class BookingParticipantsExternalPersonProvider : ParticipantsExternalPersonProvider, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
BookingParticipantsExternalPersonProvider()
Single provider channel for the Participants archives. This channel represents Persons (that are not associates in any way), specified through a reference to a booking row in appointment (not by explicit id, see the ExplicitParticipantsExternalPersonProvider for this counterpart).
Declaration
public BookingParticipantsExternalPersonProvider()
Properties
TableToExtend
The primary table of this archive provider
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Methods
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Derived classes should implement the population of ColumnData items for columns that are NOT handled by this base class in this method. Whether a column is handled by this base class is part of its database binding information, set by the various MapXXX methods.
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | Data reader with the query result (one row) |
ArchiveRow | row | archive row to be populated |
Overrides
PostProcessQuery()
Process the special restrictions, and modify the query appropriately. Here we handle the case where an appointment restriction has been specified, and we need to set up the appointment query. If, instead, a list of person id's has been provided, that is picked up in ProcessRestrictions() at an earlier stage.
Declaration
public override void PostProcessQuery()
Overrides
Remarks
This can't be done through ProcessRestrictions, since that would be too early - the extenders are not initialized at that time and we can't ask them about things like TableToExtend. PostProcessQuery is called late in the process leading up to query execution, so everything is in place.
ProcessRestrictions()
Process restrictions to locate an ExternalPersonRestriction - this would indicate that we want to get the given invited persons, instead of reading appointment records from the database and using those as the source of invited person id's.
Declaration
protected override bool ProcessRestrictions()
Returns
Type | Description |
---|---|
bool |