Show / Hide Table of Contents

Class MultiQueryProviderBaseWithRestrictionGroups

Base for providers with OR-able restriction groups.

Inheritance
object
MultiQueryProviderBase
MultiQueryProviderBaseWithRestrictionGroups
ConfigurableArchiveProvider
DynamicSelectionMultiCriteriaGroupBase
FindErpProductSearchProvider
SaintProviderWithRestrictionGroupSupport
Implements
IArchiveMultiQueryProvider
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
MultiQueryProviderBase.InnerPopulateRow(ArchiveRow)
MultiQueryProviderBase.AcceptRow(ArchiveRow)
MultiQueryProviderBase.PreGetRows()
MultiQueryProviderBase.GetFinalRowCount()
MultiQueryProviderBase.AddSubProvider<ProviderType>(ProviderType)
MultiQueryProviderBase.RemoveSubProvider<ProviderType>(ProviderType)
MultiQueryProviderBase.SetRestrictionAndDropUnrestrictedProviders(ArchiveRestrictionInfo[])
MultiQueryProviderBase.CreateAndAddProvidersAsync(MultiQueryProviderBase.AddProviderInfo[])
MultiQueryProviderBase.Close()
MultiQueryProviderBase.GetReaderAsync(string, CancellationToken)
MultiQueryProviderBase.GetResultInformationAsync()
MultiQueryProviderBase.SetPagingInfo(int, int)
MultiQueryProviderBase.GetAvailableColumns()
MultiQueryProviderBase.GetAvailableEntities()
MultiQueryProviderBase.InhibitParallelStart
MultiQueryProviderBase.Options
MultiQueryProviderBase.OrderBy
MultiQueryProviderBase.InhibitDistinctPrimaryKeys
MultiQueryProviderBase.OrderByRequiresAll
MultiQueryProviderBase.RestrictionRequiresAll
MultiQueryProviderBase.OrderByRequired
MultiQueryProviderBase.RestrictionHelper
MultiQueryProviderBase.ColumnHelper
MultiQueryProviderBase.PageSize
MultiQueryProviderBase.PageNumber
MultiQueryProviderBase.HaveReadToEnd
MultiQueryProviderBase.Providers
MultiQueryProviderBase.DebugXML
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public abstract class MultiQueryProviderBaseWithRestrictionGroups : MultiQueryProviderBase, IArchiveMultiQueryProvider, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities

Constructors

MultiQueryProviderBaseWithRestrictionGroups()

Base for providers with OR-able restriction groups.

Declaration
public MultiQueryProviderBaseWithRestrictionGroups()

MultiQueryProviderBaseWithRestrictionGroups(string)

Base for providers with OR-able restriction groups.

Declaration
public MultiQueryProviderBaseWithRestrictionGroups(string tableName)
Parameters
Type Name Description
string tableName

MultiQueryProviderBaseWithRestrictionGroups(string, string)

Base for providers with OR-able restriction groups.

Declaration
public MultiQueryProviderBaseWithRestrictionGroups(string tableName, string context)
Parameters
Type Name Description
string tableName
string context

Properties

RestrictionStorageKey

Base for providers with OR-able restriction groups.

Declaration
protected abstract string RestrictionStorageKey { get; }
Property Value
Type Description
string

StorageKeyRestrictionName

Base for providers with OR-able restriction groups.

Declaration
protected abstract string StorageKeyRestrictionName { get; }
Property Value
Type Description
string

SubProviderName

Base for providers with OR-able restriction groups.

Declaration
protected abstract string SubProviderName { get; }
Property Value
Type Description
string

Methods

GetFirstProvider()

Base for providers with OR-able restriction groups.

Declaration
protected IArchiveProvider GetFirstProvider()
Returns
Type Description
IArchiveProvider

GetRowsAsync(string, CancellationToken)

Get the result enumerator. Accessing this enumerator will cause all sub query providers to be initialized in parallell (subject to global thread limits), rows will be skipped according to the current page settings, and results will come in the order specified by the current order by settings. Restrictions, desired columns, entities etc must be set before accessing this property.

Declaration
public override IAsyncEnumerable<ArchiveRow> GetRowsAsync(string options, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string options
CancellationToken cancellationToken
Returns
Type Description
IAsyncEnumerable<ArchiveRow>
Overrides
MultiQueryProviderBase.GetRowsAsync(string, CancellationToken)

ModifyRestrictionGroup(IArchiveProvider, ArchiveRestrictionInfo[])

Base for providers with OR-able restriction groups.

Declaration
protected virtual ArchiveRestrictionInfo[] ModifyRestrictionGroup(IArchiveProvider provider, ArchiveRestrictionInfo[] resGroup)
Parameters
Type Name Description
IArchiveProvider provider
ArchiveRestrictionInfo[] resGroup
Returns
Type Description
ArchiveRestrictionInfo[]

SetDesiredColumns(params string[])

Store the desired columns, so they don't get lost until SetRestrictions tells us what to do

Declaration
public override void SetDesiredColumns(params string[] columnIds)
Parameters
Type Name Description
string[] columnIds
Overrides
MultiQueryProviderBase.SetDesiredColumns(params string[])

SetDesiredEntities(params string[])

Store the desired entities, so they don't get lost until SetRestrictions tells us what to do

Declaration
public override void SetDesiredEntities(params string[] entities)
Parameters
Type Name Description
string[] entities
Overrides
MultiQueryProviderBase.SetDesiredEntities(params string[])

SetOrderBy(ArchiveOrderByInfo[])

Store the orderby, so they don't get lost until SetRestrictions tells us what to do

Declaration
public override void SetOrderBy(ArchiveOrderByInfo[] orderBy)
Parameters
Type Name Description
ArchiveOrderByInfo[] orderBy
Overrides
MultiQueryProviderBase.SetOrderBy(ArchiveOrderByInfo[])

SetRestriction(ArchiveRestrictionInfo[])

Mandatory restriction selectionId is used to retrieve the actual restrictions, instantiate providers and set up the whole system

Declaration
public override bool SetRestriction(ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
Returns
Type Description
bool
Overrides
MultiQueryProviderBase.SetRestriction(ArchiveRestrictionInfo[])

Implements

IArchiveMultiQueryProvider
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities

Extension Methods

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