Class WebhookEntityListProvider
MDO provider that returns webhook entity types found in the webhook table. Scans the Events property across all webhooks, extracts entity names (the part before the dot), and maps them to predefined display names. Custom objects are resolved by their friendly name and listed after predefined entities. Entities not in either list are grouped as "Custom".
Inherited Members
Namespace: SuperOffice.CRM.Lists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[MDOProviderPlugin("WebhookEntityList")]
public class WebhookEntityListProvider : LiteralsOnlyBase, ISoListProvider, ISoList
Constructors
WebhookEntityListProvider(IWebhookManager)
MDO provider that returns webhook entity types found in the webhook table. Scans the Events property across all webhooks, extracts entity names (the part before the dot), and maps them to predefined display names. Custom objects are resolved by their friendly name and listed after predefined entities. Entities not in either list are grouped as "Custom".
Declaration
public WebhookEntityListProvider(IWebhookManager webhookManager)
Parameters
| Type | Name | Description |
|---|---|---|
| IWebhookManager | webhookManager |
Fields
CustomDisplayName
MDO provider that returns webhook entity types found in the webhook table. Scans the Events property across all webhooks, extracts entity names (the part before the dot), and maps them to predefined display names. Custom objects are resolved by their friendly name and listed after predefined entities. Entities not in either list are grouped as "Custom".
Declaration
public const string CustomDisplayName = "[SR_WEBHOOK_CUSTOM_EVENTS]"
Field Value
| Type | Description |
|---|---|
| string |
ProviderName
MDO provider that returns webhook entity types found in the webhook table. Scans the Events property across all webhooks, extracts entity names (the part before the dot), and maps them to predefined display names. Custom objects are resolved by their friendly name and listed after predefined entities. Entities not in either list are grouped as "Custom".
Declaration
public const string ProviderName = "WebhookEntityList"
Field Value
| Type | Description |
|---|---|
| string |
Methods
AddItemsAsync(CancellationToken)
Subclass contract: use the RawRootItems and RawHeadingItems properties to add items to your literals-only list. The base class will then perform any search or flattening required.
Declaration
protected override Task AddItemsAsync(CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task |
Overrides
Remarks
Lists that only contain literals can be either flat or grouped. If you create a grouped list and the caller specifies a forceFlatList attribute, the base class will do the flattening for you.
Examples
This example shows a typical implementation of a literal list, in this case the date interval list from the Filter dialog:
[MDOProviderPlugin( "FilterFutureDate" )]
public class FilterFutureDateList : LiteralsOnlyBase
{
protected override void AddItems()
{
RawRootItems.Add( new SoListItem( 1, "[SR_DATE_RANGE_3MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 2, "[SR_DATE_RANGE_4MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 3, "[SR_DATE_RANGE_6MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 4, "[SR_DATE_RANGE_1YEAR]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 5, "[SR_DATE_RANGE_2YEAR]", string.Empty, string.Empty ) );
}
}
Note that using a search in this case yields unexpected results. The search is performed on the raw items, which contains resource tags - and that is not what you actually want to search against. So resources + search do not go together.