Show / Hide Table of Contents

Class ArchiveRowProvider

MDO list based on an underlying Archive Provider and search value, which is applied to the first column. One such MDO list is offered for each ArchiveProvider plugin that is registered.

Inheritance
object
ArchiveConfigurationProviderBase
ArchiveRowProvider
Implements
IDynamicMDOProvider
ISoListProvider
ISoList
Inherited Members
ArchiveConfigurationProviderBase._rootItems
ArchiveConfigurationProviderBase._headingItems
ArchiveConfigurationProviderBase._historyItems
ArchiveConfigurationProviderBase._additionalInfo
ArchiveConfigurationProviderBase.AcceptProvider(string)
ArchiveConfigurationProviderBase.MergeInCurrentConfigurationAsync(string, object)
ArchiveConfigurationProviderBase.ConstructAsync(string, string, int[], bool, string, bool, CancellationToken)
ArchiveConfigurationProviderBase.GetAllItemsAsync(CancellationToken)
ArchiveConfigurationProviderBase.GetHistoryItemsAsync(CancellationToken)
ArchiveConfigurationProviderBase.ClearHistoryItems()
ArchiveConfigurationProviderBase.GetRootItemsAsync(CancellationToken)
ArchiveConfigurationProviderBase.GetHeadingItemsAsync(CancellationToken)
ArchiveConfigurationProviderBase.HistoryInfo
ArchiveConfigurationProviderBase.SupportedLists
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists.Configuration_data_handling
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[DynamicMDOProviderPlugin("Generic MDO list provider", 1073741823)]
public class ArchiveRowProvider : ArchiveConfigurationProviderBase, IDynamicMDOProvider, ISoListProvider, ISoList
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

Constructors

ArchiveRowProvider()

MDO list based on an underlying Archive Provider and search value, which is applied to the first column. One such MDO list is offered for each ArchiveProvider plugin that is registered.

Declaration
public ArchiveRowProvider()
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

Fields

MAX_ITEMS

MDO list based on an underlying Archive Provider and search value, which is applied to the first column. One such MDO list is offered for each ArchiveProvider plugin that is registered.

Declaration
public const int MAX_ITEMS = 500
Field Value
Type Description
int
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

Properties

InternalNamePrefix

This property should return the name prefix used to build the SoList provider name from the archive data provider name

Declaration
protected override string InternalNamePrefix { get; }
Property Value
Type Description
string
Overrides
ArchiveConfigurationProviderBase.InternalNamePrefix
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

NamePrefix

The prefix used to differentiate our lists from all other MDO lists. To avoid naming collisions, if an archive is called 'activity' then the list we generate here will be called NamePrefix+'activity'. SupportedLists returns a list of the names we support (including prefix).

Declaration
public static string NamePrefix { get; }
Property Value
Type Description
string
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

Methods

BuildListAsync(string, string, string, bool, CancellationToken)

Build the list based on the parameters. Currently only flat lists are built, though some infrastructure is in place to support hierarchical lists.

Declaration
protected override Task BuildListAsync(string providerName, string additionalInfo, string searchValue, bool forceFlatList, CancellationToken cancellationToken)
Parameters
Type Name Description
string providerName

Name of provider, must match an archive list

string additionalInfo

comma-separated column list, followed by the vertical bar |, followed by one or more restrictions. Each restriction is formatted as a set of name/value pairs by the SuperOffice.CRM.ArchiveLists.ToSoListRestriction method; multiple restrictions are separated by further vertical bars.

string searchValue

Search value; if it is not null or empty, the first column from the provider must begin with this value

bool forceFlatList

Should a flat list be forced.

CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
ArchiveConfigurationProviderBase.BuildListAsync(string, string, string, bool, CancellationToken)
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

MakeAdditionalInfo(string[], ArchiveRestrictionInfo[])

Create a properly formatted 'additionalInfo' string from an array of column names and an array of restrictions

Declaration
public static string MakeAdditionalInfo(string[] columns, ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
string[] columns

Column names, in the order they should be used in the resulting list

ArchiveRestrictionInfo[] restrictions

Restrictions to be passed on to the archive provider

Returns
Type Description
string

Properly formatted additionalInfo string

Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

MakeAdditionalInfo(string[], string, ArchiveRestrictionInfo[])

Create a properly formatted 'additionalInfo' string from an array of column names and an array of restrictions

Declaration
public static string MakeAdditionalInfo(string[] columns, string extraInfoColumn, ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
string[] columns

Column names, in the order they should be used in the resulting list

string extraInfoColumn

Column to be returned in the extraInfo field of the items

ArchiveRestrictionInfo[] restrictions

Restrictions to be passed on to the archive provider

Returns
Type Description
string

Properly formatted additionalInfo string

Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

MergeInCurrentConfigurationAsync(string, object, string)

Given the name of a gui control and the current state of the MDO list and the owner keys, fetch and merge in the current state of that gui control (i.e., the currently selected controls, and current orderby constraints)

Declaration
protected override Task MergeInCurrentConfigurationAsync(string guiName, object extraInfo, string ownerKeys)
Parameters
Type Name Description
string guiName

Name of gui control

object extraInfo
string ownerKeys
Returns
Type Description
Task
Overrides
ArchiveConfigurationProviderBase.MergeInCurrentConfigurationAsync(string, object, string)
Remarks

Items will contain concatenated values of the desired columns in the order they are given. Rows will be ordered by the first possible column. If a column is of type icon in the archive provider, it will be used for the icon hint instead of being part of the item name. Tooltips from all non-icon columns are concatenated to be the tooltip for the item.

A maximum of SuperOffice.ArchiveLists.ArchiveRowProvider.MAX_ITEMS rows (currently 200) are fetched, since longer MDO lists are not really helpful. If more than 200 rows exist, then the last row will have primary key 0 and be an overflow marker.

The type field of the list item will contain the entity name, a colon, and the actual primary key of the row. If the archive provider only has one entity, then the primary key will also be used for the list item id. If the archive has more than one entity, the primary key cannot be used for the list item id since primary keys may overlap between entities. In that case, the list item id will be an arbitrary integer.

The extraInfo field may be filled with the display text from one (1) column, by specifying it last in the column list and using a semicolon instead of the comma as delimiter. For example, fullName; contactId would mean using the fullName column as the visible name, and contactId as the extraInfo. fullName, nameDepartment; contactId would give the full name, followed by a comma, followed by a contact name and department as the visible name, and the contactId as the extraInfo.

Note that complex archives may apply further restrictions by themselves - Activity Archives will apply your current Filter settings, etc. This will influence the result set. Also note that culture-dependent data, such as dates, are returned in the format set up by SuperOffice.Util.CultureDataFormatter and have to be decoded by that class before display. The resource manager system in Six.Web also has methods for decoding of complete strings that may contain such elements.

Implements

IDynamicMDOProvider
ISoListProvider
ISoList

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top