Пример #1
0
        private void ImageWorkSpace_WorkspaceTabClosing(object sender, CancelEventArgs e)
        {
            e.Cancel = false;
            CustomDialogResults result =
                MessageBoxService.ShowYesNo("Are you sure you want to close this tab?",
                                            CustomDialogIcons.Question);

            //if user did not want to cancel, keep workspace open
            if (result == CustomDialogResults.No)
            {
                e.Cancel = true;
            }
            //otherwise close workspace, and make sure to unhook WorkspaceTabClosing event
            //to prevent memory leak
            else
            {
                ((WorkspaceData)sender).WorkspaceTabClosing -= ImageWorkSpace_WorkspaceTabClosing;
            }
        }
Пример #2
0
        /// <summary>
        /// Creates and returns the menu items
        /// </summary>
        private List <CinchMenuItem> CreateMenus()
        {
            List <CinchMenuItem> menu = new List <CinchMenuItem>();

            // create the File Menu
            var miFile = new CinchMenuItem("File");

            menu.Add(miFile);

            var miExit = new CinchMenuItem("Exit")
            {
                IconUrl = @"/XRMS.Presentation;component/Images/Exit.png"
            };

            miExit.Command = new SimpleCommand <object, object>((x) =>
            {
                if (MessageBoxService.ShowYesNo(
                        "Would you like to exit application",
                        CustomDialogIcons.Question) == CustomDialogResults.Yes)
                {
                    Application.Current.Shutdown(0);
                }
            });
            miFile.Children.Add(miExit);

            // create the Managements Menu
            var miManagement = new CinchMenuItem("Managements");

            menu.Add(miManagement);

            switch ((Role)MainUser.RoleId)
            {
            case Role.Manager:
            {
                CinchMenuItem miInfo = new CinchMenuItem("Restaurant Info")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/RestaurantInfo.png"
                };
                miInfo.Command = new SimpleCommand <object, object>((x) =>
                    {
                        try
                        {
                            if (RestaurantInfo == null)
                            {
                                throw new ArgumentNullException("RestaurantInfo");
                            }

                            RestaurantInfoViewModel restaurantViewModel = new RestaurantInfoViewModel(this.MessageBoxService, RestaurantInfo, (IRestaurantManager)_restaurantManager);

                            // open dialog and return result when it is closed
                            bool?result = this.UIVisualizerService.ShowDialog("RestaurantInfoPopup", restaurantViewModel);

                            // code to check result
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    });
                miManagement.Children.Add(miInfo);

                CinchMenuItem miUsers = new CinchMenuItem("Users")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/User.png"
                };
                miUsers.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/User.png",
                                                                    "UsersManagementView", null, "Users Management", true);

                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miUsers);

                CinchMenuItem miTables = new CinchMenuItem("Tables")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Table.png"
                };
                miTables.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Table.png",
                                                                    "TablesManagementView", null, "Tables Management", true);

                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miTables);

                CinchMenuItem miProducts = new CinchMenuItem("Products")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Product.png"
                };
                miProducts.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Product.png",
                                                                    "ProductsManagementView", null, "Products Management", true);
                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miProducts);

                CinchMenuItem miMaterials = new CinchMenuItem("Materials")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Material.png"
                };
                miMaterials.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Material.png",
                                                                    "MaterialsManagementView", null, "Materials Management", true);
                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miMaterials);

                CinchMenuItem miCashierOrders = new CinchMenuItem("Cashier Orders")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Cashier.png"
                };
                miCashierOrders.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Cashier.png",
                                                                    "CashierOrdersView", null, "Orders Management", false);

                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miCashierOrders);

                CinchMenuItem miKitchenOrders = new CinchMenuItem("Kitchen Orders")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Kitchen.png"
                };
                miKitchenOrders.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Kitchen.png",
                                                                    "KitchenOrdersView", null, "Kitchen Management", true);

                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miKitchenOrders);
            }
            break;

            case Role.Cashier:
            {
                CinchMenuItem miCashierOrders = new CinchMenuItem("Cashier Orders")
                {
                    IconUrl = @"/XRMS.Presentation;component/Images/Cashier.png"
                };
                miCashierOrders.Command = new SimpleCommand <object, object>((x) =>
                    {
                        WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Cashier.png",
                                                                    "CashierOrdersView", null, "Orders Management", false);

                        WorkspaceData availableView = FindAvailableView(workspace);
                        if (availableView == null)
                        {
                            Views.Add(workspace);
                            SetActiveWorkspace(workspace);
                        }
                        else
                        {
                            SetActiveWorkspace(availableView);
                        }
                    });
                miManagement.Children.Add(miCashierOrders);
            }
            break;
            }

            /*CinchMenuItem menuImages = new CinchMenuItem("ImageLoaderView");
             * menuImages.Command = new SimpleCommand<object, object>((x) =>
             * {
             *  String imagePath = ConfigurationManager.AppSettings["YourImagePath"].ToString();
             *
             *  WorkspaceData workspaceImages = new WorkspaceData(@"/XRMS.Presentation;component/Images/imageIcon.png",
             *      "ImageLoaderView", imagePath, "Image View", true);
             *  workspaceImages.WorkspaceTabClosing += ImageWorkSpace_WorkspaceTabClosing;
             *
             *  Views.Add(workspaceImages);
             *  ShowContextMenu = false;
             * });
             * menuActions.Children.Add(menuImages);*/

            return(menu);
        }