Show / Hide Table of Contents

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
object
ExtensibleColumnsBase
QueryProviderBaseArchiveRow
ParticipantsSubProviderBase
ParticipantsExternalPersonProvider
BookingParticipantsExternalPersonProvider
Implements
IArchiveProviderQueryMapping
IArchiveQueryProvider
IArchiveProviderExtensible
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
ParticipantsExternalPersonProvider.PrimaryTable
ParticipantsExternalPersonProvider.Query
ParticipantsSubProviderBase.ColumnEmail
ParticipantsSubProviderBase.ColumnSeen
ParticipantsSubProviderBase.ColumnStatus
ParticipantsSubProviderBase.ColumnIcon
ParticipantsSubProviderBase.ColumnParticipantPersonId
ParticipantsSubProviderBase.ColumnParticipantAssociateId
ParticipantsSubProviderBase.ColumnRejectReason
ParticipantsSubProviderBase.LinkHintMail
ParticipantsSubProviderBase.LinkHintParticipant
ParticipantsSubProviderBase.IsExplicit
QueryProviderBase<ArchiveRow>.InnerSetRestriction(ArchiveRestrictionInfo[])
QueryProviderBase<ArchiveRow>.InnerMapFieldsAsync(CancellationToken)
QueryProviderBase<ArchiveRow>.SetDesiredColumns(params string[])
QueryProviderBase<ArchiveRow>.GetAllExtenders()
QueryProviderBase<ArchiveRow>.AddInhibitedStyleHint(string)
QueryProviderBase<ArchiveRow>.Close()
QueryProviderBase<ArchiveRow>.GetReaderAsync(string, CancellationToken)
QueryProviderBase<ArchiveRow>.GetRowsAsync(string, CancellationToken)
QueryProviderBase<ArchiveRow>.GetResultInformationAsync()
QueryProviderBase<ArchiveRow>.SetRestriction(params ArchiveRestrictionInfo[])
QueryProviderBase<ArchiveRow>.SetOrderBy(ArchiveOrderByInfo[])
QueryProviderBase<ArchiveRow>.SetPagingInfo(int, int)
QueryProviderBase<ArchiveRow>.GetAvailableEntities()
QueryProviderBase<ArchiveRow>.SetDesiredEntities(params string[])
QueryProviderBase<ArchiveRow>.RootQuery
QueryProviderBase<ArchiveRow>.OrderBySlots
QueryProviderBase<ArchiveRow>.InhibitDistinctPrimaryKeys
ExtensibleColumnsBase.GetAllRestriction
ExtensibleColumnsBase.GetNoneRestriction
ExtensibleColumnsBase.GetNameOrOverrideName(string)
ExtensibleColumnsBase.SetParent(IArchiveProviderExtensible)
ExtensibleColumnsBase.GetAvailableColumns()
ExtensibleColumnsBase.SetOrderByMapping(string, params string[])
ExtensibleColumnsBase.SetOrderByMapping(ArchiveColumnInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.SetPrefixes(string, string)
ExtensibleColumnsBase.SetLocalAbsolutePrefixes(string, string)
ExtensibleColumnsBase.SetIconHint(string)
ExtensibleColumnsBase.AddLocalRestriction(params ArchiveRestrictionInfo[])
ExtensibleColumnsBase.AddExtensionProvider(IArchiveExtender)
ExtensibleColumnsBase.GetExtensionProviders()
ExtensibleColumnsBase.GetTableInfosFromExtensionProviders()
ExtensibleColumnsBase.PopulateRowFromReaderAsync(SoDataReader, ArchiveRow, CancellationToken)
ExtensibleColumnsBase.AddColumnNameOverride(string, string)
ExtensibleColumnsBase.IsQueryNeeded()
ExtensibleColumnsBase.IsQueryRestriction()
ExtensibleColumnsBase.CalculateOrderbyValue(string, SoDataReader, ArchiveColumnData)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, FieldInfo)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, int)
ExtensibleColumnsBase.ForceDisable()
ExtensibleColumnsBase.GetArchiveColumnName(SoField)
ExtensibleColumnsBase.Parent
ExtensibleColumnsBase.IdField
ExtensibleColumnsBase.ParentPrimaryKey
ExtensibleColumnsBase.NamePrefix
ExtensibleColumnsBase.DisplayNamePrefix
ExtensibleColumnsBase.PopulateDisplayValue
ExtensibleColumnsBase.PopulateTooltipHint
ExtensibleColumnsBase.DebugXML
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
Namespace: SuperOfficeCRMArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public sealed class BookingParticipantsExternalPersonProvider : ParticipantsExternalPersonProvider, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities

Constructors

BookingParticipantsExternalPersonProvider()

Declaration
public BookingParticipantsExternalPersonProvider()

Properties

TableToExtend

The primary table of this archive provider

Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type Description
TableInfo
Overrides
QueryProviderBase<ArchiveRow>.TableToExtend

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
ParticipantsExternalPersonProvider.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)

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
ParticipantsExternalPersonProvider.PostProcessQuery()
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
Overrides
ExtensibleColumnsBase.ProcessRestrictions()

Implements

IArchiveProviderQueryMapping
IArchiveQueryProvider
IArchiveProviderExtensible
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
IArchiverProviderHasRowsExtensions.GetRowsAsync(IArchiveProviderHasRows, CancellationToken)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top