Example #1
0
 private void UpdateTicketOptions(TextBlockButton button)
 {
     if ((SessionManager.ActiveTicketItem == null) || (button == null))
     {
         return;
     }
     // DEBUG: This isn't always going to be 'this' simple... If the ingredient
     // is already on, then it's might be getting removed (not added)... It
     // might also indicate the addition of extra. Change count (the constant '1',
     // in the Add() below) is always positive, even on deletions. It's a factor
     // that allows support for "extra-extra" type options.
     if (button.IsChecked == true)
     {
         if (!TicketItemOption.HasOption(SessionManager.ActiveTicketItem.PrimaryKey,
                                         GetId(button)))
         {
             TicketItemOption option =
                 TicketItemOption.Add(SessionManager.ActiveTicketItem.PrimaryKey.Id,
                                      GetId(button), PosModels.Types.TicketItemOptionType.None, 1);
         }
     }
     else
     {
         TicketItemOption.Delete(SessionManager.ActiveTicketItem,
                                 GetId(button), true);
     }
     OrderEntryControl.UpdateDisplayedOrderAmount();
 }
Example #2
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:

            #line 12 "..\..\..\MainWindow.xaml"
                ((TemPOS.MainWindow)(target)).Closing += new System.ComponentModel.CancelEventHandler(this.Window_Closing);

            #line default
            #line hidden

            #line 12 "..\..\..\MainWindow.xaml"
                ((TemPOS.MainWindow)(target)).Closed += new System.EventHandler(this.Window_Closed);

            #line default
            #line hidden

            #line 13 "..\..\..\MainWindow.xaml"
                ((TemPOS.MainWindow)(target)).Loaded += new System.Windows.RoutedEventHandler(this.Window_Loaded);

            #line default
            #line hidden
                return;

            case 2:
                this.Configuration = ((PosControls.ConfigurationManager)(target));
                return;

            case 3:

            #line 17 "..\..\..\MainWindow.xaml"
                ((System.Windows.Controls.Grid)(target)).Initialized += new System.EventHandler(this.Grid_Initialized);

            #line default
            #line hidden
                return;

            case 4:
                this.mainPane = ((System.Windows.Controls.DockPanel)(target));
                return;

            case 5:
                this.orderEntryControl = ((TemPOS.OrderEntryControl)(target));
                return;

            case 6:
                this.loginControl = ((TemPOS.LoginControl)(target));
                return;
            }
            this._contentLoaded = true;
        }
Example #3
0
        private void textBoxManagerComments_CommitEdit(object sender, EventArgs e)
        {
            string text = textBoxManagerComments.Text;

            if ((text != null) && text.Equals(""))
            {
                text = null;
            }
            SelectedTicket.SetManagerNote(text);
            SelectedTicket.Update();

            OrderEntryControl.InitializeTicketSelection(SelectedTicket);
        }
Example #4
0
        private void NotifyParent(bool sameButton)
        {
            Item item = SessionManager.ActiveItem;

            if ((SessionManager.ActiveCategory == null) || (item == null))
            {
                return;
            }

            // Add a new item
            OrderEntryControl.ClearItemOptions();
            SessionManager.ActiveItem = item;
            OrderEntryControl.AddItemToOrder(item);
            SessionManager.ActiveItem = item;
            OrderEntryControl.UpdateDisplayedOrderAmount();
            OrderEntryControl.SetItemOptions();
        }
Example #5
0
        private void UpdateItems()
        {
            // Clear the Item Options
            OrderEntryControl.ClearItemOptions();

            if (SessionManager.ActiveItem == null)
            {
                OrderEntryControl.ClearReceiptTape();
            }

            SessionManager.ActiveCategory = ActiveCategory;

            // Move back to OrderEnteryControl, instead, call an event handler here
            if (SessionManager.ActiveCategory != null)
            {
                OrderEntryControl.SetCategory();
            }
        }
