XamScheduleDataManager - Activity Dragging - Custom Restriction Logic & Virtual Feedback
I couldn't figured it out if there is already a built in solution to this and none of the found threads seems to have come to a suitable result.
Consider the following scenario:
You have multiple resource types (currently not supported by built in functionality) with one or more calendars.
You either want to restrict the dragging of an activity across calendars and/or resources by a custom logic or just by the resource type itself (at this point, it is custom logic as well).
By now, the only workaround (i know) for this is to handle the "ActivityChanging"-event and cancel it if the provided custom logic denies the changes.
Also there is no "easy" way to provide an appropriate visual dragging state to the user with this workaround.
Just to note: It's pretty confusing for the user when the dragged activity pops back to the original place.
A method, which can be overridden, which provides the current drag permission logic of the activity drag settings and returns an object to determine the drag state and set some additional data.
(sample: #1 state=granted, message=null, #2 state=denied, message="Moving activities across resource types is not allowed.")
This way you can consider the result of the base logic or just provide your own.
The Idea needs to provide the original activity and a modified copy which represents the state of the activity if it would be dropped at the current position.
The approach extends the flexibility and still gives you (the infragistics team) the full control of the drag&drop management.