Пример #1
0
 public OrderManager(IBClient ibClient, DataGridView liveOrdersGrid, DataGridView tradeLogGrid)
 {
     this.ibClient = ibClient;
     this.orderDialog = new OrderDialog(this);
     this.liveOrdersGrid = liveOrdersGrid;
     this.tradeLogGrid = tradeLogGrid;
 }
Пример #2
0
 public OrderManager(IBClient ibClient, DataGridView liveOrdersGrid, DataGridView tradeLogGrid)
 {
     this.ibClient       = ibClient;
     this.orderDialog    = new OrderDialog(this);
     this.liveOrdersGrid = liveOrdersGrid;
     this.tradeLogGrid   = tradeLogGrid;
 }
        private void btnEditOrder_Click(object sender, RoutedEventArgs e)
        {
            OrderDialog    view  = new OrderDialog();
            OrderViewModel order = (OrderViewModel)((Button)sender).DataContext;

            order.operationType = OperationType.Update;
            view.DataContext    = order;
            view.ShowDialog();
        }
        private void btnAddOrder_Click(object sender, RoutedEventArgs e)
        {
            OrderDialog    view  = new OrderDialog();
            OrderViewModel order = new OrderViewModel();

            order.Clients       = (ClientViewModel)DataContext;
            order.operationType = OperationType.Insert;
            view.DataContext    = order;
            view.ShowDialog();
        }
        private async void SelectOrder_Click(object sender, RoutedEventArgs e)
        {
            OrderDialog dialog = new OrderDialog(x => x.Status == OrderStatusEnum.Endorsed && x.Type == OrderTypeEnum.Purchase);

            ContentDialogResult button;

            using (var context = new Context())
            {
                bool isEndorsed = false, isIncomplete = false;

                do
                {
                    // if dialog displays more than 1 times
                    if (dialog.Order != null)
                    {
                        if (!isEndorsed)
                        {
                            ContentDialog error = new ContentDialog
                            {
                                Title           = "Alert",
                                Content         = "The order has not been endorsed, please wait till area manager endorses it.",
                                CloseButtonText = "OK",
                                Width           = 400
                            };

                            await error.EnqueueAndShowIfAsync();
                        }
                        else if (!isIncomplete)
                        {
                            ContentDialog error = new ContentDialog
                            {
                                Title           = "Alert",
                                Content         = "The selected order has been completed already. Please select another order.",
                                CloseButtonText = "OK",
                                Width           = 400
                            };

                            await error.EnqueueAndShowIfAsync();
                        }
                    }

                    button = await dialog.EnqueueAndShowIfAsync();
                } while (button == ContentDialogResult.Primary &&
                         !((isEndorsed = dialog.Order.Status == OrderStatusEnum.Endorsed) &&
                           (isIncomplete = dialog.Order.OrderProduct.Sum(x => x.Quantity) > context.Did.Include(x => x.Dic).Where(x => x.Dic.OrderId == dialog.Order.Id).Sum(x => x.Quantity))));
            }

            if (button == ContentDialogResult.Primary)
            {
                OrderGUID.Text           = (order = dialog.Order).Id.ToString();
                SelectedOrder.Text       = $"Selected Order: {order.Dealer.FirstName}'s Order";
                SelectedOrder.Visibility = Visibility.Visible;
                Submit.IsEnabled         = true;
            }
        }
        private void Add(string key)
        {
            switch (key)
            {
            case "customer":
                CustomerDialog customerDialog = new CustomerDialog();
                MessengerInstance.Send(new Customer(), "customerModel");
                MessengerInstance.Send <Window>(customerDialog, "customerView");
                customerDialog.ShowDialog();

                UpdateCustomerGridView();
                break;

            case "truck":
                TruckDialog truckDialog = new TruckDialog();
                MessengerInstance.Send(new Truck(), "truckModel");
                MessengerInstance.Send <Window>(truckDialog, "truckView");
                truckDialog.ShowDialog();

                UpdateTruckGridView();
                break;

            case "order":
                OrderDialog orderDialog = new OrderDialog();
                MessengerInstance.Send(new Order(), "orderModel");
                MessengerInstance.Send <Window>(orderDialog, "orderView");
                orderDialog.ShowDialog();

                UpdateOrderGridView();
                UpdateTruckGridView();
                UpdateCargoGridView();
                break;

            case "cargo":
                CargoDialog cargoDialog = new CargoDialog();
                MessengerInstance.Send(new Cargo(), "cargoModel");
                MessengerInstance.Send <Window>(cargoDialog, "cargoView");
                cargoDialog.ShowDialog();

                UpdateCargoGridView();
                break;

            default:
                break;
            }
        }