Example #6
0
 private void UpdateTicketOptions(TextBlockButton button)
 {
     if (button.IsChecked == true)
     {
         if (!TicketItemOption.HasOption(SessionManager.ActiveTicketItem.PrimaryKey,
                                         GetId(button)))
         {
             TicketItemOption option =
                 TicketItemOption.Add(SessionManager.ActiveTicketItem.PrimaryKey.Id,
                                      GetId(button), PosModels.Types.TicketItemOptionType.Add, 1);
         }
     }
     else
     {
         TicketItemOption.Delete(
             SessionManager.ActiveTicketItem,
             GetId(button), true);
     }
     OrderEntryControl.UpdateDisplayedOrderAmount();
 }
Example #7
0
        public OrderEntryControl()
        {
            if (Singleton != null)
            {
                throw new Exception("OrderEntryControl Singleton Exception");
            }
            Singleton = this;
            InitializeComponent();
            InitializeStatusBarUpdate();
            InitializeSessionManager();
            InitializeReceiptTape();
            InitializeCheckFutureOrdersTimer();
            InitializeSpeechCommands();
            InitializeBroadcastMessageEventHanlder();

            // Wired into XAML this causes an exception in Release build
            OrderEntryTicketSelectionControl.SelectedTicketChanged +=
                ticketSelectionControl_SelectedTicketChanged;

            StringsCore.LanguageChanged += StringsCore_LanguageChanged;
        }
        public void RemoveSelectedItemFromReceiptTape()
        {
            // Remove all child items
            List <TicketItemTemplate> childTicketItems =
                (from TicketItemTemplate item in Items
                 where item.TicketItem.ParentTicketItemId == SelectedItem.TicketItem.PrimaryKey.Id
                 select item).ToList();

            foreach (TicketItemTemplate childTicketItem in childTicketItems)
            {
                Items.Remove(childTicketItem);
            }
            // Remove the item from the receipt tape
            Items.Remove(SelectedItem);
            OrderEntryControl.SetOrderAmountText(TicketSubTotal.ToString("C2"));
            SessionManager.ResetItemEntry();

            OrderEntryControl.InitializeTicket();
            OrderEntryCommands.UpdateInOrderCommands();
            ClearSelection();
        }
        public void InitializeListBox(TicketSelectionShow show)
        {
            var tickets = new List <Ticket>();

            if (show == TicketSelectionShow.All)
            {
                tickets.AddRange(TicketManager.GetAllTickets());
            }
            else if (show == TicketSelectionShow.Range)
            {
                tickets.AddRange(TicketManager.GetRange(RangeStart, RangeEnd));
            }
            else if (show == TicketSelectionShow.AllDay)
            {
                if (DayOfOperation.Today != null)
                {
                    tickets.AddRange(TicketManager.GetRange(DayOfOperation.Today.StartOfDay, DateTime.Now));
                }
                else
                {
                    DayOfOperation lastDay =
                        DayOfOperation.GetLatestInYear(DayOfOperation.CurrentYear);
                    if (lastDay.EndOfDay != null)
                    {
                        tickets.AddRange(TicketManager.GetRange(lastDay.StartOfDay, lastDay.EndOfDay.Value));
                    }
                }
            }
            else if (show == TicketSelectionShow.AllOpen)
            {
                tickets.AddRange(TicketManager.GetOpenTickets());
            }
            else if (show == TicketSelectionShow.MyOpen)
            {
                tickets.AddRange(TicketManager.GetOpenTickets(SessionManager.ActiveEmployee.Id));
            }
            else if (show == TicketSelectionShow.Closed)
            {
                tickets.AddRange(TicketManager.GetTodaysClosedTickets());
            }
            else if (show == TicketSelectionShow.Canceled)
            {
                tickets.AddRange(TicketManager.GetTodaysCanceledTickets());
            }
            else if (show == TicketSelectionShow.Dispatched)
            {
                tickets.AddRange(TicketManager.GetDispatchedTickets());
            }
            else if (show == TicketSelectionShow.Future)
            {
                tickets.AddRange(TicketManager.GetFutureOrderTickets());
            }

            Items.Clear();
            foreach (Ticket ticket in tickets
                     .Where(ticket => (TicketTypeFilterControl.CurrentFilter == null) ||
                            (TicketTypeFilterControl.CurrentFilter.Value == ticket.Type)))
            {
                string  text;
                Seating seat = SeatingManager.GetSeating(ticket.SeatingId);
                if (seat != null)
                {
                    text = (ticket.OrderId != null ? Types.Strings.Order + ": " + ticket.OrderId.Value + ", " : "") +
                           Types.Strings.Ticket + ": " + ticket.PrimaryKey.Id + (ticket.PartyId != 0 ?
                                                                                 Types.Strings.Party + ticket.PartyId : "") + ", " + seat.Description +
                           Environment.NewLine + Types.Strings.CreateTime + ticket.CreateTime;
                    if (!String.IsNullOrEmpty(ticket.ManagerNote))
                    {
                        text += Environment.NewLine + Types.Strings.Comment +
                                ticket.ManagerNote;
                    }
                }
                else
                {
                    text = (ticket.OrderId != null ?
                            Types.Strings.Order + ": " + ticket.OrderId.Value +
                            ", " : "") + Types.Strings.Ticket + ": " + ticket.PrimaryKey.Id + (ticket.PartyId != 0 ?
                                                                                               Types.Strings.Party + ticket.PartyId : "") + ", " + ticket.Type.GetFriendlyName() +
                           Environment.NewLine + Types.Strings.CreateTime + ticket.CreateTime;
                    if (!String.IsNullOrEmpty(ticket.ManagerNote))
                    {
                        text += Environment.NewLine + Types.Strings.Comment +
                                ticket.ManagerNote;
                    }
                }
                AddItem(ticket, text);
            }
            OrderEntryControl.SetDisplayedTicketTypeToStatusBar();
        }
        private void CreateTicketCommand()
        {
            // Make sure that start-of-day has occured
            if (DayOfOperation.Today == null)
            {
                PosDialogWindow.ShowDialog(
                    Types.Strings.YouCanNotCreateTicketsUntilStartOfDayHasBeenCompleted,
                    Types.Strings.RequiresStartOfDay, DialogButtons.Ok);
                return;
            }

            // Create the seating selection control
            if (ConfigurationManager.UseSeating)
            {
                PosDialogWindow window  = SeatingSelectionControl.CreateInDefaultWindow();
                var             control = window.DockedControl as SeatingSelectionControl;
                if (control == null)
                {
                    return;
                }
                control.InitializeFromTicket(null);

                // Show the dialog
                PosDialogWindow.ShowPosDialogWindow(window);

                if (!window.ClosedByUser)
                {
                    SessionManager.ActiveTicket =
                        TicketManager.Add(control.TicketType, Party.NoPartyId,
                                          control.SelectedSeatingId, SessionManager.ActiveEmployee.Id,
                                          ((control.SelectedCustomer != null) ?
                                           control.SelectedCustomer.Id : Customer.NoCustomerId));
                    SelectedTicket = SessionManager.ActiveTicket;
                    OrderEntryControl.SetAndLoadActiveTicket(SessionManager.ActiveTicket);
                }
                MainWindow.ShowWindowShadingOverlay = false;
            }
            else
            {
                SessionManager.ActiveTicket = TicketManager.Add(TicketType.DineIn,
                                                                Party.NoPartyId, Seating.NoSeatingId, SessionManager.ActiveEmployee.Id,
                                                                Customer.NoCustomerId);
                SelectedTicket = SessionManager.ActiveTicket;
                OrderEntryControl.SetAndLoadActiveTicket(SessionManager.ActiveTicket);
            }

            // Stop auto-logoff timer, if it should be disabled
            StoreSetting setting =
                SettingManager.GetStoreSetting("EnableAutoLogoffWhileInOrderEntry");

            if ((setting.IntValue == null) || (setting.IntValue.Value == 0))
            {
                LoginControl.StopAutoLogoutTimer();
            }

            // Need to change displayed tickets to open tickets, otherwise it will cause
            //  an exception in the TicketCashoutControl when cashing-out from in-order
            if ((TicketFilterControl.CurrentFilter != TicketSelectionShow.MyOpen) &&
                (TicketFilterControl.CurrentFilter != TicketSelectionShow.AllOpen) &&
                (TicketFilterControl.CurrentFilter != TicketSelectionShow.AllDay) &&
                (TicketFilterControl.CurrentFilter != TicketSelectionShow.All))
            {
                TicketFilterControl.CurrentFilter = TicketSelectionShow.MyOpen;
            }
            UpdateTickets();
        }