コード例 #1
0
 /// <summary>
 /// Cancel selected menu order item.
 /// If this item is new order, delete from list.
 /// If this item already print to kitchen, mark for cancel.
 /// </summary>
 /// <param name="item">Order bill item to cancel</param>
 /// <returns>true = success, false = fail</returns>
 public static bool CancelOrderBillItem(OrderBill selectedBill, OrderBillItem item, int employeeID)
 {
     if (selectedBill == null || selectedBill.CloseBillDate != DateTime.MinValue)
         return false;
     if (item.BillDetailID == 0)
     {
         // Case item is new order
         OrderBillItem[] oldItems = selectedBill.Items;
         if (oldItems != null && oldItems.Length > 1)
         {
             // Remove old item
             selectedBill.Items = new OrderBillItem[oldItems.Length - 1];
             int cnt = 0;
             for (int i = 0;i < oldItems.Length;i++)
             {
                 if (oldItems[i] != item)
                 {
                     selectedBill.Items[cnt] = oldItems[i];
                     cnt++;
                 }
             }
         }
         else
             selectedBill.Items = null;
     }
     else
     {
         // Case item already print to kitchen.
         item.CancelReasonID = Utils.CancelForm.Show("Select Cancel Reason");
         item.Status = 0; // Cancel status
         item.EmployeeID = employeeID;
         item.ChangeFlag = true;
     }
     return true;
 }
コード例 #2
0
 /// <summary>
 /// Add Menu Item to Selected Bill by menu item.
 /// </summary>
 /// <param name="menu">Menu Item for insert to selected bill.</param>
 public static OrderBillItem AddOrderBillItem(OrderBill selectedBill, MenuService.MenuItem menu, int employeeID)
 {
     OrderBillItem item = new OrderBillItem();
     item.MenuID = menu.ID;
     item.Unit = 1;
     item.DefaultOption = true;
     item.Status = 1; // New Order Status
     item.EmployeeID = employeeID;
     item.ChangeFlag = true;
     if (AddOrderBillItem(selectedBill, item))
         return item;
     else
         return null;
 }
コード例 #3
0
 public static OrderBillItem AddOrderBillItem(OrderBill selectedBill, MenuItem menu, int employeeID)
 {
     OrderBillItem item = new OrderBillItem();
     item.MenuID = menu.ID;
     item.Unit = 1;
     item.DefaultOption = true;
     item.Status = 1;
     item.EmployeeID = employeeID;
     item.ServeTime = AppParameter.MinDateTime;
     item.ChangeFlag = true;
     if (AddOrderBillItem(selectedBill, item))
     {
         return item;
     }
     return null;
 }
コード例 #4
0
 /// <summary>
 /// Add Menu Item to Selected Bill by order bill item.
 /// </summary>
 /// <param name="item">Order bill item for insert to selected bill.</param>
 /// <returns>true = success, false = fail</returns>
 public static bool AddOrderBillItem(OrderBill selectedBill, OrderBillItem item)
 {
     if (selectedBill == null || selectedBill.CloseBillDate != DateTime.MinValue)
         return false;
     OrderBillItem[] oldItems = selectedBill.Items;
     if (oldItems != null)
     {
         // Append new order
         selectedBill.Items = new OrderBillItem[oldItems.Length + 1];
         for (int i = 0;i < oldItems.Length;i++)
             selectedBill.Items[i] = oldItems[i];
     }
     else
         selectedBill.Items = new OrderBillItem[1];
     selectedBill.Items[selectedBill.Items.Length - 1] = item;
     return true;
 }
コード例 #5
0
 // Methods
 public static bool AddOrderBillItem(OrderBill selectedBill, OrderBillItem item)
 {
     if ((selectedBill == null) || (selectedBill.CloseBillDate != AppParameter.MinDateTime))
     {
         return false;
     }
     OrderBillItem[] items = selectedBill.Items;
     if (items != null)
     {
         selectedBill.Items = new OrderBillItem[items.Length + 1];
         for (int i = 0; i < items.Length; i++)
         {
             selectedBill.Items[i] = items[i];
         }
     }
     else
     {
         selectedBill.Items = new OrderBillItem[1];
     }
     selectedBill.Items[selectedBill.Items.Length - 1] = item;
     return true;
 }
