Show / Hide Table of Contents

Class RelationsSearchListProvider

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Inheritance
object
RelationsSearchListProvider
Implements
IDynamicMDOProvider
ISoListProvider
ISoList
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.Lists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[DynamicMDOProviderPlugin("RelationsSearchListProvider")]
public class RelationsSearchListProvider : IDynamicMDOProvider, ISoListProvider, ISoList
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

Constructors

RelationsSearchListProvider()

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Declaration
public RelationsSearchListProvider()
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

Fields

ActiveSuffix

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Declaration
public const string ActiveSuffix = "Active"
Field Value
Type Description
string
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

PassiveSuffix

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Declaration
public const string PassiveSuffix = "Passive"
Field Value
Type Description
string
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

ProviderName

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Declaration
public const string ProviderName = "RelationsSearchListProvider"
Field Value
Type Description
string
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

Properties

HistoryInfo

History information for the supported list

Declaration
public HistoryInfo HistoryInfo { get; }
Property Value
Type Description
HistoryInfo
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

SupportedLists

Return information about all supported lists

Declaration
public HistoryInfo[] SupportedLists { get; }
Property Value
Type Description
HistoryInfo[]
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

Methods

ClearHistoryItems()

Clears the history items

Declaration
public void ClearHistoryItems()
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

ConstructAsync(string, string, int[], bool, string, bool, CancellationToken)

Phase two of two-stage list construction. To be called right after the constructor, at which point all constructors have run, and the class hierarchy is initialized.

Declaration
public Task ConstructAsync(string listName, string additionalInfo, int[] historyIDs, bool onlyReadHistory, string searchValue, bool forceFlatList, CancellationToken cancellationToken = default)
Parameters
Type Name Description
string listName

List name (though note that as implemented by MDOProviderBase, this actually has to be a real table name, so subclasses should override and convert from their list name to a real table name) (yes it's a bit messy)

string additionalInfo

Additional information to provider

int[] historyIDs

Array of history ID's; if non-null, this will BE the history; a non-null but empty array will disable reading of history altogether; a null parameter will cause history to be read from the database.

bool onlyReadHistory

if true, only history will be read.

string searchValue

If non-null, the returned list will be flat and only consist of search matches

bool forceFlatList

If true, the returned list will be flat, though it will still be filtered if grouping/filtering has been set up for the list

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

FlushCache()

Serve the active and passive texts of relations, with a given table as source (active) or destination (passive).

Declaration
public static void FlushCache()
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

GetHeadingItemsAsync(CancellationToken)

list of headings

Declaration
public Task<List<ISoListHeading>> GetHeadingItemsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<List<ISoListHeading>>
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

GetHistoryItemsAsync(CancellationToken)

list of history items

Declaration
public Task<List<ISoListItem>> GetHistoryItemsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<List<ISoListItem>>
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

GetRootItemsAsync(CancellationToken)

list of root-level items (items not under any heading)

Declaration
public Task<List<ISoListItem>> GetRootItemsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<List<ISoListItem>>
Remarks

To facilitate relation searching, we need to provide a way to choose which relation we would like to find. This provider supplies one list (dynamically named) for each table that is used as a source or destination (relationdefinition --> relationtarget).

Each relation target combination supplied by relationtarget causes the relationdefinition to appear in the correct direction, in the list for a table. Each such list is always flat.

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