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) skipresourcelocation: Skip resource locations
Inherited Members
Namespace: SuperOffice.CRM.Lists
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")]
[MDOAdditionalInfo("skipresourcelocation", "Skip resource locations", false)]
public class LocationListProvider : MDOProviderBase, IEnumerable<ISoListItem>, IEnumerable, ISoListProvider, ISoList
Constructors
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) skipresourcelocation: Skip resource locations
Declaration
public LocationListProvider()
Fields
ProviderName
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) skipresourcelocation: Skip resource locations
Declaration
public const string ProviderName = "location"
Field Value
Type | Description |
---|---|
string |
Properties
HeadingItems
list of headings
Declaration
public List<ISoListHeading> HeadingItems { get; }
Property Value
Type | Description |
---|---|
List<ISoListHeading> |
HistoryInfo
History information for the supported list. This list does not have history items.
Declaration
public override HistoryInfo HistoryInfo { get; }
Property Value
Type | Description |
---|---|
HistoryInfo |
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
Type | Description |
---|---|
List<ISoListItem> |
RootItems
Root items (e.g. items) for the "MDO List".
Declaration
public List<ISoListItem> RootItems { get; }
Property Value
Type | Description |
---|---|
List<ISoListItem> |
Methods
Construct(string, string, int[], bool, string, bool)
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 |
int[] | historyIDs | Ignored. Location does not have history. |
bool | onlyReadHistory | Ignored. Location does not have history |
string | searchValue | Ignored. Location does not have search |
bool | forceFlatList | Ignored, this list is always flat |
Overrides
GetHeadingIconHint(ListTableRow)
Get a value for the field IconHint in ISoList for a heading element
Declaration
protected override string GetHeadingIconHint(ListTableRow row)
Parameters
Type | Name | Description |
---|---|---|
ListTableRow | row | The actual row for which the item is created |
Returns
Type | Description |
---|---|
string | An icon hint text |
Overrides
GetItemExtraInfo(ListTableRow)
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) skipresourcelocation: Skip resource locations
Declaration
protected override string GetItemExtraInfo(ListTableRow row)
Parameters
Type | Name | Description |
---|---|---|
ListTableRow | row |
Returns
Type | Description |
---|---|
string |
Overrides
GetItemIconHint(ListTableRow)
Get a value for the field IconHint in ISoList for an item element
Declaration
protected override string GetItemIconHint(ListTableRow row)
Parameters
Type | Name | Description |
---|---|---|
ListTableRow | row | The actual row for which the item is created |
Returns
Type | Description |
---|---|
string | An icon hint text |
Overrides
GetItemName(ListTableRow)
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) skipresourcelocation: Skip resource locations
Declaration
protected override string GetItemName(ListTableRow row)
Parameters
Type | Name | Description |
---|---|---|
ListTableRow | row |
Returns
Type | Description |
---|---|
string |
Overrides
GetItemTooltip(ListTableRow)
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) skipresourcelocation: Skip resource locations
Declaration
protected override string GetItemTooltip(ListTableRow row)
Parameters
Type | Name | Description |
---|---|---|
ListTableRow | row |
Returns
Type | Description |
---|---|
string |
Overrides
GetItemsAndHeadingsQuery(bool, params int[])
Create a query for for reading the items and headings of a list.
Declaration
protected override ListTableRows.CustomSearch GetItemsAndHeadingsQuery(bool bFlattened, params int[] selectedIds)
Parameters
Type | Name | Description |
---|---|---|
bool | bFlattened | Force the list to be flattened. |
int[] | selectedIds | Id's in the list that will be forced to be included, regardless of other filtering. |
Returns
Type | Description |
---|---|
ListTableRows.CustomSearch | Query for reading the items and headdings of a list. |
Overrides
Remarks
The _listInfo is populated.
The resulting query will contain an OR clause in the grouplink join if selectedIds != null:select distinct c.* from crm5.category c inner join crm5.categorygrouplink cg
on c.category_id = cg.category_id and
(cg.group_id = 1 or cg.category_id in (1,2,3))
This works as long as we do not fetch any of the fields from the grouplink table (that would break the distinct
clause and cause unwanted row multiplication).
GetSimpleListQuery()
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) skipresourcelocation: Skip resource locations
Declaration
protected override ListTableRows.CustomSearch GetSimpleListQuery()
Returns
Type | Description |
---|---|
ListTableRows.CustomSearch |
Overrides
OnAddRootElementToCollection(SoListItem)
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) skipresourcelocation: Skip resource locations
Declaration
protected override void OnAddRootElementToCollection(SoListItem item)
Parameters
Type | Name | Description |
---|---|---|
SoListItem | item |
Overrides
OnAddSubItemToCollection(SoListItem, List<ISoListItem>)
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) skipresourcelocation: Skip resource locations
Declaration
protected override void OnAddSubItemToCollection(SoListItem item, List<ISoListItem> headingItemsCollection)
Parameters
Type | Name | Description |
---|---|---|
SoListItem | item | |
List<ISoListItem> | headingItemsCollection |