コード例 #6
0
 public override void UpdateForm()
 {
     int userID;
     this.selectedItem = null;
     this.menuTypes = MenuManagement.MenuTypes;
     this.menuOptions = MenuManagement.MenuOptions;
     if (((MainForm) base.MdiParent).User != null)
     {
         userID = ((MainForm) base.MdiParent).User.UserID;
     }
     else
     {
         userID = this.selectedBill.EmployeeID;
     }
     this.receipt = new Receipt(this.selectedBill, userID);
     this.DiscountPad.Items.Clear();
     this.discountSelected.Clear();
     this.paymentSelected.Clear();
     this.LoadDiscountSelected();
     this.LblPageID.Text = "Employee ID:" + userID.ToString() + " | STCB011";
     if (AppParameter.IsDemo())
     {
         this.LblTotalChange.Text = "Change";
         this.LblGuest.Text = "Guest";
     }
     else
     {
         this.LblTotalChange.Text = "Tip";
         this.LblGuest.Text = "Seat";
     }
     this.StartInputNone();
     this.UpdateTableInformation();
     this.UpdateSummary();
     this.UpdateOrderGrid();
     this.UpdateDiscountList();
     this.UpdatePaymentTypeList();
 }
コード例 #7
0
 private void ListOrderItem_ItemClick(object sender, ItemsListEventArgs e)
 {
     this.StartInputNone();
     if (e.Item.Value is OrderBill)
     {
         this.selectedBill = (OrderBill) e.Item.Value;
         this.selectedItem = null;
         this.UpdateOrderGrid();
     }
     else if (e.Item.Value is OrderBillItem)
     {
         this.selectedItem = (OrderBillItem) e.Item.Value;
         for (int i = 0; (i >= 0) && (i < this.orderInfo.Bills.Length); i++)
         {
             if (this.orderInfo.Bills[i].Items != null)
             {
                 for (int j = 0; j < this.orderInfo.Bills[i].Items.Length; j++)
                 {
                     if (this.orderInfo.Bills[i].Items[j] == this.selectedItem)
                     {
                         this.selectedBill = this.orderInfo.Bills[i];
                         i = -2;
                         break;
                     }
                 }
             }
         }
         this.UpdateOrderGrid();
     }
 }
コード例 #8
0
 /// <summary>
 /// Initial form when start take order.
 /// (Call this method from outside)
 /// </summary>
 public override void UpdateForm()
 {
     LoadMenus();
     // Check for reserve mode
     takeOutMode = (tableInfo.TableID == 0);
     OrderService.OrderService service = new OrderService.OrderService();
     if (!takeOrderResume)
     {
         // Load old table order information (Web Services)
         if (!takeOutMode)
         {
             orderInfo = service.GetOrder(tableInfo.TableID);
             if (orderInfo != null)
             {
                 if (tableInfo.TableID != orderInfo.TableID)
                 {
                     TableService.TableService tabService = new TableService.TableService();
                     tableInfo = tabService.GetTableInformation(orderInfo.TableID);
                 }
                 tableIDList = service.GetTableReference(orderInfo.OrderID);
             }
             else
                 tableIDList = null;
         }
         else if (takeOutOrderID > 0)
         {
             orderInfo = service.GetOrderByOrderID(takeOutOrderID);
             tableIDList = null;
         }
         else
         {
             orderInfo = null;
             tableIDList = null;
         }
         // Reset input
         isChanged = false;
     }
     else
     {
         if (!takeOutMode)
             orderInfo = service.GetOrder(tableInfo.TableID);
     }
     // Check exist order information
     if (orderInfo != null)
     {
         // Found (Edit order)
         guestNumber = orderInfo.NumberOfGuest;
         billNumber = orderInfo.Bills.Length;
     }
     else if (guestNumber <= 0)
     {
         // Not found (New order)
         guestNumber = billNumber = 1;
     }
     // Check Demo version
     if (AppParameter.IsDemo())
     {
         ListOrderItem.ItemWidth = 240;
         ListOrderCount.Left = 248;
         ListOrderItemBy.Visible = true;
         LblGuest.Text = "Guest";
     }
     else
     {
         ListOrderItem.ItemWidth = 280;
         ListOrderCount.Left = 288;
         ListOrderItemBy.Visible = false;
         LblGuest.Text = "Seat";
     }
     ListOrderCount.Left = ListOrderItem.Left + ListOrderItem.ItemWidth;
     // Clear Input
     selectedBill = null;
     selectedItem = null;
     selectedType = null;
     if (orderInfo != null && orderInfo.Bills != null)
     {
         for (int i = 0;i < orderInfo.Bills.Length;i++)
             if (orderInfo.Bills[i].CloseBillDate == DateTime.MinValue)
             {
                 selectedBill = orderInfo.Bills[i];
                 break;
             }
     }
     // Update screen
     LblPageID.Text = "Employee ID:" + ((MainForm)MdiParent).UserID + " | ";
     if (takeOutMode)
         LblPageID.Text += "STTO021";
     else
         LblPageID.Text += "STTO011";
     PanCustName.Visible = takeOutMode;
     BtnSearch.Visible = takeOutMode;
     OptionPad.AutoRefresh = false;
     OptionPad.Red = OptionPad.Green = OptionPad.Blue = 1;
     OptionPad.AutoRefresh = true;
     ListOrderItem.Reset();
     ListOrderCount.Reset();
     ListOrderItemBy.Reset();
     UpdateTableInformation();
     StartInputMenu();
 }
