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.
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists.Configuration_data_handling
Assembly: SoDataBase.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
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
BuildList(string, string, string, bool)
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 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. |
Overrides
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.MergeInCurrentConfiguration(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 void MergeInCurrentConfiguration(string guiName, object extraInfo, string ownerKeys)
Parameters
Type | Name | Description |
---|---|---|
string | guiName | Name of gui control |
object | extraInfo | |
string | ownerKeys |
Overrides
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.