Show / Hide Table of Contents

Class TargetTypeProvider

Inheritance
object
LiteralsOnlyBase
TargetTypeProvider
Implements
ISoListProvider
ISoList
Inherited Members
LiteralsOnlyBase.AddRawRootEnum<TEnum>(TEnum, string, bool)
LiteralsOnlyBase.ConstructAsync(string, string, int[], bool, string, bool, CancellationToken)
LiteralsOnlyBase.GetHistoryItemsAsync(CancellationToken)
LiteralsOnlyBase.ClearHistoryItems()
LiteralsOnlyBase.GetRootItemsAsync(CancellationToken)
LiteralsOnlyBase.GetHeadingItemsAsync(CancellationToken)
LiteralsOnlyBase.ListName
LiteralsOnlyBase.ExtraInfo
LiteralsOnlyBase.SearchValue
LiteralsOnlyBase.ForceFlatList
LiteralsOnlyBase.RawRootItems
LiteralsOnlyBase.RawHeadingItems
LiteralsOnlyBase.RawHistoryItems
LiteralsOnlyBase.HistoryIds
LiteralsOnlyBase.OnlyReadHistory
LiteralsOnlyBase.HistoryInfo
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
[MDOProviderPlugin("TargetTypes")]
[MDOAdditionalInfoSeparator("&")]
[MDOAdditionalInfo("TargetEntityType", "The entity type for which to return target types. (Sale, Project, Selection, etc.)", "")]
[MDOAdditionalInfo("IncludeAll", "Include All item.", false)]
[MDOAdditionalInfo("IncludeAll", "Include invalid choices (already used for all measure types).", false)]
public class TargetTypeProvider : LiteralsOnlyBase, ISoListProvider, ISoList

Constructors

TargetTypeProvider()

Declaration
public TargetTypeProvider()

Fields

ProviderName

Declaration
public const string ProviderName = "TargetTypes"
Field Value
Type Description
string

_contactRoot

Declaration
protected SoListHeading _contactRoot
Field Value
Type Description
SoListHeading

_id

Declaration
protected int _id
Field Value
Type Description
int

_saleRoot

Declaration
protected SoListHeading _saleRoot
Field Value
Type Description
SoListHeading

c_includeAllKey

Declaration
public const string c_includeAllKey = "IncludeAll"
Field Value
Type Description
string

c_includeInvalid

Declaration
public const string c_includeInvalid = "IncludeInvalid"
Field Value
Type Description
string

c_targetEntityTypeKey

Declaration
public const string c_targetEntityTypeKey = "TargetEntityType"
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)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
LiteralsOnlyBase.AddItemsAsync(CancellationToken)
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.

FieldToProviderColName(FieldInfo)

Declaration
public static string FieldToProviderColName(FieldInfo field)
Parameters
Type Name Description
FieldInfo field
Returns
Type Description
string

IsUnique(TargetEntityType, TargetMeasurementUnit, string, int)

Declaration
public static bool IsUnique(TargetEntityType entityType, TargetMeasurementUnit measurementUnit, string listField, int id)
Parameters
Type Name Description
TargetEntityType entityType
TargetMeasurementUnit measurementUnit
string listField
int id
Returns
Type Description
bool

ProviderColNameToField(TargetEntityType, string)

Declaration
public static FieldInfo ProviderColNameToField(TargetEntityType targetEntityType, string providerColName)
Parameters
Type Name Description
TargetEntityType targetEntityType
string providerColName
Returns
Type Description
FieldInfo

ProviderColumnToListInfoAsync(TargetEntityType, string, CancellationToken)

Declaration
public static Task<(string listName, string listLabel, int listId, int listTableId)> ProviderColumnToListInfoAsync(TargetEntityType targetEntityType, string colName, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TargetEntityType targetEntityType
string colName
CancellationToken cancellationToken
Returns
Type Description
Task<(string listName, string listLabel, int listId, int listTableId)>

Implements

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