コード例 #9
0
 private void ListOrderItem_ItemClick(object sender, smartRestaurant.Controls.ItemsListEventArgs e)
 {
     OrderBill bill = null;
     OrderBillItem item = null;
     // Check for move item
     if (moveItem)
     {
         bill = selectedBill;
         item = selectedItem;
     }
     // Check for selected item and selected bill
     if (e.Item.Value is OrderBill)
     {
         selectedBill = (OrderBill)e.Item.Value;
         selectedItem = null;
         StartInputMenu();
     }
     else if (e.Item.Value is OrderBillItem)
     {
         selectedItem = (OrderBillItem)e.Item.Value;
         for (int i = 0;i >= 0 && i < orderInfo.Bills.Length;i++)
         {
             if (orderInfo.Bills[i].Items != null)
             {
                 for (int j = 0;j < orderInfo.Bills[i].Items.Length;j++)
                     if (orderInfo.Bills[i].Items[j] == selectedItem)
                     {
                         selectedBill = orderInfo.Bills[i];
                         i = -2;
                         break;
                     }
             }
         }
         if (selectedBill.CloseBillDate != DateTime.MinValue)
             StartInputMenu();
         else
             StartInputOption();
     }
     // Move item
     if (item != null)
     {
         if (bill != selectedBill)
         {
             if (OrderManagement.MoveOrderBillItem(bill, selectedBill, item))
             {
                 isChanged = true;
                 UpdateOrderGrid();
             }
         }
         else
             UpdateOrderGrid();
     }
 }
コード例 #10
0
 /// <summary>
 /// This method use for user to select bill item list. This method will check for user
 /// click is bill item or order bill and will change selectedBill and selectedItem variable
 /// to.
 /// </summary>
 /// <param name="sender">Sender object</param>
 /// <param name="e">Event object</param>
 private void ListOrderItem_ItemClick(object sender, smartRestaurant.Controls.ItemsListEventArgs e)
 {
     StartInputNone();
     if (e.Item.Value is OrderBill)
     {
         selectedBill = (OrderBill)e.Item.Value;
         selectedItem = null;
         UpdateOrderGrid();
     }
     else if (e.Item.Value is OrderBillItem)
     {
         selectedItem = (OrderBillItem)e.Item.Value;
         for (int i = 0;i >= 0 && i < orderInfo.Bills.Length;i++)
         {
             if (orderInfo.Bills[i].Items != null)
             {
                 for (int j = 0;j < orderInfo.Bills[i].Items.Length;j++)
                     if (orderInfo.Bills[i].Items[j] == selectedItem)
                     {
                         selectedBill = orderInfo.Bills[i];
                         i = -2;
                         break;
                     }
             }
         }
         UpdateOrderGrid();
     }
 }
