コード例 #1
0
        private void ButtonReleaseEvent_OrderYTreeView(object sedner, ButtonReleaseEventArgs e)
        {
            var selectedOrder = OrderYTreeView.GetSelectedObject <Order>();

            if (e.Event.Button == 3 && selectedOrder != null)
            {
                Gtk.Menu popupMenu = new Menu();
                MenuItem item1     = new MenuItem("Повторить заказ");
                item1.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.RepeatOrder(selectedOrder); };
                popupMenu.Add(item1);

                MenuItem item2 = new MenuItem("Перейти в заказ");
                item2.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.OpenMoreInformationAboutOrder(selectedOrder.Id); };
                popupMenu.Add(item2);

                MenuItem item3 = new MenuItem("Перейти в МЛ");
                if (
                    selectedOrder.OrderStatus == OrderStatus.NewOrder ||
                    selectedOrder.OrderStatus == OrderStatus.Accepted ||
                    selectedOrder.OrderStatus == OrderStatus.OnLoading ||
                    selectedOrder.OrderStatus == OrderStatus.OnTheWay ||
                    selectedOrder.OrderStatus == OrderStatus.InTravelList ||
                    selectedOrder.OrderStatus == OrderStatus.Closed ||
                    selectedOrder.OrderStatus == OrderStatus.Shipped)
                {
                    item3.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.OpenRoutedList(selectedOrder); };
                    popupMenu.Add(item3);
                }

                if (selectedOrder.OrderStatus == OrderStatus.Canceled || selectedOrder.OrderStatus == OrderStatus.NotDelivered || selectedOrder.OrderStatus == OrderStatus.DeliveryCanceled)
                {
                    MenuItem item4 = new MenuItem("Перейти в недовоз");
                    item4.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.OpenUndelivery(selectedOrder); };
                    popupMenu.Add(item4);
                }
                if (selectedOrder.OrderStatus == OrderStatus.NewOrder ||
                    selectedOrder.OrderStatus == OrderStatus.WaitForPayment ||
                    selectedOrder.OrderStatus == OrderStatus.Accepted ||
                    selectedOrder.OrderStatus == OrderStatus.InTravelList)
                {
                    MenuItem item5 = new MenuItem("Отменить");
                    item5.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.CancelOrder(selectedOrder); };
                    popupMenu.Add(item5);
                }

                MenuItem item6 = new MenuItem("Создать жалобу");
                item6.ButtonReleaseEvent += delegate(object s, ButtonReleaseEventArgs _e) { ViewModel.CreateComplaint(selectedOrder); };
                popupMenu.Add(item6);

                popupMenu.ShowAll();
                popupMenu.Popup();
            }
        }
コード例 #2
0
        private void RowActivated_OrderYTreeView(object sender, EventArgs e)
        {
            var selectedRow = OrderYTreeView.GetSelectedObject <Order>();

            ViewModel.OpenMoreInformationAboutOrder(selectedRow.Id);
        }
コード例 #3
0
        private void CursorChanged_OrderYTreeView(object sender, EventArgs e)
        {
            var selectedRow = OrderYTreeView.GetSelectedObject <Order>();

            ViewModel.Order = selectedRow;
        }