Esempio n. 1
0
 public void Show()
 {
     this.loginView.ShowView();
     while (true)
     {
         string input = Console.ReadLine();
         Int16  pin;
         if (input.Length != 4)
         {
             // needs to be 4 digits
             this.loginView.ShowError("Please enter 4 digits.");
         }
         else if (!(Int16.TryParse(input, out (pin))))
         {
             // cannot parse.
             this.loginView.ShowError("please enter only numeric characters");
         }
         else
         {
             //valid
             if (!loginModel.checkLogin(pin))
             {
                 this.loginView.ShowError("incorrect pin.");
             }
             else
             {
                 // authenticated
                 this.loginView.ShowMessage("authenticated.");
                 break;
             }
         }
     }
     // authenticated, so lets show the menu.
     MenuHolder.GetMenuController().Show();
 }
Esempio n. 2
0
        public void SetupProgram()
        {
            // this is the "bootstrap" method, you could say.... ;)

            // create the DBManager static helper, and let it create the SQLite connection.
            DBManager.CreateConnection();

            // create menu controller, which holds a list of other controllers to generate menu.
            menuController = new MainMenuController();
            //add a reference to that controller to the static helper MenuHolder function.
            MenuHolder.SetMenuController(menuController);

            // create the login controller screen
            loginController = new LoginController();
            menuController.AddController(loginController);

            // create the table manager (loads tables from DB upon creation)
            tableManager = new TableManager();

            // create the item manager (loads items from DB upon creation)
            itemManager = new ItemManager();

            // create the TicketManager before creating the ticket controllers, so we can pass that in via reference
            ticketManager = new TicketManager();

            // create the order controller screen
            orderController = new OrderController(tableManager, itemManager, ticketManager);
            menuController.AddController(orderController);

            kitchenTicketController = new KitchenTicketController(ticketManager);
            menuController.AddController(kitchenTicketController);

            barTicketController = new BarTicketController(ticketManager);
            menuController.AddController(barTicketController);

            // create the item manager, and then the item view controller. Pass manager into controller.

            itemController = new ItemController(itemManager);
            menuController.AddController(itemController);

            // create the sales view controller, and add it to menu
            salesController = new SalesController();
            menuController.AddController(salesController);

            reservationController = new ReservationController(orderController);
            menuController.AddController(reservationController);

            // now we have all the mvc controllers created, create the "managers" for the data models.
            // each constructor should have a call to the DB helper class, to load it's data.

            customerManager = new CustomerManager();



            // load the contents from the

            // go to the login/auth page
            loginController.Show();
        }
Esempio n. 3
0
    // public int maxTime = 0;

    // private GameController() {
    //     stepCollection = new CookingStepCollection();
    // }

    // public static GameController GetInstance()
    // {
    //     return instance;
    // }

    private void Awake()   // 必须比别的脚本先调用
    {
        Screen.SetResolution(1600, 900, false);
        stepCollection = new CookingStepCollection();
        MenuHolder     = GameObject.FindWithTag("MenuHolder").GetComponent <MenuHolder>();
        timeHolder1    = GameObject.FindWithTag("TimeHolder1").GetComponent <TimeHolder>();
        timeHolder2    = GameObject.FindWithTag("TimeHolder2").GetComponent <TimeHolder>();
    }
Esempio n. 4
0
    public void exitToScene()
    {
        apply();
        GameObject permanent = GameObject.Find("Global_Scripts");

        permanent.GetComponent <Pause_Game> ().unPause();
        MenuHolder.hideCurrentMenu();
    }
        private void Init(IColorPreset colorPreset)
        {
            Color = colorPreset.DarkBackground;

            menuHolder = CreateChild <MenuHolder>("menu", 0);
            {
                menuHolder.Anchor   = AnchorType.TopStretch;
                menuHolder.Pivot    = PivotType.Top;
                menuHolder.RawWidth = 0f;
                menuHolder.Y        = 0f;
                menuHolder.Height   = 56f;
            }
            versionDisplay = CreateChild <VersionDisplay>("version", 1);
            {
                versionDisplay.Anchor   = AnchorType.TopStretch;
                versionDisplay.Pivot    = PivotType.Top;
                versionDisplay.RawWidth = 0f;
                versionDisplay.Y        = -56f;
                versionDisplay.Height   = 72f;
            }
            contentScroll = CreateChild <UguiScrollView>("content", 2);
            {
                contentScroll.Anchor = AnchorType.Fill;
                contentScroll.Offset = new Offset(0f, 128f, 0f, 0f);

                contentScroll.Background.Alpha = 0f;

                metaContainer = contentScroll.Container.CreateChild <MetaContainer>("meta");
                {
                    metaContainer.Anchor = AnchorType.TopStretch;
                    metaContainer.Pivot  = PivotType.Top;
                    metaContainer.Y      = -32f;
                    metaContainer.Height = 360f;
                    metaContainer.SetOffsetHorizontal(64f);
                }
                rankingContainer = contentScroll.Container.CreateChild <RankingContainer>("ranking");
                {
                    rankingContainer.Anchor = AnchorType.TopStretch;
                    rankingContainer.Pivot  = PivotType.Top;
                    rankingContainer.Y      = -424f;
                    rankingContainer.Height = 360f;
                    rankingContainer.SetOffsetHorizontal(64f);
                }
                actionsContainer = contentScroll.Container.CreateChild <ActionsContainer>("actions");
                {
                    actionsContainer.Anchor = AnchorType.TopStretch;
                    actionsContainer.Pivot  = PivotType.Top;
                    actionsContainer.Y      = -816f;
                    actionsContainer.Height = 48f;
                    actionsContainer.SetOffsetHorizontal(64f);
                }

                // Calculate height of the scrollview content.
                contentScroll.Container.Height = GetContentHeight();
            }
        }
