public void SubmitRequest()
        {
            productOrderService.Reorder(Product.Id, UnitsToReorder);

            ItemsReordered?.Invoke();
            Close();
        }
Example #2
0
        protected override void OnDragDrop(DragEventArgs drgevent)
        {
            if (this.IsRowDragInProgress)
            {
                ListViewItem dropItem;

                dropItem = this.InsertionIndex != -1 ? this.Items[this.InsertionIndex] : null;

                if (dropItem != null)
                {
                    ListViewItem dragItem;
                    int          dropIndex;

                    dragItem  = (ListViewItem)drgevent.Data.GetData(typeof(ListViewItem));
                    dropIndex = dropItem.Index;

                    if (dragItem.Index < dropIndex)
                    {
                        dropIndex--;
                    }
                    if (this.InsertionMode == InsertionMode.After && dragItem.Index < this.Items.Count - 1)
                    {
                        dropIndex++;
                    }

                    if (dropIndex != dragItem.Index)
                    {
                        var selection = this.SelectedItems;

                        foreach (var item in selection.Cast <ListViewItem>().OrderBy(i => i.Index))
                        {
                            this.Items.Remove(item);
                            this.Items.Insert(dropIndex, item);
                        }

                        ItemsReordered?.Invoke(this, new EventArgs());
                    }
                }

                this.InsertionIndex      = -1;
                this.IsRowDragInProgress = false;
                this.Invalidate();
            }

            base.OnDragDrop(drgevent);
        }