コード例 #11
0
 public override void UpdateForm()
 {
     this.LoadMenus();
     this.takeOutMode = this.tableInfo.TableID == 0;
     smartRestaurant.OrderService.OrderService service = new smartRestaurant.OrderService.OrderService();
     if (!this.takeOrderResume)
     {
         if (!this.takeOutMode)
         {
             this.orderInfo = service.GetOrder(this.tableInfo.TableID);
             if (this.orderInfo != null)
             {
                 if (this.tableInfo.TableID != this.orderInfo.TableID)
                 {
                     this.tableInfo = this.tabService.GetTableInformation(this.orderInfo.TableID);
                 }
                 this.tableIDList = service.GetTableReference(this.orderInfo.OrderID);
             }
             else
             {
                 this.tableIDList = null;
             }
         }
         else if (this.takeOutOrderID > 0)
         {
             this.orderInfo = service.GetOrderByOrderID(this.takeOutOrderID);
             this.tableIDList = null;
         }
         else
         {
             this.orderInfo = null;
             this.tableIDList = null;
         }
         this.isChanged = false;
     }
     else if (!this.takeOutMode)
     {
         this.orderInfo = service.GetOrder(this.tableInfo.TableID);
     }
     if (this.orderInfo != null)
     {
         this.guestNumber = this.orderInfo.NumberOfGuest;
         this.billNumber = this.orderInfo.Bills.Length;
     }
     else if (this.guestNumber <= 0)
     {
         this.guestNumber = this.billNumber = 1;
     }
     if (AppParameter.IsDemo())
     {
         this.ListOrderItem.ItemWidth = 240;
         this.ListOrderCount.Left = 0xf8;
         this.ListOrderItem.Row = 14;
         this.ListOrderCount.Row = 14;
         this.ListOrderItemBy.Row = 14;
         this.ListOrderItemBy.Visible = true;
         this.LblTotalText.Visible = false;
         this.LblTotalValue.Visible = false;
         this.LblGuest.Text = "Guest";
     }
     else
     {
         if (AppParameter.ShowOrderItemPrice)
         {
             this.ListOrderItem.ItemWidth = 240;
             this.ListOrderCount.Left = 0xf8;
             this.ListOrderCount.ItemWidth = 80;
             this.ListOrderItem.Row = 13;
             this.ListOrderCount.Row = 13;
             this.LblTotalText.Visible = true;
             this.LblTotalValue.Visible = true;
         }
         else
         {
             this.ListOrderItem.ItemWidth = 280;
             this.ListOrderCount.Left = 0x120;
             this.ListOrderCount.ItemWidth = 40;
             this.ListOrderItem.Row = 14;
             this.ListOrderCount.Row = 14;
             this.LblTotalText.Visible = false;
             this.LblTotalValue.Visible = false;
         }
         this.ListOrderItemBy.Visible = false;
         this.LblGuest.Text = "Seat";
     }
     this.ListOrderCount.Left = this.ListOrderItem.Left + this.ListOrderItem.ItemWidth;
     this.selectedBill = null;
     this.selectedItem = null;
     this.selectedType = null;
     if ((this.orderInfo != null) && (this.orderInfo.Bills != null))
     {
         for (int i = 0; i < this.orderInfo.Bills.Length; i++)
         {
             if (this.orderInfo.Bills[i].CloseBillDate == AppParameter.MinDateTime)
             {
                 this.selectedBill = this.orderInfo.Bills[i];
                 break;
             }
         }
     }
     this.LblPageID.Text = "Employee ID:" + ((MainForm) base.MdiParent).UserID + " | ";
     if (this.takeOutMode)
     {
         this.LblPageID.Text = this.LblPageID.Text + "STTO021";
     }
     else
     {
         this.LblPageID.Text = this.LblPageID.Text + "STTO011";
     }
     this.PanCustName.Visible = this.takeOutMode;
     this.BtnSearch.Visible = this.takeOutMode;
     this.OptionPad.AutoRefresh = false;
     this.OptionPad.Red = this.OptionPad.Green = this.OptionPad.Blue = 1f;
     this.OptionPad.AutoRefresh = true;
     this.ListOrderItem.Reset();
     this.ListOrderCount.Reset();
     this.ListOrderItemBy.Reset();
     this.UpdateTableInformation();
     this.StartInputMenu();
 }
コード例 #12
0
 public static bool MoveOrderBillItem(OrderBill sourceBill, OrderBill destBill, OrderBillItem item)
 {
     if (((sourceBill == null) || (sourceBill.CloseBillDate != AppParameter.MinDateTime)) || ((destBill == null) || (destBill.CloseBillDate != AppParameter.MinDateTime)))
     {
         return false;
     }
     OrderBillItem[] items = destBill.Items;
     if (items != null)
     {
         destBill.Items = new OrderBillItem[items.Length + 1];
         for (int i = 0; i < items.Length; i++)
         {
             destBill.Items[i] = items[i];
         }
     }
     else
     {
         destBill.Items = new OrderBillItem[1];
     }
     destBill.Items[destBill.Items.Length - 1] = item;
     items = sourceBill.Items;
     if ((items != null) && (items.Length > 1))
     {
         sourceBill.Items = new OrderBillItem[items.Length - 1];
         int index = 0;
         for (int j = 0; j < items.Length; j++)
         {
             if (items[j] != item)
             {
                 sourceBill.Items[index] = items[j];
                 index++;
             }
         }
     }
     else
     {
         sourceBill.Items = null;
     }
     return true;
 }
