private void Continue_Click(object sender, MouseEventArgs e)
 {
     UiThread.RunOnIdle(() =>
     {
         this.DialogWindow.ChangeToPage(PrinterSetup.GetBestStartPage());
     });
 }
Exemplo n.º 2
0
        public SyncingPrintersPage()
            : base("Close".Localize())
        {
            this.WindowTitle = "Sync Printer Profiles Page".Localize();

            TextWidget syncingText = new TextWidget("Syncing Profiles...".Localize(), textColor: ActiveTheme.Instance.PrimaryTextColor);

            syncingDetails = new TextWidget("Retrieving sync information...".Localize(), textColor: ActiveTheme.Instance.PrimaryTextColor, pointSize: 10);
            syncingDetails.AutoExpandBoundsToText = true;
            contentRow.AddChild(syncingText);
            contentRow.AddChild(syncingDetails);
            Progress <ProgressStatus> progress = new Progress <ProgressStatus>(ReportProgress);

            ApplicationController.SyncPrinterProfiles("SyncingPrintersPage.ctor()", progress).ContinueWith((task) =>
            {
                if (!ProfileManager.Instance.ActiveProfiles.Any())
                {
                    // Switch to setup wizard if no profiles exist
                    UiThread.RunOnIdle(() =>
                    {
                        this.DialogWindow.ChangeToPage(PrinterSetup.GetBestStartPage());
                    });
                }
                else if (ProfileManager.Instance.ActiveProfiles.Count() == 1)
                {
                    // TODO: Investigate what this was doing and re-implement
                    //ActiveSliceSettings.ShowComPortConnectionHelp();

                    //Set as active printer
                    ProfileManager.SwitchToProfile(ProfileManager.Instance.ActiveProfiles.First().ID).ConfigureAwait(false);

                    // only close the window if we are not switching to the setup printer form
                    UiThread.RunOnIdle(DialogWindow.Close);
                }
                else                 // multiple printers - close the window
                {
                    UiThread.RunOnIdle(DialogWindow.Close);
                }
            });
        }
        public HardwareTreeView(ThemeConfig theme)
            : base(theme)
        {
            rootColumn = new FlowLayoutWidget(FlowDirection.TopToBottom)
            {
                HAnchor = HAnchor.Stretch,
                VAnchor = VAnchor.Fit
            };
            this.AddChild(rootColumn);

            // Printers
            printersNode = new TreeNode(theme)
            {
                Text             = "Printers".Localize(),
                HAnchor          = HAnchor.Stretch,
                AlwaysExpandable = true,
                Image            = AggContext.StaticData.LoadIcon("printer.png", 16, 16, theme.InvertIcons)
            };
            printersNode.TreeView = this;

            var forcedHeight = 20;
            var mainRow      = printersNode.Children.FirstOrDefault();

            mainRow.HAnchor = HAnchor.Stretch;
            mainRow.AddChild(new HorizontalSpacer());

            // add in the create printer button
            var createPrinter = new IconButton(AggContext.StaticData.LoadIcon("md-add-circle_18.png", 18, 18, theme.InvertIcons), theme)
            {
                Name        = "Create Printer",
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing.Clone(left: theme.ButtonSpacing.Right),
                ToolTipText = "Create Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight
            };

            createPrinter.Click += (s, e) => UiThread.RunOnIdle(() =>
            {
                if (ApplicationController.Instance.AnyPrintTaskRunning)
                {
                    StyledMessageBox.ShowMessageBox("Please wait until the print has finished and try again.".Localize(), "Can't add printers while printing".Localize());
                }
                else
                {
                    DialogWindow.Show(PrinterSetup.GetBestStartPage(PrinterSetup.StartPageOptions.ShowMakeModel));
                }
            });
            mainRow.AddChild(createPrinter);

            // add in the import printer button
            var importPrinter = new IconButton(AggContext.StaticData.LoadIcon("md-import_18.png", 18, 18, theme.InvertIcons), theme)
            {
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing,
                ToolTipText = "Import Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight
            };

            importPrinter.Click += (s, e) => UiThread.RunOnIdle(() =>
            {
                AggContext.FileDialogs.OpenFileDialog(
                    new OpenFileDialogParams(
                        "settings files|*.ini;*.printer;*.slice"),
                    (result) =>
                {
                    if (!string.IsNullOrEmpty(result.FileName) &&
                        File.Exists(result.FileName))
                    {
                        //simpleTabs.RemoveTab(simpleTabs.ActiveTab);
                        if (ProfileManager.ImportFromExisting(result.FileName))
                        {
                            string importPrinterSuccessMessage = "You have successfully imported a new printer profile. You can find '{0}' in your list of available printers.".Localize();
                            DialogWindow.Show(
                                new ImportSucceeded(
                                    importPrinterSuccessMessage.FormatWith(Path.GetFileNameWithoutExtension(result.FileName))));
                        }
                        else
                        {
                            StyledMessageBox.ShowMessageBox("Oops! Settings file '{0}' did not contain any settings we could import.".Localize().FormatWith(Path.GetFileName(result.FileName)), "Unable to Import".Localize());
                        }
                    }
                });
            });
            mainRow.AddChild(importPrinter);

            rootColumn.AddChild(printersNode);

            HardwareTreeView.CreatePrinterProfilesTree(printersNode, theme);
            this.Invalidate();

            // Filament
            var materialsNode = new TreeNode(theme)
            {
                Text             = "Materials".Localize(),
                AlwaysExpandable = true,
                Image            = AggContext.StaticData.LoadIcon("filament.png", 16, 16, theme.InvertIcons)
            };

            materialsNode.TreeView = this;

            rootColumn.AddChild(materialsNode);

            // Register listeners
            PrinterSettings.AnyPrinterSettingChanged += Printer_SettingChanged;

            // Rebuild the treeview anytime the Profiles list changes
            ProfileManager.ProfilesListChanged.RegisterEvent((s, e) =>
            {
                HardwareTreeView.CreatePrinterProfilesTree(printersNode, theme);
                this.Invalidate();
            }, ref unregisterEvents);
        }
