Class LocationListProvider
Implements the mdo provider for the list of avaiable locations. This list aggregates elements
from different sources like contact, person, associate, participants and resources to build
a list that represents all the relevant, available locations that can be used when creating
a new appointment.
The provider uses a set of name/value pairs in the additionalinfo parameter used in the construct()
function. The available names are:
ownercontactid (mandatory): id of the contact for the owner of the appointment
currentassociate (mandatory): currently logged in associate
appointmentcontactid: id of the contact in the appointment
appointmentpersonid: id of the person in the appointment
appointmentid: id of existing appointment
startdate: startdate used for conflict resolution
enddate: enddate used for conflict resolution
participantpersonidlist: comma separated list of existing participant person ids
participantassociateidlist: comma separated list of existing participant associate ids(resources)
Inheritance
LocationListProvider
Assembly: SoDataBase.dll
Syntax
[MDOProviderPlugin("location")]
[MDOAdditionalInfoSeparator(";")]
[MDOAdditionalInfo("ownercontactid", "Mandatory: id of the contact for the owner of the appointment.", 2)]
[MDOAdditionalInfo("currentassociate", "Mandatory: id of the currently logged in associate.", 2)]
[MDOAdditionalInfo("appointmentcontactid", "id of the contact in the appointment.", 2)]
[MDOAdditionalInfo("appointmentpersonid", "id of the person in the appointment.", 2)]
[MDOAdditionalInfo("appointmentid", "id of existing appointment.", 2)]
[MDOAdditionalInfo("startdate", "startdate used for conflict resolution.", 2)]
[MDOAdditionalInfo("enddate", "enddate used for conflict resolution.", 2)]
[MDOAdditionalInfo("participantpersonidlist", "comma separated list of existing participant person ids", "2,34")]
[MDOAdditionalInfo("participantassociateidlist", "comma separated list of existing participant associate ids(resources)", "2")]
public class LocationListProvider : MDOProviderBase, IEnumerable<ISoListItem>, IEnumerable, ISoListProvider, ISoList, IPlugin
Constructors
LocationListProvider()
Declaration
public LocationListProvider()
Properties
HeadingItems
Declaration
public List<ISoListHeading> HeadingItems { get; }
Property Value
HistoryInfo
History information for the supported list. This list does not have history items.
Declaration
public override HistoryInfo HistoryInfo { get; }
Property Value
Overrides
HistoryItems
History items for the list. Shall return an empty array, since the location mdo provider
does not have history
Declaration
public List<ISoListItem> HistoryItems { get; }
Property Value
RootItems
Root items (e.g. items) for the "MDO List".
Declaration
public List<ISoListItem> RootItems { get; }
Property Value
Methods
Construct(String, String, Int32[], Boolean, String, Boolean)
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 override void Construct(string listName, string additionalInfo, int[] historyIDs, bool onlyReadHistory, string searchValue, bool forceFlatList)
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:
ownercontactid (mandatory): id of the contact for the owner of the appointment
currentassociate (mandatory): currently logged in associate
appointmentcontactid: id of the contact in the appointment
appointmentpersonid: id of the person in the appointment
participantassociateidlist commaseparated list of persons (by their personid) participating in the current appointment.
participantpersonidlist commaseparated list of resources (by their associateid) participating in the current appointment.
appointmentid Identifier of the appointment. 0 if the appointment is new. Used for conflict detection
startdate start of the appointment if it is new
enddate end of the appointment if it is new
|
Int32[] |
historyIDs |
Ignored. Location does not have history.
|
Boolean |
onlyReadHistory |
Ignored. Location does not have history
|
String |
searchValue |
Ignored. Location does not have search
|
Boolean |
forceFlatList |
Ignored, this list is always flat
|
Overrides
GetHeadingIconHint(ListTableRow)
Declaration
protected override string GetHeadingIconHint(ListTableRow row)
Parameters
Returns
Overrides
Declaration
protected override string GetItemExtraInfo(ListTableRow row)
Parameters
Returns
Overrides
GetItemIconHint(ListTableRow)
Declaration
protected override string GetItemIconHint(ListTableRow row)
Parameters
Returns
Overrides
GetItemName(ListTableRow)
Declaration
protected override string GetItemName(ListTableRow row)
Parameters
Returns
Overrides
GetItemsAndHeadingsQuery(Boolean, Int32[])
Declaration
protected override ListTableRows.CustomSearch GetItemsAndHeadingsQuery(bool bFlattened, params int[] selectedIds)
Parameters
Type |
Name |
Description |
Boolean |
bFlattened |
|
Int32[] |
selectedIds |
|
Returns
Overrides
Declaration
protected override string GetItemTooltip(ListTableRow row)
Parameters
Returns
Overrides
GetSimpleListQuery()
Declaration
protected override ListTableRows.CustomSearch GetSimpleListQuery()
Returns
Overrides
OnAddRootElementToCollection(SoListItem)
Declaration
protected override void OnAddRootElementToCollection(SoListItem item)
Parameters
Overrides
OnAddSubItemToCollection(SoListItem, List<ISoListItem>)
Declaration
protected override void OnAddSubItemToCollection(SoListItem item, List<ISoListItem> headingItemsCollection)
Parameters
Overrides
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)
IEnumerableExtensions.ForEach<T>(System.Collections.Generic.IEnumerable<T>, System.Action<T>)
IEnumerableExtensions.ContainsAny<T>(System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IEnumerable<T>)
IEnumerableExtensions.Batch<T>(System.Collections.Generic.IEnumerable<T>, System.Int32)
IEnumerableExtensions.IndexOf<T>(System.Collections.Generic.IEnumerable<T>, T, System.Int32)
IEnumerableExtensions.IndexOf<T>(System.Collections.Generic.IEnumerable<T>, System.Func<T, System.Boolean>, System.Int32)
IEnumerableExtensions.Permute<T>(System.Collections.Generic.IEnumerable<T>, System.Int32)
IEnumerableExtensions.PermissiveToDictionary<T, K, V>(System.Collections.Generic.IEnumerable<T>, System.Func<T, K>, System.Func<T, V>)
IEnumerableExtensions.PermissiveToDictionary<T, K, V>(System.Collections.Generic.IEnumerable<T>, System.Func<T, K>, System.Func<T, V>, System.Collections.Generic.IEqualityComparer<K>)
IEnumerableExtensions.GetDifferentCombinations<T>(System.Collections.Generic.IEnumerable<T>, System.Int32)