コード例 #13
0
 public static bool IsCancel(OrderBillItem item)
 {
     return (item.Status == 0);
 }
コード例 #14
0
 /// <summary>
 /// Return OrderBillItem to string format
 /// (amount) name*
 /// - option/option/...
 /// </summary>
 /// <param name="item">OrderBillItem object to show</param>
 /// <returns>Output of bill item string.</returns>
 public static string OrderBillItemDisplayString(OrderBillItem item)
 {
     StringBuilder sb = new StringBuilder();
     if (item.ServeTime != DateTime.MinValue)
         sb.Append("[F] ");
     else
         sb.Append("[O] ");
     MenuItem menuItem = MenuManagement.GetMenuItemFromID(item.MenuID);
     if (menuItem == null)
         sb.Append("Unknown");
     else
         sb.Append(MenuManagement.GetMenuLanguageName(menuItem));
     if (item.Message != null && item.Message.Length > 0)
         sb.Append("*");
     if (!item.DefaultOption && item.ItemChoices != null)
     {
         bool found;
         int cnt = 0;
         for (int optionCnt = 0;optionCnt < item.ItemChoices.Length;optionCnt++)
         {
             found = false;
             for (int defaultCnt = 0;defaultCnt < menuItem.MenuDefaults.Length;defaultCnt++)
                 if (menuItem.MenuDefaults[defaultCnt].DefaultChoiceID == item.ItemChoices[optionCnt].ChoiceID)
                     found = true;
             if (found)
                 continue;
             OptionChoice option = MenuManagement.GetOptionChoiceFromID(item.ItemChoices[optionCnt].ChoiceID);
             if (option != null)
             {
                 if (cnt == 0)
                     sb.Append("\n-");
                 else
                     sb.Append("/");
                 sb.Append(option.ChoiceName);
                 cnt++;
             }
         }
     }
     return sb.ToString();
 }
コード例 #15
0
 private void ListOrderItem_ItemClick(object sender, ItemsListEventArgs e)
 {
     OrderBill sourceBill = null;
     OrderBillItem selectedItem = null;
     if (this.moveItem)
     {
         sourceBill = this.selectedBill;
         selectedItem = this.selectedItem;
     }
     if (e.Item.Value is OrderBill)
     {
         this.selectedBill = (OrderBill) e.Item.Value;
         this.selectedItem = null;
         this.StartInputMenu();
     }
     else if (e.Item.Value is OrderBillItem)
     {
         this.selectedItem = (OrderBillItem) e.Item.Value;
         for (int i = 0; (i >= 0) && (i < this.orderInfo.Bills.Length); i++)
         {
             if (this.orderInfo.Bills[i].Items != null)
             {
                 for (int j = 0; j < this.orderInfo.Bills[i].Items.Length; j++)
                 {
                     if (this.orderInfo.Bills[i].Items[j] == this.selectedItem)
                     {
                         this.selectedBill = this.orderInfo.Bills[i];
                         i = -2;
                         break;
                     }
                 }
             }
         }
         if (this.selectedBill.CloseBillDate != AppParameter.MinDateTime)
         {
             this.StartInputMenu();
         }
         else
         {
             this.StartInputOption();
         }
     }
     if (selectedItem != null)
     {
         if (sourceBill != this.selectedBill)
         {
             if (OrderManagement.MoveOrderBillItem(sourceBill, this.selectedBill, selectedItem))
             {
                 this.isChanged = true;
                 this.UpdateOrderGrid();
             }
         }
         else
         {
             this.UpdateOrderGrid();
         }
     }
 }
