Class TargetValueProvider
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[ArchiveProvider("TargetValue", 1073741823)]
public class TargetValueProvider : BufferedQueryProviderBase<ArchiveRow, TargetValueSubProvider>, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Fields
ProviderName
Declaration
public const string ProviderName = "TargetValue"
Field Value
Type | Description |
---|---|
string |
Properties
BaseClassShouldFilterColumns
Subclass contract: Return true if the base class should filter columns according to SetDesiredColumns. If this property is false, the actual ArchiveRow objects are returned; otherwise a typed copy is made and ColumnData are populated accoprding to DesiredColumns.
Declaration
protected override bool BaseClassShouldFilterColumns { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Remarks
If columns are cheap to get, the subclass can save code by leaving the filtering to this base class. Conversely, if somecolumns are expensive to calculate, the subclass should do the filtering itself to improve performance.
BaseClassShouldFilterEntities
Subclass contract: Return true if the base class should filter columns according to SetDesiredColumns. If this property is false, the actual ArchiveRow objects are returned; otherwise a typed copy is made and ColumnData are populated accoprding to DesiredColumns.
Declaration
protected override bool BaseClassShouldFilterEntities { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Remarks
If columns are cheap to get, the subclass can save code by leaving the filtering to this base class. Conversely, if somecolumns are expensive to calculate, the subclass should do the filtering itself to improve performance.
BaseClassShouldPage
Subclass contract: Return true if the base class should perform filter entities according to SetDesiredEntities. If this property is false, the result set is assumed to represent the chosen entities only.
Declaration
protected override bool BaseClassShouldPage { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Remarks
If rows are cheap to get, the subclass can save code by leaving the filtering to this base class. Conversely, if rows are expensive to calculate, the subclass should do the entity filtering itself to improve performance.
BaseClassShouldSort
Subclass contract: Return true if the base class should perform sorting according to SetOrderBy. If this property is false, the result set is assumed to be correctly ordered.
Declaration
protected override bool BaseClassShouldSort { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Methods
GetResultDataAsync(CancellationToken)
Subclass contract: Return a list of ArchiveRow items that are the current result
Declaration
protected override IAsyncEnumerable<ArchiveRow> GetResultDataAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
IAsyncEnumerable<ArchiveRow> | result list, which may be paged, sorted and column-filtered, or not, according to the abstract properties |
Overrides
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 |