Esempio n. 6
0
        public void Show()
        {
            this.view.ShowView();
            view.ShowReservation("| " + "id".PadRight(4) + "| " + "Customer Name".PadRight(20) + "| " + "table".PadRight(5) + "| " + "reservation date/time".PadRight(25) + "|");
            foreach (Reservation res in reservationList)
            {
                // uses ToString overload of res to return formatted details
                view.ShowReservation(res.ToString());
            }
            view.ShowMessage("Enter 'm' to go to main menu, 'a' to add a new reservation, or 'c' to check in a reservation");
            string input = "";

            while (true)
            {
                input = Console.ReadLine();
                switch (input)
                {
                case "m":
                    MenuHolder.GetMenuController().Show();
                    break;

                case "a":
                    view.ShowMessage("Enter the customers phone number to make a reservation");
                    int custId = DBManager.LookupCustomer(Console.ReadLine());
                    view.ShowMessage("Enter the reservation, in the format 'yyyy-MM-dd hh:mm:ss");
                    DateTime reqTime = DateTime.Parse(Console.ReadLine());
                    view.ShowMessage("Enter the table number");
                    int         tableNum = int.Parse(Console.ReadLine());
                    Reservation newRes   = new Reservation(DBManager.GetNextResId(), custId, tableNum, reqTime);
                    DBManager.AddReservation(newRes);
                    reservationList.Add(newRes);
                    Console.WriteLine("Reservation added. Press enter to refresh...");
                    Console.ReadLine();
                    Show();
                    break;

                case "c":
                    view.ShowMessage("Enter the ID from the table above, to check the reservation in.");
                    int         resId  = int.Parse(Console.ReadLine());
                    Reservation theRes = DBManager.GetReservation(resId);
                    orderController.NewDineInOrder(DBManager.GetCustomer(theRes.GetCustId()), DBManager.GetTable(theRes.GetTableId()));

                    break;

                default:
                    view.ShowError("Please enter either 'm', 'a' or 'c'");
                    break;
                }
            }
        }
Esempio n. 7
0
        public void Show()
        {
            view.ShowView();
            // get the sales from the DB:
            List <string> sales = DBManager.GetSales();

            foreach (string s in sales)
            {
                view.ShowSale(s);
            }
            view.ShowMessage("Press enter to go back to the main menu...");
            Console.ReadLine();
            MenuHolder.GetMenuController().Show();
        }
Esempio n. 8
0
 private void MenuHolder_Tap(object sender, System.Windows.Input.GestureEventArgs e)
 {
     if (Proxy != null)
     {
         if (!Proxy.IsEmotion && Proxy.IsGif)
         {
             var contextMenu = MenuHolder.GetValue(Microsoft.Phone.Controls.ContextMenuService.ContextMenuProperty) as Microsoft.Phone.Controls.ContextMenu;
             if (contextMenu != null)
             {
                 contextMenu.IsOpen = true;
             }
         }
         else
         {
             Proxy.IsForceShow = true;
         }
     }
 }
Esempio n. 9
0
 private void ImageHolder_Click(object sender, RoutedEventArgs e)
 {
     if (Proxy != null)
     {
         if (!Proxy.IsEmotion && Proxy.IsGif)
         {
             var contextMenu = MenuHolder.GetValue(ContextMenuService.ContextMenuProperty) as ContextMenu;
             if (contextMenu != null)
             {
                 contextMenu.IsOpen = true;
             }
         }
         else
         {
             Proxy.IsForceShow = true;
         }
     }
 }
