Show / Hide Table of Contents

Class ConflictTooltipPlugin

Tooltip provider plugin for conflicts, keyed by appointment id's (masters, or explicit conflicts)

Inheritance
object
TooltipPluginBase
ConflictTooltipPlugin
Inherited Members
TooltipPluginBase.ImageHint
TooltipPluginBase.SimpleHint
TooltipPluginBase.UpdatedHint
TooltipPluginBase.GetTooltipAsync(Dictionary<string, List<string>>, CancellationToken)
TooltipPluginBase.TryGetIntHint(string, out int)
TooltipPluginBase.TryGetStringHint(string, out string)
TooltipPluginBase.TryGetBoolHint(string, out bool)
TooltipPluginBase.TryGetDateHint(string, out DateTime)
TooltipPluginBase.GetRawValues(string)
TooltipPluginBase.MakeImageHint(string, int)
TooltipPluginBase.RemoveBlankLines(string)
TooltipPluginBase.FormatDescriptionText(string)
TooltipPluginBase.Hints
TooltipPluginBase.WantImages
TooltipPluginBase.WantSimple
TooltipPluginBase.WantUpdated
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
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
TooltipPluginBase.InnerGetTooltipAsync(CancellationToken)
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.

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