Class ConflictTooltipPlugin
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Inherited Members
Namespace: SuperOffice.CRM.Tooltips
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[TooltipPlugin("SuperOffice:conflicts", new string[] { "conflict_id", "conflictMaster_id", "conflictStartDate", "conflictEndDate" })]
public class ConflictTooltipPlugin : TooltipPluginBase
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
Constructors
ConflictTooltipPlugin()
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Declaration
public ConflictTooltipPlugin()
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
Fields
ConflictEndDate
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Declaration
public const string ConflictEndDate = "conflictEndDate"
Field Value
Type | Description |
---|---|
string |
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
ConflictKey
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Declaration
public const string ConflictKey = "conflict_id"
Field Value
Type | Description |
---|---|
string |
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
ConflictMasterKey
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Declaration
public const string ConflictMasterKey = "conflictMaster_id"
Field Value
Type | Description |
---|---|
string |
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
ConflictStartDate
Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)
Declaration
public const string ConflictStartDate = "conflictStartDate"
Field Value
Type | Description |
---|---|
string |
Remarks
The provider supports three kinds of keys: conflict_id, which means 'I know that that appointment is in conflict with whatever I'm showing a tooltip for'; conflictMaster_id, which means 'please find appointments that conflict with this one'; and cliflictStartDate/conflictEndDate, where you simply search for conflicts in a given interval.
Use conflict_id if you already know the conflicts, that will save time. Use conflictMaster_id if you have no idea about the conflicts but want to show a conflict tooltip anyway. The conflict detector is executed using data from the indicated appointment. You can override the start and end times using the keys conflictStartDate and conflictEndDate, if they have changed from the data in the database. Use conflictStartDate and conflictEndDate (both, not just one of them) to search for conflicts in the given time interval. Any appointment that overlaps will be deemed a conflict.conflict_id=123&conflictMaster_id=200&conflict_id=456
This would mean 'I know that 123 and 456 are conflicts, and please find any additional conflicts with 200. Master
conflicts are resolved first, then explicit ones. All searching looks at the diary of the current associate only.
This provider uses the AppointmentTooltipPlugin to fetch the actual tooltips,
and shows up to 4 of them, with an overflow indicator if there are more.
Methods
InnerGetTooltipAsync(CancellationToken)
Subclass contract: derived class must implement their tooltip logicin this method.
Declaration
protected override Task<string> InnerGetTooltipAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<string> | Tooltip text, or an empty string |
Overrides
Remarks
The tooltip hints are accessible through the Hints property, but clients should usually find the provided access methods sufficient. TryGetIntHint(string, out int), TryGetStringHint(string, out string) and TryGetBoolHint(string, out bool) look for and parse the given type of key, and return a bool value that specifies whether the given key was found.