Show / Hide Table of Contents

Class BufferedQueryProviderBase<RowType, InnerProviderType>

Inheritance
object
InMemoryProviderBase<RowType>
TypedInMemoryProviderBase<RowType>
BufferedQueryProviderBase<RowType, InnerProviderType>
EntityFilteredQueryProviderBase<RowType, InnerProvider>
InvitationProvider
ParticipantsWithConflictRemovalProvider
TargetValueProvider
Implements
IArchiveTypedProvider<RowType>
IArchiveTypedProviderBase
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
TypedInMemoryProviderBase<RowType>.GetRowsAsync(string, CancellationToken)
TypedInMemoryProviderBase<RowType>.GetStandardColumnNames()
TypedInMemoryProviderBase<RowType>.SetAdditionalColumns(params string[])
InMemoryProviderBase<RowType>._entityHelper
InMemoryProviderBase<RowType>.Visible
InMemoryProviderBase<RowType>.Invisible
InMemoryProviderBase<RowType>.AllowOrderBy
InMemoryProviderBase<RowType>.DenyOrderBy
InMemoryProviderBase<RowType>.Options
InMemoryProviderBase<RowType>.GetResultDataAsync(CancellationToken)
InMemoryProviderBase<RowType>.RegisterEntity(ArchiveRowTypeInfo)
InMemoryProviderBase<RowType>.GetReaderAsync(string, CancellationToken)
InMemoryProviderBase<RowType>.GetResultInformationAsync()
InMemoryProviderBase<RowType>.SortData(List<RowType>)
InMemoryProviderBase<RowType>.Close()
InMemoryProviderBase<RowType>.EntityHelper
InMemoryProviderBase<RowType>.ColumnHelper
InMemoryProviderBase<RowType>.BaseClassShouldFilterColumns
InMemoryProviderBase<RowType>.BaseClassShouldFilterEntities
InMemoryProviderBase<RowType>.BaseClassShouldPage
InMemoryProviderBase<RowType>.BaseClassShouldSort
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 BufferedQueryProviderBase<RowType, InnerProviderType> : TypedInMemoryProviderBase<RowType>, IArchiveTypedProvider<RowType>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities where RowType : ArchiveRow, new() where InnerProviderType : IArchiveProvider, new()
Type Parameters
Name Description
RowType
InnerProviderType

Constructors

BufferedQueryProviderBase()

Declaration
protected BufferedQueryProviderBase()

Properties

AdditionalDesiredColumns

Declaration
protected virtual string[] AdditionalDesiredColumns { get; }
Property Value
Type Description
string[]

ExternalDesiredColumns

Declaration
protected string[] ExternalDesiredColumns { get; }
Property Value
Type Description
string[]

InnerOrderBy

Declaration
protected virtual ArchiveOrderByInfo[] InnerOrderBy { get; }
Property Value
Type Description
ArchiveOrderByInfo[]

InnerProvider

Declaration
protected InnerProviderType InnerProvider { get; }
Property Value
Type Description
InnerProviderType

Methods

GetAvailableColumns()

Get the list of columns handled by this provider

Declaration
public override List<ArchiveColumnInfo> GetAvailableColumns()
Returns
Type Description
List<ArchiveColumnInfo>
Overrides
InMemoryProviderBase<RowType>.GetAvailableColumns()

GetAvailableEntities()

Get the list of entities supported by this provider

Declaration
public override List<ArchiveRowTypeInfo> GetAvailableEntities()
Returns
Type Description
List<ArchiveRowTypeInfo>
Overrides
InMemoryProviderBase<RowType>.GetAvailableEntities()

SetDesiredColumns(params string[])

Override: Set desired columns, which are the externally desired columns plus whatever comes out of AdditionalDesiredColumns. If BaseClassShouldFilterColumns is true, the inner provider is asked for ALL columns (use this responsibly!!), and the filtering is left to our base class.

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

Desired column ids

Overrides
InMemoryProviderBase<RowType>.SetDesiredColumns(params string[])

SetDesiredEntities(params string[])

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

Array of entity names, semantically equivalent to ArchiveEntityInfo.Name fields.

Overrides
InMemoryProviderBase<RowType>.SetDesiredEntities(params string[])

SetOrderBy(params ArchiveOrderByInfo[])

Declaration
public override void SetOrderBy(params ArchiveOrderByInfo[] orderBy)
Parameters
Type Name Description
ArchiveOrderByInfo[] orderBy

Array of order by items

Overrides
InMemoryProviderBase<RowType>.SetOrderBy(params ArchiveOrderByInfo[])

SetPagingInfo(int, int)

Set the paging properties of the provider. The default is to fetch page zero, of one thousand (1000) rows. A more reasonable page size is probably around 100. Note that the query processing strategy may change for very large pages (more than 1000) and give significantly longer response times. Performance is improved by setting the page size low, as long as you don't set it lower than what you realistically expect to need (fetching multiple pages is more expensive than fetching one).

Declaration
public override void SetPagingInfo(int pageSize, int pageNumber)
Parameters
Type Name Description
int pageSize

Desired page size

int pageNumber

Desired page number to return

Overrides
InMemoryProviderBase<RowType>.SetPagingInfo(int, int)

SetRestriction(params ArchiveRestrictionInfo[])

Set query restriction globally, supersedes previous restrictions

Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions

Array of restrictions, with an implicit AND between them

Returns
Type Description
bool

true if at least one of the restrictions matched one of the available columns of the provider

Overrides
InMemoryProviderBase<RowType>.SetRestriction(params ArchiveRestrictionInfo[])

Implements

IArchiveTypedProvider<StronglyTypedRow>
IArchiveTypedProviderBase
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities

Extension Methods

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