コード例 #16
0
 private void StartInputMenu()
 {
     this.inputState = 0;
     this.inputValue = "";
     this.selectedItem = null;
     this.selectedType = null;
     this.moveItem = false;
     this.CategoryPad.AutoRefresh = false;
     this.CategoryPad.ItemStart = 0;
     this.CategoryPad.AutoRefresh = true;
     this.UpdateOrderGrid();
     this.UpdateMonitor();
     this.OptionPad.AutoRefresh = false;
     this.OptionPad.Items.Clear();
     this.OptionPad.ItemStart = 0;
     this.OptionPad.Red = 1f;
     this.OptionPad.Green = 1f;
     this.OptionPad.Blue = 1f;
     this.OptionPad.AutoRefresh = true;
 }
コード例 #17
0
 public static string OrderBillCountDisplayString(OrderBillItem item, ref double price)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append(item.Unit);
     price = 0.0;
     if (AppParameter.ShowOrderItemPrice)
     {
         MenuItem menuItemFromID = MenuManagement.GetMenuItemFromID(item.MenuID);
         if (menuItemFromID != null)
         {
             price = menuItemFromID.Price * item.Unit;
             builder.Append("\n");
             builder.Append(((double) price).ToString("N"));
         }
     }
     return builder.ToString();
 }
コード例 #18
0
 private void AddOrderBillItem(smartRestaurant.MenuService.MenuItem menu)
 {
     OrderBillItem item = OrderManagement.AddOrderBillItem(this.selectedBill, menu, this.employeeID);
     if (item != null)
     {
         this.selectedItem = item;
         this.isChanged = true;
         this.StartInputOption();
     }
     else
     {
         this.StartInputMenu();
         this.isChanged = false;
     }
 }
コード例 #19
0
 public static string OrderBillItemDisplayString(OrderBillItem item)
 {
     StringBuilder builder = new StringBuilder();
     if (item.ServeTime != AppParameter.MinDateTime)
     {
         builder.Append("[F] ");
     }
     else
     {
         builder.Append("[O] ");
     }
     MenuItem menuItemFromID = MenuManagement.GetMenuItemFromID(item.MenuID);
     if (menuItemFromID == null)
     {
         builder.Append("Unknown");
     }
     else
     {
         builder.Append(MenuManagement.GetMenuLanguageName(menuItemFromID));
     }
     if ((item.Message != null) && (item.Message.Length > 0))
     {
         builder.Append("*");
     }
     if (!item.DefaultOption && (item.ItemChoices != null))
     {
         int num = 0;
         for (int i = 0; i < item.ItemChoices.Length; i++)
         {
             bool flag = false;
             for (int j = 0; j < menuItemFromID.MenuDefaults.Length; j++)
             {
                 if (menuItemFromID.MenuDefaults[j].DefaultChoiceID == item.ItemChoices[i].ChoiceID)
                 {
                     flag = true;
                 }
             }
             if (!flag)
             {
                 OptionChoice optionChoiceFromID = MenuManagement.GetOptionChoiceFromID(item.ItemChoices[i].ChoiceID);
                 if (optionChoiceFromID != null)
                 {
                     if (num == 0)
                     {
                         builder.Append("\n-");
                     }
                     else
                     {
                         builder.Append("/");
                     }
                     builder.Append(optionChoiceFromID.ChoiceName);
                     num++;
                 }
             }
         }
     }
     return builder.ToString();
 }
コード例 #20
0
 /// <summary>
 /// Initial form when start show PrintReceiptForm class.
 /// Call this method from MainForm. This method will clear all variable and
 /// load new value from property that MainForm seted. After that, will update
 /// screen object for show all value.
 /// </summary>
 public override void UpdateForm()
 {
     // Clear Input
     selectedItem = null;
     // Get Menu
     menuTypes = MenuManagement.MenuTypes;
     menuOptions = MenuManagement.MenuOptions;
     // Create Receipt
     int employeeID;
     if (((MainForm)MdiParent).User != null)
         employeeID = ((MainForm)MdiParent).User.UserID;
     else
         employeeID = selectedBill.EmployeeID;
     receipt = new Receipt(selectedBill, employeeID);
     // Clear Discount Pad
     DiscountPad.Items.Clear();
     discountSelected.Clear();
     paymentSelected.Clear();
     LoadDiscountSelected();
     // Update screen
     LblPageID.Text = "Employee ID:" + employeeID.ToString() + " | STCB011";
     if (AppParameter.IsDemo())
     {
         LblTotalChange.Text = "Change";
         LblGuest.Text = "Guest";
     }
     else
     {
         LblTotalChange.Text = "Tip";
         LblGuest.Text = "Seat";
     }
     StartInputNone();
     UpdateTableInformation();
     UpdateSummary();
     UpdateOrderGrid();
     UpdateDiscountList();
     UpdatePaymentTypeList();
 }
