|
public async void OnTreeViewDragStop(DragAndDropEventArgs args)
{
args.Cancel = true;
List<ScheduleData.HospitalData> TreeViewData = await TreeViewRef.GetTreeData(args.DraggedNodeData.Id);
object isScheduleSlot = await args.Target.GetAttribute("role");
string[] classList = await args.Target.GetClassList();
Random rnd = new Random();
int Id = rnd.Next(1000);
ScheduleData.HospitalData eventData = new ScheduleData.HospitalData();
if (isScheduleSlot != null && isScheduleSlot.ToString() == "gridcell")
{
CellClickEventArgs cellData = await ScheduleRef.GetCellDetails(args.Target);
var resourceDetails = await ScheduleRef.GetResourcesByIndex(cellData.GroupIndex);
GroupData groupData = JsonConvert.DeserializeObject<GroupData>(JsonConvert.SerializeObject(resourceDetails.GroupData));
eventData = new ScheduleData.HospitalData
{
Id = Id,
Name = TreeViewData[0].Name,
StartTime = cellData.StartTime,
EndTime = cellData.EndTime,
IsAllDay = cellData.IsAllDay,
ConsultantID = groupData.ConsultantID,
DepartmentID = groupData.DepartmentID,
Description = TreeViewData[0].Description,
DepartmentName = TreeViewData[0].DepartmentName
};
}
if (classList.Contains("e-appointment-wrapper") || classList.Contains("e-appointment") || classList.Contains("e-subject") || classList.Contains("e-time"))
{
var targetDetails = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(args.Event));
var appElement = await ScheduleRef.GetTargetElement(".e-appointment", Convert.ToDouble(targetDetails["clientX"]), Convert.ToDouble(targetDetails["clientY"]));
ScheduleData.HospitalData Data = await ScheduleRef.GetEventDetails(appElement);
eventData = new ScheduleData.HospitalData
{
Id = Id,
Name = TreeViewData[0].Name,
StartTime = Data.StartTime,
EndTime = Data.EndTime,
IsAllDay = Data.IsAllDay,
ConsultantID = Data.ConsultantID,
DepartmentID = Data.DepartmentID,
Description = TreeViewData[0].Description,
DepartmentName = TreeViewData[0].DepartmentName
};
}
await ScheduleRef.OpenEditor(eventData, CurrentAction.Add, true);
} |