Esempio n. 10
0
        public SmartImage()
        {
            InitializeComponent();
            SizeChanged            += (o, e) => SmartImageSizeChanged(e.NewSize);
            ImageHolder.DataContext = this;
#if S1Nyan
            var menu = new ContextMenu();
            menu.BorderBrush = (SolidColorBrush)Application.Current.Resources["PhoneBorderBrush"];
            menu.Background  = (SolidColorBrush)Application.Current.Resources["PhoneForegroundBrush"];
            var menuItem = new MenuItem();
            menuItem.Header  = AppResources.ImageShowInBrowser;
            menuItem.Click  += OpenInBrowser;
            menu.ItemsSource = new List <MenuItem> {
                menuItem
            };
            MenuHolder.SetValue(ContextMenuService.ContextMenuProperty, menu);
#endif
            Unloaded += OnUnload;
        }
        public void Show()
        {
            view.ShowView();
            view.ShowMenuItem("ID", "Name", "Description", "Price", "Type");
            foreach (IItem item in itemManager.GetItems())
            {
                view.ShowMenuItem(item.GetId().ToString(), item.GetName(), item.GetDescription(), item.GetPrice().ToString(), item.ToString());
            }
            view.ShowMessage("Enter 'm' to go back to the menu. Enter 'e' to edit an item. Enter 'c' to create a new item.");
            while (true)
            {
                string input = Console.ReadLine();
                switch (input)
                {
                case "m":
                    MenuHolder.GetMenuController().Show();
                    break;

                case "e":
                    view.ShowMessage("enter the item ID to edit");
                    string inc    = Console.ReadLine();
                    int    id     = 0;
                    bool   status = int.TryParse(inc, out (id));
                    while (!status || (id < 0 || id > itemManager.GetItems().Count))
                    {
                        view.ShowError("please enter a valid number");
                    }
                    EditItem(id);
                    break;

                case "c":
                    NewItem();
                    break;

                default:
                    Console.WriteLine("Please enter a valid command.");
                    break;
                }
            }
        }
Esempio n. 12
0
 void Update()
 {
     if (!GetComponent <InitialUI> ().gameTimer.timesUp)
     {
         if (getInputDown())
         {
             if (!paused)
             {
                 pause();
                 MenuHolder.showPauseMenu();
             }
             else
             {
                 unPause();
                 if (MenuHolder.currentDisplay != null && MenuHolder.currentDisplay.GetComponent <PauseMenu> () != null)
                 {
                     MenuHolder.hideCurrentMenu();
                 }
             }
         }
     }
 }
Esempio n. 13
0
    void Start()
    {
        dragRect = GetComponent <RectTransform>();
        transform.SetSiblingIndex(1); // 把这个物体放在最上,防止按不到

        MenuHolder  = GameObject.FindWithTag("MenuHolder").GetComponent <MenuHolder>();
        timeHolder1 = GameObject.FindWithTag("TimeHolder1").GetComponent <TimeHolder>();
        timeHolder2 = GameObject.FindWithTag("TimeHolder2").GetComponent <TimeHolder>();

        menuRect    = MenuHolder.transform.parent.GetComponent <RectTransform>();
        timeRect1   = timeHolder1.GetComponent <RectTransform>();
        timeRect2   = timeHolder2.GetComponent <RectTransform>();
        cookingStep = GetComponent <CookingStep>();

        children = GetComponentsInChildren <Transform>();
        clock    = children.Where(x => x.name == "ClockImage").First();

        rt         = children.Where(x => x.name == "Image").First().GetComponent <RectTransform>();
        frameImage = children.Where(x => x.name == "FrameImage").First().GetComponent <RectTransform>();

        animationController = FindObjectOfType <AnimationController>();
        cookingSteps        = FindObjectOfType <GameController>().stepCollection;
    }