コード例 #21
0
 public static bool UndoCancelOrderBillItem(OrderBillItem item, int employeeID)
 {
     if (item == null)
     {
         return false;
     }
     if (IsCancel(item))
     {
         item.Status = 1;
         item.CancelReasonID = 0;
         item.EmployeeID = employeeID;
         item.ChangeFlag = true;
     }
     return true;
 }
コード例 #22
0
 /// <summary>
 /// Method to clear variable and prepare for next menu entry.
 /// </summary>
 private void StartInputMenu()
 {
     inputState = INPUT_MENU;
     inputValue = "";
     selectedItem = null;
     selectedType = null;
     moveItem = false;
     CategoryPad.AutoRefresh = false;
     CategoryPad.ItemStart = 0;
     CategoryPad.AutoRefresh = true;
     UpdateOrderGrid();
     UpdateMonitor();
     OptionPad.AutoRefresh = false;
     OptionPad.Items.Clear();
     OptionPad.ItemStart = 0;
     OptionPad.Red = 1;
     OptionPad.Green = 1;
     OptionPad.Blue = 1;
     OptionPad.AutoRefresh = true;
 }
コード例 #23
0
 public static bool CancelOrderBillItem(OrderBill selectedBill, OrderBillItem item, int employeeID)
 {
     if ((selectedBill == null) || (selectedBill.CloseBillDate != AppParameter.MinDateTime))
     {
         return false;
     }
     if (item.BillDetailID == 0)
     {
         OrderBillItem[] items = selectedBill.Items;
         if ((items != null) && (items.Length > 1))
         {
             selectedBill.Items = new OrderBillItem[items.Length - 1];
             int index = 0;
             for (int i = 0; i < items.Length; i++)
             {
                 if (items[i] != item)
                 {
                     selectedBill.Items[index] = items[i];
                     index++;
                 }
             }
         }
         else
         {
             selectedBill.Items = null;
         }
     }
     else
     {
         int num3 = CancelForm.Show("Select Cancel Reason");
         if (num3 < 0)
         {
             return false;
         }
         item.CancelReasonID = num3;
         item.Status = 0;
         item.EmployeeID = employeeID;
         item.ChangeFlag = true;
     }
     return true;
 }
コード例 #24
0
 /// <summary>
 /// Add Menu Item to Selected Bill by menu item.
 /// </summary>
 /// <param name="menu">Menu Item for insert to selected bill.</param>
 private void AddOrderBillItem(MenuService.MenuItem menu)
 {
     OrderBillItem item = OrderManagement.AddOrderBillItem(selectedBill, menu, employeeID);
     if (item != null)
     {
         selectedItem = item;
         isChanged = true;
         StartInputOption();
     }
     else
     {
         StartInputMenu();
         isChanged = false;
     }
 }
コード例 #25
0
 /// <summary>
 /// Move Menu Item to Selected Bill.
 /// </summary>
 /// <param name="item">Order bill item for move.</param>
 /// <returns>true = success, false = fail</returns>
 public static bool MoveOrderBillItem(OrderBill sourceBill, OrderBill destBill, OrderBillItem item)
 {
     if (sourceBill == null || sourceBill.CloseBillDate != DateTime.MinValue ||
         destBill == null || destBill.CloseBillDate != DateTime.MinValue)
         return false;
     // Append order
     OrderBillItem[] oldItems = destBill.Items;
     if (oldItems != null)
     {
         destBill.Items = new OrderBillItem[oldItems.Length + 1];
         for (int i = 0;i < oldItems.Length;i++)
             destBill.Items[i] = oldItems[i];
     }
     else
         destBill.Items = new OrderBillItem[1];
     destBill.Items[destBill.Items.Length - 1] = item;
     // Remove old item
     oldItems = sourceBill.Items;
     if (oldItems != null && oldItems.Length > 1)
     {
         sourceBill.Items = new OrderBillItem[oldItems.Length - 1];
         int cnt = 0;
         for (int i = 0;i < oldItems.Length;i++)
         {
             if (oldItems[i] != item)
             {
                 sourceBill.Items[cnt] = oldItems[i];
                 cnt++;
             }
         }
     }
     else
         sourceBill.Items = null;
     return true;
 }