Class ExtensibleHelperAsync
This helper class provides functionality for keeping track of extenders to the client class, i.e., the Extensible property of archive providers. It has the list of current extenders, merges column names, and passes calls such as SetOrderBy to its extenders.
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public class ExtensibleHelperAsync
Constructors
ExtensibleHelperAsync(IArchiveProviderExtensible)
This helper class provides functionality for keeping track of extenders to the client class, i.e., the Extensible property of archive providers. It has the list of current extenders, merges column names, and passes calls such as SetOrderBy to its extenders.
Declaration
public ExtensibleHelperAsync(IArchiveProviderExtensible owner)
Parameters
Type | Name | Description |
---|---|---|
IArchiveProviderExtensible | owner |
Methods
AddExtender(IArchiveExtender)
Add an extender class to the client class we work on behalf of
Declaration
public void AddExtender(IArchiveExtender extender)
Parameters
Type | Name | Description |
---|---|---|
IArchiveExtender | extender | Extender to be added |
ExtendersNeedQuery()
Determine if any of the extenders' queries are needed (which generally implies that the provider that is being extended is also needed to avoid gaps in the query join chain).
Declaration
public bool ExtendersNeedQuery()
Returns
Type | Description |
---|---|
bool | true if at least one extender reports that its query is needed |
MergeAvailableColumns(List<ArchiveColumnInfo>)
Update and get the list of columns handled by this provider. The incoming parameter is updated with any columns provided by all known extenders, duplicates are ignored.
Declaration
public void MergeAvailableColumns(List<ArchiveColumnInfo> parentColumns)
Parameters
Type | Name | Description |
---|---|---|
List<ArchiveColumnInfo> | parentColumns | List to be updated |
ModifyQuery()
Invoke the ModifyQuery method on all known extenders
Declaration
public void ModifyQuery()
PopulateRowFromReader(SoDataReader, ArchiveRow)
Invoke the PopulateRowFromReader method on all known extenders
Declaration
public void PopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | Data reader with one row of the query result |
ArchiveRow | row | Archive data row being built |
SetDesiredColumns(string[])
Set which columns should actually be returned. The column list is passed on to all known extenders.
Declaration
public void SetDesiredColumns(string[] columnIds)
Parameters
Type | Name | Description |
---|---|---|
string[] | columnIds | Array of column ID's representing the desired columns |
SetOrderBy(ArchiveOrderByInfo[])
Set the order by information. The array of order by items is passed on to all known extenders
Declaration
public void SetOrderBy(ArchiveOrderByInfo[] orderBy)
Parameters
Type | Name | Description |
---|---|---|
ArchiveOrderByInfo[] | orderBy | Array of order by items |
SetPrefixes(string, string)
Set the name and display name prefixes. The prefixes are passed on to all known extenders
Declaration
public void SetPrefixes(string namePrefix, string displayNamePrefix)
Parameters
Type | Name | Description |
---|---|---|
string | namePrefix | Name prefix, can be null or empty |
string | displayNamePrefix | Display name prefix, can be null or empty |
SetRestriction(ArchiveRestrictionInfo[])
Set the restriction. The array of restrictions is passed on to all known extenders
Declaration
public bool SetRestriction(ArchiveRestrictionInfo[] restrictions)
Parameters
Type | Name | Description |
---|---|---|
ArchiveRestrictionInfo[] | restrictions |
Returns
Type | Description |
---|---|
bool |