Пример #7
0
        private async void SelectDic_Click(object sender, RoutedEventArgs e)
        {
            OrderDialog dialog = new OrderDialog(x => x.Status == OrderStatusEnum.Endorsed);

            ContentDialogResult button;

            bool isEndorsed = false;

            using (var context = new Context())
            {
                do
                {
                    // if dialog displays more than 1 times
                    if (dialog.Order != null)
                    {
                        // if the order is not endorsed
                        if (!isEndorsed)
                        {
                            ContentDialog error = new ContentDialog
                            {
                                Title           = "Alert",
                                Content         = "The order has not been endorsed, please wait till area manager endorses it.",
                                CloseButtonText = "OK",
                                Width           = 400
                            };

                            await error.EnqueueAndShowIfAsync();
                        }
                    }

                    button = await dialog.EnqueueAndShowIfAsync();
                } while (button == ContentDialogResult.Primary && !(isEndorsed = dialog.Order.Status == OrderStatusEnum.Endorsed));
            }

            if (button == ContentDialogResult.Primary)
            {
                DicGUID.Text           = (order = dialog.Order).Id.ToString();
                SelectedDic.Text       = $"Selected DIC: {order.Id}";
                SelectedDic.Visibility = Visibility.Visible;
                Submit.IsEnabled       = true;
            }
        }
Пример #8
0
 internal MdoQuery buildSaveOrderRequest(
     string pid,
     string duz,
     string locationIEN,
     string dlgBaseName,
     OrderDialog dlg,
     string orderIEN,
     string startDate)
 {
     VistaQuery vq = new VistaQuery("ORWDX SAVE");
     vq.addParameter(vq.LITERAL, pid);
     vq.addParameter(vq.LITERAL, duz);
     vq.addParameter(vq.LITERAL, locationIEN);
     vq.addParameter(vq.LITERAL, dlgBaseName);
     vq.addParameter(vq.LITERAL, dlg.DisplayGrp);
     vq.addParameter(vq.LITERAL, orderIEN);
     vq.addParameter(vq.LITERAL, "");
     DictionaryHashList lst = new DictionaryHashList();
     OrderResponse[] responses = dlg.Responses;
     for (int i = 0; i < responses.Length; i++)
     {
         lst.Add(responses[i].Index, responses[i].Ivalue);
     }
     vq.addParameter(vq.LIST, lst);
     vq.addParameter(vq.LITERAL, "");
     vq.addParameter(vq.LITERAL, "");
     vq.addParameter(vq.LITERAL, "");
     vq.addParameter(vq.LITERAL, "0");
     return vq;
 }
Пример #9
0
 internal OrderDialog toQrsp(string response)
 {
     if (response == "")
     {
         return null;
     }
     if (response.Substring(0, 3) == "8^0")
     {
         string[] lines = StringUtils.split(response, StringUtils.CRLF);
         throw new Exception(lines[1]);
     }
     string[] flds = StringUtils.split(response, StringUtils.CARET);
     OrderDialog result = new OrderDialog();
     result.QuickLevel = Convert.ToInt32(flds[0]);
     result.ResponseId = flds[1];
     result.DialogId = flds[2];
     result.Type = flds[3];
     result.FormId = flds[4];
     result.DisplayGrp = flds[5];
     return result;
 }