Esempio n. 14
0
        public void Show()
        {
            this.view.ShowView();
            int i = 0;

            if (ticketMan.BarTickets().Count == 0)
            {
                this.view.ShowMessage("There are no current bar tickets. Press enter to return to the main menu.\n\n");
                Console.ReadLine();
                MenuHolder.GetMenuController().Show();
                // should jump back to main menu here
            }
            for (i = 0; i < ticketMan.BarTickets().Count; i++)
            {
                if (ticketMan.BarTickets()[i].Parent().GetType() == typeof(DineIn))
                {
                    // it's a dine in order
                    string items = "";
                    foreach (IItem itm in ticketMan.BarTickets()[i].BarItems())
                    {
                        items += "\t - " + itm.GetName() + "\n";
                    }
                    this.view.ShowTicket(ticketMan.BarTickets()[i].TableNumber(), items, (DateTime.Now - ticketMan.BarTickets()[i].TimeOpened()).ToString(), i);
                }
                if (ticketMan.BarTickets()[i].Parent().GetType() == typeof(TakeAway))
                {
                    // it's a takeaway ticket
                    string items = "";
                    foreach (IItem itm in ticketMan.BarTickets()[i].BarItems())
                    {
                        items += "\t - " + itm.GetName() + "\n";
                    }

                    this.view.ShowTicket(((TakeAway)ticketMan.BarTickets()[i].Parent()).Name(), items, (DateTime.Now - ticketMan.BarTickets()[i].TimeOpened()).ToString(), i);
                }
                i++;
            }
            this.view.ShowMessage("Enter a ticket number to mark it as complete.\nEnter 'm' to go back to the menu.");
            while (true)
            {
                string input = Console.ReadLine();
                int    selection;
                if (!Int32.TryParse(input, out (selection)))
                {
                    if (input != "m")
                    {
                        this.view.ShowError("Enter a valid option");
                        continue;
                    }
                    else
                    {
                        // m is entered - go back to the menu.
                        MenuHolder.GetMenuController().Show();
                    }
                }
                else
                {
                    if (selection > i || selection < 0)
                    {
                        this.view.ShowError("Enter a valid option");
                        continue;
                    }
                    else
                    {
                        // if there's ONLY drinks on the ticket, just remove it:
                        if (ticketMan.BarTickets()[selection].KitchenItems().Count == 0)
                        {
                            // no KITCHEN items on this ticket - delete ticket
                            ticketMan.Tickets().Remove(ticketMan.BarTickets()[selection]);
                        }
                        else
                        {
                            // there IS food stuff here too. just remove our bar stuff.
                            foreach (IItem itm in ticketMan.BarTickets()[selection].BarItems())
                            {
                                ticketMan.BarTickets()[selection].Items().Remove(itm);
                            }
                            // ticket should now have only BAR items on it. If we've removed the last item from the ticket, close it fully:
                        }
                        Show();
                    }
                }
            }
        }
