/// <summary> /// Method initialize drag operation /// </summary> /// <param name="draggingOrders"></param> public void StartDragOrders(Collection <object> draggingOrdersAndStops, DragSource dragSource) { // Get orders from stops and orders. Collection <Order> draggingOrders = GetOrdersFromObjectsCollection(draggingOrdersAndStops); if (draggingOrders.Count == 0) { return; } // Decline dragging if orders and stops not belongs to the same date. bool isSameDate = _CheckOrdersAndStopsIsFromSameDate(draggingOrdersAndStops); if (!isSameDate) { string message = (string)App.Current.FindResource(DRAGGING_ORDERS_WITH_DIFFERENT_DAYS_PROHIBITED_RESOURCE_NAME); App.Current.Messenger.AddWarning(message); return; } // Create data object for drag and drop. IDataObject draggingObject = _CreateDraggingObject(draggingOrders); if (draggingObject == null) { return; } try { // Create adornment. IAdornment adornment = AdornmentFactory.CreateAdornment(draggingOrdersAndStops, dragSource); // Create feedbacker. using (DragDropFeedbacker feedbacker = new DragDropFeedbacker(adornment)) { if (DragStarted != null) { DragStarted(this, EventArgs.Empty); } DragDropEffects effect = DragDrop.DoDragDrop(feedbacker, draggingObject, DragDropEffects.None | DragDropEffects.Move); } } catch (Exception ex) { Logger.Error(ex); } finally { if (DragEnded != null) { DragEnded(this, EventArgs.Empty); } } }
/// <summary> /// Method initialize drag operation /// </summary> /// <param name="draggingOrders"></param> public void StartDragOrders(Collection<object> draggingOrdersAndStops, DragSource dragSource) { // Get orders from stops and orders. Collection<Order> draggingOrders = GetOrdersFromObjectsCollection(draggingOrdersAndStops); if (draggingOrders.Count == 0) return; // Decline dragging if orders and stops not belongs to the same date. bool isSameDate = _CheckOrdersAndStopsIsFromSameDate(draggingOrdersAndStops); if (!isSameDate) { string message = (string)App.Current.FindResource(DRAGGING_ORDERS_WITH_DIFFERENT_DAYS_PROHIBITED_RESOURCE_NAME); App.Current.Messenger.AddWarning(message); return; } // Create data object for drag and drop. IDataObject draggingObject = _CreateDraggingObject(draggingOrders); if (draggingObject == null) return; try { // Create adornment. IAdornment adornment = AdornmentFactory.CreateAdornment(draggingOrdersAndStops, dragSource); // Create feedbacker. using (DragDropFeedbacker feedbacker = new DragDropFeedbacker(adornment)) { if (DragStarted != null) DragStarted(this, EventArgs.Empty); DragDropEffects effect = DragDrop.DoDragDrop(feedbacker, draggingObject, DragDropEffects.None | DragDropEffects.Move); } } catch (Exception ex) { Logger.Error(ex); } finally { if (DragEnded != null) DragEnded(this, EventArgs.Empty); } }