Show / Hide Table of Contents

Class SubContactPersonSelectionDynamicProviderSingleCriteriaGroup

Contact + Person selection archive using the selectionId as criterionmapping.

Inheritance
object
ExtensibleColumnsBase
QueryProviderBase<ArchiveRow>
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>
DynamicSelectionProviderBaseV2<ArchiveRow, SelectionDynamicContactExtender, PersonTableInfo>
SubContactPersonSelectionDynamicProviderSingleCriteriaGroup
Implements
IArchiveProviderQueryMapping
IArchiveQueryProvider
IArchiveProviderExtensible
IArchiveTypedProvider<ArchiveRow>
IArchiveTypedProviderBase
IArchiveCombinedContactPersonProvider
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
DynamicSelectionProviderBaseV2<ArchiveRow, SelectionDynamicContactExtender, PersonTableInfo>.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.HandleDynamicExtenders(IArchiveExtender)
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.GetRowsAsync(string, CancellationToken)
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.GetStandardColumnNames()
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.SetAdditionalColumns(params string[])
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.BaseExtender
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.ProviderNameFromAttribute
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.RootExtenders
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.PrimaryTable
TypedQueryProviderBase<ArchiveRow, SelectionDynamicContactExtender>.Query
QueryProviderBase<ArchiveRow>._colGetAllRows
QueryProviderBase<ArchiveRow>._colGetNoRows
QueryProviderBase<ArchiveRow>._pageSize
QueryProviderBase<ArchiveRow>._pageNumber
QueryProviderBase<ArchiveRow>.InnerSetRestriction(ArchiveRestrictionInfo[])
QueryProviderBase<ArchiveRow>.InnerMapFieldsAsync(CancellationToken)
QueryProviderBase<ArchiveRow>.HandleDynamicExtenders(IArchiveExtender)
QueryProviderBase<ArchiveRow>.GetFinalRowCount()
QueryProviderBase<ArchiveRow>.SetDesiredColumns(params string[])
QueryProviderBase<ArchiveRow>.GetAllExtenders()
QueryProviderBase<ArchiveRow>.OverrideValueIfBlank(ArchiveRow, string, string)
QueryProviderBase<ArchiveRow>.AddInhibitedStyleHint(string)
QueryProviderBase<ArchiveRow>.RequiredPhaseOneFields()
QueryProviderBase<ArchiveRow>.CreateArchiveRow(string, int)
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>.GetEntityName(SoDataReader)
QueryProviderBase<ArchiveRow>.SetPagingInfo(int, int)
QueryProviderBase<ArchiveRow>.ConvertToTypedRowsAsync(IAsyncEnumerable<ArchiveRow>)
QueryProviderBase<ArchiveRow>.GetAvailableEntities()
QueryProviderBase<ArchiveRow>.SetDesiredEntities(params string[])
QueryProviderBase<ArchiveRow>.RegisterEntity(ArchiveRowTypeInfo)
QueryProviderBase<ArchiveRow>.PrimaryKey
QueryProviderBase<ArchiveRow>.InhibitTwoPhaseQuery
QueryProviderBase<ArchiveRow>.DropTablesFromPhaseTwo
QueryProviderBase<ArchiveRow>.RootQuery
QueryProviderBase<ArchiveRow>.TableToExtend
QueryProviderBase<ArchiveRow>.OrderBySlots
QueryProviderBase<ArchiveRow>.PrimaryTable
QueryProviderBase<ArchiveRow>.Query
QueryProviderBase<ArchiveRow>.RootExtenders
QueryProviderBase<ArchiveRow>.HaveReadToEnd
QueryProviderBase<ArchiveRow>.ValueOverrides
ExtensibleColumnsBase._orderBy
ExtensibleColumnsBase._minuteFields
ExtensibleColumnsBase.Visible
ExtensibleColumnsBase.Invisible
ExtensibleColumnsBase.AllowOrderBy
ExtensibleColumnsBase.DenyOrderBy
ExtensibleColumnsBase.GetAllRestriction
ExtensibleColumnsBase.GetNoneRestriction
ExtensibleColumnsBase.GetNameOrOverrideName(string)
ExtensibleColumnsBase.SetParent(IArchiveProviderExtensible)
ExtensibleColumnsBase.AddAvailableColumn(params ArchiveColumnInfo[])
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.SuppressTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.SuppressDeepTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.AddColumnNameOverride(string, string)
ExtensibleColumnsBase.ApplyColumnNameOverridesToRestrictions()
ExtensibleColumnsBase.ApplyColumnNameOverrides(ArchiveRow)
ExtensibleColumnsBase.AddSubExtenderMapping(string, params ExtensibleColumnsBase[])
ExtensibleColumnsBase.WantColumnForOutput(params string[])
ExtensibleColumnsBase.WantColumnForOutput(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOutput(List<ArchiveColumnInfo>)
ExtensibleColumnsBase.WantColumnForRestriction(params string[])
ExtensibleColumnsBase.WantColumnForRestriction(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOrderBy(params string[])
ExtensibleColumnsBase.GetColumnOrderBy(string)
ExtensibleColumnsBase.WantColumnForOrderBy(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForAnything(params string[])
ExtensibleColumnsBase.WantColumnForAnything(params ArchiveColumnInfo[])
ExtensibleColumnsBase.IsQueryNeeded()
ExtensibleColumnsBase.IsQueryRestriction()
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.SetLeftOuterJoin(Equal)
ExtensibleColumnsBase.SetLeftOuterJoin(Equal, Restriction)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.MapReturnField(ArchiveSelect, FieldInfo, bool, string, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapIdField(FieldInfo)
ExtensibleColumnsBase.MapAssociateField(FieldInfo, ArchiveColumnInfo, bool)
ExtensibleColumnsBase.MapEjUserField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.MapSimpleReturnField(FieldInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleImageField(FieldInfo, ArchiveColumnInfo, int, int)
ExtensibleColumnsBase.MapPictureBlob(FieldInfo, ArchiveColumnInfo, BlobLinkType, int, int, int)
ExtensibleColumnsBase.MapSimpleCustomField(FieldInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleListReturnField(FieldInfo, string, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapOrderByField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.ActivateAsLinkField(string, params ArchiveColumnInfo[])
ExtensibleColumnsBase.HasAvailableColumn(string)
ExtensibleColumnsBase.AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType, string, string)
ExtensibleColumnsBase.AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType)
ExtensibleColumnsBase.HasRestriction(string)
ExtensibleColumnsBase.ExtractRestrictions(string)
ExtensibleColumnsBase.ExtractRestrictions(ArchiveColumnInfo)
ExtensibleColumnsBase.ExtractRestriction(string)
ExtensibleColumnsBase.ExtractRestriction(ArchiveColumnInfo)
ExtensibleColumnsBase.ProcessRestrictions()
ExtensibleColumnsBase.ProcessOrderBy()
ExtensibleColumnsBase.PopulateSimpleFieldsAsync(SoDataReader, ArchiveRow, CancellationToken)
ExtensibleColumnsBase.CalculateOrderbyValue(string, SoDataReader, ArchiveColumnData)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, FieldInfo)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, int)
ExtensibleColumnsBase.ForceDisable()
ExtensibleColumnsBase.GetAssociateData(int)
ExtensibleColumnsBase.GetEjUserData(int)
ExtensibleColumnsBase.GetColumnIndex(ArchiveColumnInfo)
ExtensibleColumnsBase.GetColumnIndexFromReader(SoDataReader, FieldInfo, ref int)
ExtensibleColumnsBase.ConvertDbTypeToString(object, ExtensibleColumnsBase.DbColumnBinding)
ExtensibleColumnsBase.GetStandardTooltipHint(SoDataReader, FieldInfo)
ExtensibleColumnsBase.GetLinkHint(SoDataReader, string)
ExtensibleColumnsBase.SetNonZeroBoolRestriction(ArchiveColumnInfo)
ExtensibleColumnsBase.AddUpdatedByMapping(ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddRegisteredMapping(ArchiveColumnInfo, FieldInfo, ArchiveColumnInfo, FieldInfo)
ExtensibleColumnsBase.AddLastUpdatedMapping(ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddUpdatedBy(SoDataReader, ArchiveRow, ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddUpdatedDate(SoDataReader, ArchiveRow, ArchiveColumnInfo, FieldInfo, FieldInfo, bool)
ExtensibleColumnsBase.AddAssociateFullName(SoDataReader, ArchiveRow, ArchiveColumnInfo, params FieldInfo[])
ExtensibleColumnsBase.GetIdFieldTag(SoDataReader)
ExtensibleColumnsBase.GetArchiveColumnName(SoField)
ExtensibleColumnsBase.ExtensibleHelper
ExtensibleColumnsBase.ColumnHelper
ExtensibleColumnsBase.RestrictionHelper
ExtensibleColumnsBase.Parent
ExtensibleColumnsBase.DisableSubtreeIfNoRestriction
ExtensibleColumnsBase.RestrictionSetForSubtree
ExtensibleColumnsBase.ForceQueryNeeded
ExtensibleColumnsBase.ForceRestriction
ExtensibleColumnsBase.BlockOrderBy
ExtensibleColumnsBase.IdField
ExtensibleColumnsBase.LastSubExtenderWins
ExtensibleColumnsBase.ParentPrimaryKey
ExtensibleColumnsBase.QuoteAlternativeId
ExtensibleColumnsBase.SaleId
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()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists.Archive
Assembly: SoDataBase.BusinessLogic.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, string)

Contact + Person selection archive using the selectionId as criterionmapping.

Declaration
public SubContactPersonSelectionDynamicProviderSingleCriteriaGroup(ContactExtenderBase.Features features, string context = "")
Parameters
Type Name Description
ContactExtenderBase.Features features
string context

SubContactPersonSelectionDynamicProviderSingleCriteriaGroup(string)

Contact + Person selection archive using the selectionId as criterionmapping.

Declaration
public SubContactPersonSelectionDynamicProviderSingleCriteriaGroup(string context)
Parameters
Type Name Description
string context

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
QueryProviderBase<ArchiveRow>.InhibitDistinctPrimaryKeys

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
QueryProviderBase<ArchiveRow>.AcceptRow(SoDataReader)

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
DynamicSelectionProviderBaseV2<ArchiveRow, SelectionDynamicContactExtender, PersonTableInfo>.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)

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
QueryProviderBase<ArchiveRow>.PostProcessQuery()

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
Overrides
QueryProviderBase<ArchiveRow>.PostProcessRow(SoDataReader, ArchiveRow)

Implements

IArchiveProviderQueryMapping
IArchiveQueryProvider
IArchiveProviderExtensible
IArchiveTypedProvider<StronglyTypedRow>
IArchiveTypedProviderBase
IArchiveCombinedContactPersonProvider
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