Пример #10
0
 internal OrderDialog toOrderDialog(string response)
 {
     if (response == "")
     {
         return null;
     }
     string[] lines = StringUtils.split(response, StringUtils.CRLF);
     lines = StringUtils.trimArray(lines);
     OrderDialog result = new OrderDialog();
     string[] flds = StringUtils.split(lines[0], StringUtils.CARET);
     result.Name = flds[0];
     result.Columns = new IndexedHashtable();
     for (int linenum = 1; linenum < lines.Length; linenum++)
     {
         flds = StringUtils.split(lines[linenum], StringUtils.CARET);
         string colnum = flds[0];
         string rownum = flds[1];
         if (!result.Exists(colnum))
         {
             result.AddColumn(colnum);
         }
         OrderDialogColumn column = result.GetColumn(colnum);
         if (!column.Exists(rownum))
         {
             column.AddRow(rownum);
         }
         OrderDialogRow row = column.GetRow(rownum);
         row.Type = flds[2];
         row.MenuId = flds[3];
         row.FormId = flds[4];
         row.AutoAccept = (flds[5] == "1");
         row.DisplayText = flds[6];
         row.Mnemonic = flds[7];
         row.DisplayOnly = (flds[8] == "1");
     }
     return result;
 }
Пример #11
0
 internal Order saveOrder(
     string pid,
     string duz,
     string locationIEN,
     string dlgBaseName,
     OrderDialog dlg,
     string orderIEN,
     string startDate)
 {
     MdoQuery request = buildSaveOrderRequest(pid, duz, locationIEN, dlgBaseName, dlg, orderIEN, startDate);
     string response = (string)cxn.query(request);
     return toOrder(response);
 }
Пример #12
0
 public DispatchBot(ConversationState conversationState, UserState userState, IBotServices botServices, TrackDialog trackDialog, OrderDialog orderDialog, ILogger <DispatchBot> logger)
 {
     _logger           = logger;
     _botServices      = botServices;
     ConversationState = conversationState;
     UserState         = userState;
     Dialogs           = new DialogSet(ConversationState.CreateProperty <DialogState>(nameof(DialogState)));
     Dialogs.Add(trackDialog);
     Dialogs.Add(orderDialog);
 }
Пример #13
0
        private void Order_Click(object sender, RoutedEventArgs e)
        {
            var order = new OrderDialog();

            order.ShowDialog();
        }
        protected override List <ToolButton> GetButtons()
        {
            // preserving default New Item button
            var buttons = base.GetButtons();

            buttons.Add(new ToolButton
            {
                Title    = "Add Order from the Queen",
                CssClass = "add-button",
                OnClick  = delegate
                {
                    // using EditItem method as a shortcut to create a new Order dialog,
                    // bind to its events, load our order row, and open dialog
                    EditItem(new OrderRow
                    {
                        CustomerID = "QUEEN",
                        EmployeeID = EmployeeRow.Lookup.Items.First(x =>
                                                                    x.FullName == "Nancy Davolio").EmployeeID,
                        ShipVia = ShipperRow.Lookup.Items.First(x =>
                                                                x.CompanyName == "United Package").ShipperID
                    });
                }
            });

            buttons.Add(new ToolButton
            {
                Title    = "Add Order with 5 Chai by Laura",
                CssClass = "add-note-button",
                OnClick  = delegate
                {
                    // we could use EditItem here too, but for demonstration
                    // purposes we are manually creating dialog this time
                    var dlg = new OrderDialog();

                    // let grid watch for changes to manually created dialog,
                    // so when a new item is saved, grid can refresh itself
                    InitDialog(dlg);

                    // get a reference to product Chai
                    var chai = ProductRow.Lookup.Items.First(x =>
                                                             x.ProductName == "Chai");

                    // LoadEntityAndOpenDialog, loads an OrderRow
                    // to dialog and opens it
                    dlg.LoadEntityAndOpenDialog(new OrderRow
                    {
                        CustomerID = "GOURL",
                        EmployeeID = EmployeeRow.Lookup.Items.First(x =>
                                                                    x.FullName == "Laura Callahan").EmployeeID,
                        DetailList = new List <OrderDetailRow>
                        {
                            new OrderDetailRow
                            {
                                ProductID   = chai.ProductID,
                                ProductName = chai.ProductName,
                                UnitPrice   = chai.UnitPrice,
                                Quantity    = 5,
                                LineTotal   = chai.UnitPrice * 5
                            }
                        }
                    });
                }
            });

            return(buttons);
        }
Пример #15
0
        public void OpenNewOrderDialog()
        {
            orderDialog = new OrderDialog(this);

            orderDialog.ShowDialog();
        }