Exemplo n.º 4
0
        //private void CreateControl(App_BAL.CartCL itm)
        //{
        //    Panel pnl = new Panel();
        //    pnl.Height = 60;
        //    //pnl.Width = flyLayout.Width - 10;
        //    pnl.BackColor = Color.LightGray;

        //    Label lbl = new Label();
        //    lbl.Text = itm.OrderNo;
        //    lbl.AutoSize = false;
        //    lbl.Height = 50;
        //    lbl.Width = 200;
        //    lbl.Location = new Point(10, 5);
        //    lbl.TextAlign = ContentAlignment.MiddleCenter;
        //    pnl.Controls.Add(lbl);

        //    Button btn = new Button();
        //    if (itm.IsOrderConfirmed)
        //    {
        //        btn.Text = "Delivered";
        //        btn.Enabled = false;
        //    }
        //    else
        //    {
        //        btn.Text = "Confirm";
        //        btn.Click += btn_Click;
        //    }
        //    btn.Location = new Point(pnl.Width - 130, 15);
        //    btn.Font = new Font("Segoe UI Semilight", 12, FontStyle.Bold);
        //    btn.Tag = itm.OrderNo;
        //    btn.Height = 35;
        //    btn.Width = 120;
        //    btn.Cursor = Cursors.Hand;
        //    btn.FlatStyle = FlatStyle.Flat;
        //    btn.FlatAppearance.BorderColor = Color.FromArgb(251, 51, 51);
        //    btn.FlatAppearance.BorderSize = 2;
        //    btn.FlatAppearance.MouseOverBackColor = Color.White;
        //    btn.FlatAppearance.MouseDownBackColor = Color.White;
        //    pnl.Controls.Add(btn);

        //    //flyLayout.Controls.Add(pnl);
        //}

        //void btn_Click(object sender, EventArgs e)
        //{
        //    if (sender is Button)
        //    {
        //        var OrderNo = (sender as Button).Tag.ToString();
        //        var itm = Program.PlacedOrders.Where(p => p.OrderNo == OrderNo).FirstOrDefault();
        //        if (itm != null)
        //        {
        //            string URL = Program.BaseUrl;
        //            string ChangeOrdStatusURL = URL + "/confirmorder?order_id=" + OrderNo + "&order_status=completed&acess_token=" + Program.Token;

        //            var GetStatus = DataProviderWrapper.Instance.GetData(ChangeOrdStatusURL, Verbs.GET, "");
        //            JavaScriptSerializer serializer = new JavaScriptSerializer();
        //            var result = serializer.Deserialize<MessageCL>(GetStatus);
        //            itm.IsOrderConfirmed = true;
        //            BindData(false);
        //            Program.OrderCount();
        //        }
        //    }
        //}

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewButtonColumn)
                {
                    DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
                    if (_gridType == EmGridType.OrderIn || _gridType == EmGridType.TakeAway)
                    {
                        if (row != null)
                        {
                            string OrderNo       = row.Cells["OrderNo"].Value.ToString();
                            var    SelectedOrder = Program.PlacedOrders.Where(p => p.OrderNo == OrderNo).FirstOrDefault();
                            if (e.ColumnIndex == 5)
                            {
                                if (!string.IsNullOrEmpty(OrderNo))
                                {
                                    try
                                    {
                                        frmMain.Print(PrinterSetup.GetPrinterName(EmPrinterType.CashCounter), frmMain.GetDocument(OrderNo, EmPrinterType.CashCounter));
                                    }
                                    catch (Exception ex)
                                    {
                                        MessageBox.Show(ex.Message, "Reprint Issue", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    //if (itm != null)
                                    //{
                                    //    string URL = Program.BaseUrl;
                                    //    string ChangeOrdStatusURL = URL + "/confirmorder?order_id=" + OrderNo + "&order_status=completed&acess_token=" + Program.Token;

                                    //    var GetStatus = DataProviderWrapper.Instance.GetData(ChangeOrdStatusURL, Verbs.GET, "");
                                    //    JavaScriptSerializer serializer = new JavaScriptSerializer();
                                    //    var result = serializer.Deserialize<MessageCL>(GetStatus);
                                    //    if (result.status)
                                    //    {
                                    //        itm.IsOrderConfirmed = true;
                                    //        itm.OrderStatus = EmOrderStatus.Delivered;
                                    //        BindData(false, EmOrderType.Delivery);
                                    //
                                    //    }
                                    //}
                                    //Program.OrderCount();
                                }
                            }
                            else if (e.ColumnIndex == 4)
                            {
                                string URL                      = Program.BaseUrl;
                                string DeleteOrderUrl           = URL + "/deleteDineInOrder?order_id=" + OrderNo + "&acess_token=" + Program.Token;
                                var    GetStatus                = DataProviderWrapper.Instance.GetData(DeleteOrderUrl, Verbs.GET, "");
                                JavaScriptSerializer serializer = new JavaScriptSerializer();
                                try
                                {
                                    var result = serializer.Deserialize <MessageCL>(GetStatus);
                                    if (result.status)
                                    {
                                        if (SelectedOrder != null)
                                        {
                                            Program.PlacedOrders.Remove(SelectedOrder);
                                        }
                                    }
                                }
                                catch (Exception ex)
                                {
                                    var err = ex.Message;
                                    MessageBox.Show("Unable to delete the order!!!", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                                }
                            }
                        }
                    }
                    else if (_gridType == EmGridType.Reservation)
                    {
                        if (row != null)
                        {
                            string status = row.Cells["Assign"].Value.ToString();
                            if (status.ToLower().Trim() == "assign table")
                            {
                                string TableId = row.Cells["TableId"].Value.ToString();
                                if (!string.IsNullOrEmpty(TableId))
                                {
                                    var itm = Program.Reservations.FirstOrDefault(p => p.TableId == TableId);
                                    if (itm != null)
                                    {
                                        frmAssign objAssign = new frmAssign();
                                        frmAssign.GuestCount = int.Parse(itm.GuestCount);
                                        objAssign.ShowDialog();
                                        if (!String.IsNullOrEmpty(frmAssign.TableNo))
                                        {
                                            itm.ReservationStatus = EmOrderStatus.Confirmed.ToString();
                                            itm.TableNo           = frmAssign.TableNo;

                                            string URL = Program.BaseUrl;
                                            string ChangeReservationStatusURL = URL + "/changereservationstatus?res_id=" + itm.TableId + "&status=Completed&acess_token=" + Program.Token;
                                            var    GetStatus = DataProviderWrapper.Instance.GetData(ChangeReservationStatusURL, Verbs.GET, "");
                                            JavaScriptSerializer serializer = new JavaScriptSerializer();
                                            var result = serializer.Deserialize <MessageCL>(GetStatus);
                                            if (result.status)
                                            {
                                                itm.ReservationStatus = EmOrderStatus.Confirmed.ToString();
                                                itm.ActionText        = "Assigned";
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else if (_gridType == EmGridType.Delivery)
                    {
                        string OrderNo     = row.Cells["OrderNo"].Value.ToString();
                        string OrderStatus = row.Cells["OrderStatus"].Value.ToString();
                        if (e.ColumnIndex == 4)
                        {
                            if (!string.IsNullOrEmpty(OrderNo))
                            {
                                var SelectedOrder = Program.PlacedOrders.Where(p => p.OrderNo == OrderNo).FirstOrDefault();
                                if (SelectedOrder != null)
                                {
                                    bool   isAllowed     = false;
                                    string statusUpdated = "";
                                    var    _status       = EmOrderStatus.Pending;
                                    string btnText       = "";
                                    if (OrderStatus == "Pending")
                                    {
                                        statusUpdated = "in_progress";
                                        isAllowed     = true;
                                        _status       = EmOrderStatus.Confirmed;
                                        btnText       = "In-Progress Status";
                                    }
                                    else if (OrderStatus == "Confirmed")
                                    {
                                        statusUpdated = "Completed";
                                        _status       = EmOrderStatus.Delivered;
                                        btnText       = "Delivered";
                                        isAllowed     = true;
                                    }
                                    else if (OrderStatus == "Delivered")
                                    {
                                        statusUpdated = "Completed";
                                        isAllowed     = false;
                                    }

                                    if (isAllowed)
                                    {
                                        string URL = Program.BaseUrl;
                                        string ChangeOrdStatusURL = URL + "confirmorder?order_id=" + OrderNo + "&order_status=" + statusUpdated + "&acess_token=" + Program.Token;

                                        var GetStatus = DataProviderWrapper.Instance.GetData(ChangeOrdStatusURL, Verbs.GET, "");
                                        JavaScriptSerializer serializer = new JavaScriptSerializer();
                                        var result = serializer.Deserialize <MessageCL>(GetStatus);
                                        if (result.status)
                                        {
                                            SelectedOrder.IsOrderConfirmed = true;
                                            SelectedOrder.OrderStatus      = _status;
                                            SelectedOrder.BtnActionStatus  = btnText;
                                            //BindData(false, EmOrderType.Delivery);
                                        }
                                    }
                                }
                                Program.OrderCount(EmOrderType.Delivery);
                            }
                        }
                        else if (e.ColumnIndex == 4)
                        {
                        }
                    }
                }
            }


            if (_gridType == EmGridType.OrderIn)
            {
                BindData(null, EmOrderType.DineIn);
            }
            else if (_gridType == EmGridType.TakeAway)
            {
                BindData(null, EmOrderType.TakeOut);
            }
        }
Exemplo n.º 5
0
        public PrinterBar(PartPreviewContent partPreviewContent, PrinterInfo printerInfo, ThemeConfig theme)
            : base(printerInfo?.Name ?? "", theme)
        {
            headingBar.CloseAllChildren();
            headingBar.AddChild(printerSelector = new PrinterSelector(theme)
            {
                VAnchor         = VAnchor.Fit,
                HAnchor         = HAnchor.Absolute,
                Border          = 0,
                MinimumSize     = Vector2.Zero,
                Width           = 200,
                BackgroundColor = theme.MinimalShade
            });

            printerSelector.SelectionChanged += (s, e) =>
            {
                this.RebuildPlateOptions(partPreviewContent, theme);
            };

            var forcedHeight = printerSelector.Height;

            // add in the create printer button
            var createPrinter = new IconButton(AggContext.StaticData.LoadIcon("md-add-circle_18.png", 18, 18, theme.InvertIcons), theme)
            {
                Name        = "Create Printer",
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing.Clone(left: theme.ButtonSpacing.Right),
                ToolTipText = "Create Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight
            };

            createPrinter.Click += (s, e) =>
            {
                UiThread.RunOnIdle(() =>
                {
                    //simpleTabs.RemoveTab(simpleTabs.ActiveTab);

                    if (ApplicationController.Instance.ActivePrinter.Connection.PrinterIsPrinting ||
                        ApplicationController.Instance.ActivePrinter.Connection.PrinterIsPaused)
                    {
                        StyledMessageBox.ShowMessageBox("Please wait until the print has finished and try again.".Localize(), "Can't add printers while printing".Localize());
                    }
                    else
                    {
                        DialogWindow.Show(PrinterSetup.GetBestStartPage(PrinterSetup.StartPageOptions.ShowMakeModel));
                    }
                });
            };
            headingBar.AddChild(createPrinter);

            // add in the import printer button
            var importPrinter = new IconButton(AggContext.StaticData.LoadIcon("md-import_18.png", 18, 18, theme.InvertIcons), theme)
            {
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing,
                ToolTipText = "Import Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight
            };

            importPrinter.Click += (s, e) =>
            {
                UiThread.RunOnIdle(() =>
                {
                    AggContext.FileDialogs.OpenFileDialog(
                        new OpenFileDialogParams(
                            "settings files|*.ini;*.printer;*.slice"),
                        (result) =>
                    {
                        if (!string.IsNullOrEmpty(result.FileName) &&
                            File.Exists(result.FileName))
                        {
                            //simpleTabs.RemoveTab(simpleTabs.ActiveTab);
                            if (ProfileManager.ImportFromExisting(result.FileName))
                            {
                                string importPrinterSuccessMessage = "You have successfully imported a new printer profile. You can find '{0}' in your list of available printers.".Localize();
                                DialogWindow.Show(
                                    new ImportSucceeded(
                                        importPrinterSuccessMessage.FormatWith(Path.GetFileNameWithoutExtension(result.FileName))));
                            }
                            else
                            {
                                StyledMessageBox.ShowMessageBox("Oops! Settings file '{0}' did not contain any settings we could import.".Localize().FormatWith(Path.GetFileName(result.FileName)), "Unable to Import".Localize());
                            }
                        }
                    });
                });
            };
            headingBar.AddChild(importPrinter);

            this.printerInfo = printerInfo;

            this.RebuildPlateOptions(partPreviewContent, theme);

            // Rebuild on change
            ProfileManager.ProfilesListChanged.RegisterEvent((s, e) =>
            {
                this.RebuildPlateOptions(partPreviewContent, theme);
            }, ref unregisterEvents);
        }
Exemplo n.º 6
0
        public HardwareTreeView(ThemeConfig theme)
            : base(theme)
        {
            rootColumn = new FlowLayoutWidget(FlowDirection.TopToBottom)
            {
                HAnchor = HAnchor.Stretch,
                VAnchor = VAnchor.Fit
            };
            this.AddChild(rootColumn);

            // Printers
            printersNode = new TreeNode(theme)
            {
                Text             = "Printers".Localize(),
                HAnchor          = HAnchor.Stretch,
                AlwaysExpandable = true,
                Image            = StaticData.Instance.LoadIcon("printer.png", 16, 16, theme.InvertIcons)
            };
            printersNode.TreeView = this;

            var forcedHeight = 20 * GuiWidget.DeviceScale;
            var mainRow      = printersNode.Children.FirstOrDefault();

            mainRow.HAnchor = HAnchor.Stretch;
            mainRow.AddChild(new HorizontalSpacer());

            // add in the create printer button
            var createPrinter = new IconButton(StaticData.Instance.LoadIcon("md-add-circle_18.png", 18, 18, theme.InvertIcons), theme)
            {
                Name        = "Create Printer",
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing.Clone(left: theme.ButtonSpacing.Right),
                ToolTipText = "Create Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight
            };

            createPrinter.Click += (s, e) => UiThread.RunOnIdle(() =>
            {
                DialogWindow.Show(PrinterSetup.GetBestStartPage(PrinterSetup.StartPageOptions.ShowMakeModel));
            });
            mainRow.AddChild(createPrinter);

            // add in the import printer button
            var importPrinter = new IconButton(StaticData.Instance.LoadIcon("md-import_18.png", 18, 18, theme.InvertIcons), theme)
            {
                VAnchor     = VAnchor.Center,
                Margin      = theme.ButtonSpacing,
                ToolTipText = "Import Printer".Localize(),
                Height      = forcedHeight,
                Width       = forcedHeight,
                Name        = "Import Printer Button"
            };

            importPrinter.Click += (s, e) => UiThread.RunOnIdle(() =>
            {
                DialogWindow.Show(new CloneSettingsPage());
            });
            mainRow.AddChild(importPrinter);

            rootColumn.AddChild(printersNode);

            HardwareTreeView.CreatePrinterProfilesTree(printersNode, theme);
            this.Invalidate();

            // Filament
            var materialsNode = new TreeNode(theme)
            {
                Text             = "Materials".Localize(),
                AlwaysExpandable = true,
                Image            = StaticData.Instance.LoadIcon("filament.png", 16, 16, theme.InvertIcons)
            };

            materialsNode.TreeView = this;

            rootColumn.AddChild(materialsNode);

            // Register listeners
            PrinterSettings.AnyPrinterSettingChanged += Printer_SettingChanged;

            // Rebuild the treeview anytime the Profiles list changes
            ProfileManager.ProfilesListChanged.RegisterEvent((s, e) =>
            {
                HardwareTreeView.CreatePrinterProfilesTree(printersNode, theme);
                this.Invalidate();
            }, ref unregisterEvents);
        }