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.MergeInCurrentConfiguration(String, Object)
ArchiveConfigurationProviderBase.Construct(String, String, Int32[], Boolean, String, Boolean)
ArchiveConfigurationProviderBase.AllItems
ArchiveConfigurationProviderBase.HistoryInfo
ArchiveConfigurationProviderBase.SupportedLists
ArchiveConfigurationProviderBase.HistoryItems
ArchiveConfigurationProviderBase.RootItems
ArchiveConfigurationProviderBase.HeadingItems
Namespace: SuperOffice.CRM.ArchiveLists.Configuration_data_handling
Assembly: SoDataBase.dll
Syntax
[DynamicMDOProviderPlugin("Generic MDO list provider", 1073741823)]
public class ArchiveRowProvider : ArchiveConfigurationProviderBase, IDynamicMDOProvider, ISoListProvider, ISoList, IPlugin
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 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 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 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 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
Int32
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 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 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

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
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 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 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'. 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 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 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

BuildList(String, String, String, Boolean)

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 void BuildList(string providerName, string additionalInfo, string searchValue, bool forceFlatList)
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 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

Boolean forceFlatList

Should a flat list be forced.

Overrides
ArchiveConfigurationProviderBase.BuildList(String, String, String, Boolean)
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 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 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 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 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 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 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.

MergeInCurrentConfiguration(String, Object, String)

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
protected override void MergeInCurrentConfiguration(string guiName, object extraInfo, string ownerKeys)
Parameters
Type Name Description
String guiName
Object extraInfo
String ownerKeys
Overrides
ArchiveConfigurationProviderBase.MergeInCurrentConfiguration(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 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 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)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top