Esempio n. 15
0
 public void showSettings()
 {
     MenuHolder.showControlsMenu();
 }
        public void Show()
        {
            view.Clear();
            if (orders.Count == 0)
            {
                view.ShowMessage("No currently active orders.\n\n");
            }
            else
            {
                view.ShowView();
                for (int o = 0; o < orders.Count; o++)
                {
                    view.ShowOrder(o, orders[o].TableNumber(), orders[o].OpenedFor(), orders[o].FormattedItemsOnOrder(), orders[o].GetOrderCost());
                }
            }
            while (true)
            {
                // main command input loop
                view.ShowMessage("Enter 'n' for a new order, 'e' to perform actions on an existing order, or 'p' to mark an order as paid.\n.Enter 'm' to go back to the main menu.");
                string input = Console.ReadLine();
                if (input == "e" && orders.Count <= 0)
                {
                    view.ShowError("There are no active orders to edit.");
                }
                else if (input == "p" && orders.Count <= 0)
                {
                    view.ShowError("There are no active orders to mark as paid.");
                }
                else if (input == "e")
                {
                    // EDIT ORDER
                    int numb;
                    while (true)
                    {
                        numb = -1;
                        view.ShowMessage("enter the number of the order to edit");
                        input = Console.ReadLine();
                        if (!int.TryParse(input, out (numb)))
                        {
                            view.ShowError("Please enter only numbers.");
                        }
                        if (numb >= orders.Count || numb < 0)
                        {
                            view.ShowError("Please enter a valid number in range");
                        }
                        else
                        {
                            view.ShowMessage("TODO");
                            EditOrder(orders[numb]);
                        }
                    }
                }
                else if (input == "p")
                {
                    // PAY FOR ORDER
                    int numb = -1;
                    while (true)
                    {
                        view.ShowMessage("enter the number of the order to mark as paid.");
                        input = Console.ReadLine();
                        int.TryParse(input, out (numb));
                        if (numb >= orders.Count || numb < 0)
                        {
                            view.ShowError("Please enter a valid number in range");
                        }
                        else
                        {
                            view.ShowMessage("Are you sure you wish to mark order " + numb.ToString() + "as paid, for a cost of $" + orders[numb].GetOrderCost().ToString() + "? (y/n)");
                            input = Console.ReadLine();
                            if (input == "y")
                            {
                                view.ShowMessage("Marking order as paid, and saving to DB...");
                                DBManager.SaveOrder(orders[numb]);
                                // order should be successfully written to DB, so we can delete the order now
                                orders.Remove(orders[numb]);
                                view.ShowMessage("Done! Press enter to go back to the main menu.");
                                Console.ReadLine();
                                MenuHolder.GetMenuController().Show();
                            }
                            else
                            {
                                Show();
                            }
                        }
                    }
                }
                else if (input == "n")
                {
                    // NEW ORDER
                    view.ShowMessage("Input 'd' for dine-in, 't' for takeaway");
                    input = Console.ReadLine();
                    while (true)
                    {
                        if (input == "d")
                        {
                            view.Clear();
                            view.ShowMessage("Please enter the customers phone number:");
                            string ph = Console.ReadLine();
                            while (true)
                            {
                                if (ph.Length < 8 || ph.Length > 10)
                                {
                                    view.ShowError("Please enter a valid phone number");
                                    ph = Console.ReadLine();
                                }
                                else
                                {
                                    break;
                                }
                            }
                            // we have a phone number. look up in DB, create user if doesn't exist.
                            int custId = DBManager.LookupCustomer(ph);
                            if (custId == -1)
                            {
                                view.ShowMessage("New customer. Enter a name (optional)");
                                string name = "";
                                name = Console.ReadLine();
                                view.ShowMessage("Enter an address (optional)");
                                string address = "";
                                address = Console.ReadLine();

                                // get the next avail custID
                                int newId = DBManager.GetNextCustomerId();

                                // create the customer, and write to DB
                                Customer cust = new Customer(newId, name, ph, address, DateTime.Now);
                                DBManager.AddCustomer(cust);

                                // find the table
                                view.ShowMessage("Enter the table number customer is seated at:");
                                int tableNumber = int.Parse(Console.ReadLine());

                                // look that table up from the tableManager
                                Table orderTable = tableManager.GetTable(tableNumber);
                                // now lets make the order
                                NewDineInOrder(cust, orderTable);
                            }
                            else
                            {
                                view.ShowMessage("existing customer found.");
                                // find the table
                                view.ShowMessage("Enter the table number customer is seated at:");
                                int tableNumber = int.Parse(Console.ReadLine());

                                // look that table up from the tableManager
                                Table orderTable = tableManager.GetTable(tableNumber);
                                // now lets make the order
                                NewDineInOrder(DBManager.GetCustomer(custId), orderTable);
                            }
                        }
                        else if (input == "t")
                        {
                            // take-away
                            view.Clear();
                            view.ShowMessage("Please enter the customers phone number:");
                            string ph = Console.ReadLine();
                            while (true)
                            {
                                if (ph.Length < 8 || ph.Length > 10)
                                {
                                    view.ShowError("Please enter a valid phone number");
                                    ph = Console.ReadLine();
                                }
                                else
                                {
                                    break;
                                }
                            }
                            // we have a phone number. look up in DB, create user if doesn't exist.
                            int custId = DBManager.LookupCustomer(ph);
                            if (custId == -1)
                            {
                                view.ShowMessage("New customer. Enter a name (optional)");
                                string name = "";
                                name = Console.ReadLine();
                                view.ShowMessage("Enter an address (optional)");
                                string address = "";
                                address = Console.ReadLine();

                                // get the next avail custID
                                int newId = DBManager.GetNextCustomerId();

                                // create the customer, and write to DB
                                Customer cust = new Customer(newId, name, ph, address, DateTime.Now);
                                DBManager.AddCustomer(cust);

                                NewTakeAwayOrder(cust);
                            }
                            else
                            {
                                // now lets make the order
                                NewTakeAwayOrder(DBManager.GetCustomer(custId));
                            }
                        }
                        else
                        {
                            view.ShowError("Please enter d or t");
                        }
                    }
                }
                else if (input == "m")
                {
                    MenuHolder.GetMenuController().Show();
                }
                else
                {
                    view.ShowError("Please only enter 'n', 'e', 'p', or 'm'.");
                }
            }
        }
Esempio n. 17
0
 public void exitToSettings()
 {
     apply();
     MenuHolder.showPauseMenu();
     //TODO change this to settings when settings is made
 }
Esempio n. 18
0
 public void resumeGame()
 {
     MenuHolder.hideCurrentMenu();
     globalScripts.GetComponent <Pause_Game> ().unPause();
 }
Esempio n. 19
0
 private void exitInMainMenu()
 {
     apply();
     MenuHolder.hideCurrentMenu();
 }