// // // VINCENT - END // // // // // WILSON - START // // private void AddItemToTableOrder(string commaSeparatedItemDetails) { //Get tableorder from tableordercollection using table number int tableNumber = Int32.Parse(fTableOrder.TextBlock_TableNum.Text.Replace("TABLE ", "")); String[] itemDetails = commaSeparatedItemDetails.Split(','); TableOrder tableOrder = GetTableOrderFromTableNumber(tableNumber); //add item to tableorder tableOrder.AddItemOrder(itemDetails[0], Int32.Parse(itemDetails[1]), Double.Parse(itemDetails[2])); //update ui element fTableOrder.TableTableOrder.ConvertTableOrderToTableRow(tableOrder); fTableOrder.UpdateSumTaxTotal(tableOrder.GetSumTaxTotal()); fTableOrder.TogglePrintDraftButtonState(); if (tableOrder.GetItemsOrdered().Count > 0) { tableOrder.SetTableStatus(TableOrder.OPEN_BILL); } }
internal void TogglePrintDraftButtonState() { if (thisTableOrder.GetItemsOrdered().Count() > 0) { Button_PrintDraft.IsEnabled = true; } else { Button_PrintDraft.IsEnabled = false; } }
internal void ConvertTableOrderToTableRow(TableOrder tableOrder) { ResetTable(); //Each item in itemsOrdered is 1 row int i = 1; foreach (Item item in tableOrder.GetItemsOrdered()) { SetTableRowText(i, (i + "," + item.GetContent())); i++; } UpdateUIElement(); }
internal void DeleteItemFromTableOrder(TableRow tableRow) { //remove item from TableOrder int tableNumber = Int32.Parse(fTableOrder.TextBlock_TableNum.Text.Replace("TABLE ", "")); TableOrder tableOrder = GetTableOrderFromTableNumber(tableNumber); tableOrder.RemoveItemOrder(tableRow); //UpdateUIElements fTableOrder.TableTableOrder.ConvertTableOrderToTableRow(tableOrder); fTableOrder.UpdateSumTaxTotal(tableOrder.GetSumTaxTotal()); fTableOrder.TogglePrintDraftButtonState(); if (tableOrder.GetItemsOrdered().Count < 1) { tableOrder.SetTableStatus(TableOrder.TABLE_EMPTY); } }
private void SaveTransactionToDatabase() { TableOrder tableOrder = fTableOrder.GetTableOrder(); String path = Assembly.GetExecutingAssembly().Location; path = path.Replace("bin\\Debug\\ICTProjectPOS.exe", "RestaurantDB.accdb"); String connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}", path); OleDbConnection connection = new OleDbConnection(connectionString); //OPEN CONNECTION connection.Open(); String employeeID = "EMP001"; DateTime dateTime = new DateTime(); dateTime = DateTime.Now; OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = "SELECT COUNT(*) FROM Invoice"; cmd.Connection = connection; int invoiceNumber = (int)cmd.ExecuteScalar() + 1; cmd.CommandText = "INSERT INTO Invoice([InvoiceNum],[TableNum],[EmployeeID], [DineDate], [DineTime], [TotalOrder], [PayMethod]) VALUES (?, ?, ?, ?, ?, ?, ?)"; cmd.Parameters.AddWithValue("InvoiceNum", invoiceNumber); cmd.Parameters.AddWithValue("TableNum", tableOrder.GetTableNumber()); cmd.Parameters.AddWithValue("EmployeeId", employeeID); cmd.Parameters.AddWithValue("DineDate", dateTime.Date); cmd.Parameters.AddWithValue("DineTime", dateTime.TimeOfDay); cmd.Parameters.AddWithValue("TotalOrder", tableOrder.GetAmountDue()); cmd.Parameters.AddWithValue("PayMethod", tableOrder.GetPaymentMethod()); cmd.ExecuteNonQuery(); connection.Close(); connection.Open(); foreach (Item item in tableOrder.GetItemsOrdered()) { OleDbCommand cmd2 = new OleDbCommand(); cmd2.Connection = connection; cmd2.CommandText = "SELECT * FROM Item WHERE ItemName LIKE ?"; cmd2.Parameters.AddWithValue("ItemName", "%" + item.GetName() + "%"); string itemID = ""; OleDbDataReader dr = cmd2.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { itemID = dr[0].ToString(); } } OleDbCommand cmd3 = new OleDbCommand(); cmd3.Connection = connection; cmd3.CommandText = "INSERT INTO InvoiceItem ([InvoiceNum], [ItemID], [Quantity]) Values (?, ?, ?)"; cmd3.Parameters.AddWithValue("@InvoiceNum", invoiceNumber); cmd3.Parameters.AddWithValue("@ItemID", itemID); cmd3.Parameters.AddWithValue("@Quantity", item.GetQuantity()); cmd3.ExecuteNonQuery(); } //CLOSE CONNECTION connection.Close(); }
internal void ConvertTableOrderToTableRow(TableOrder tableOrder) { ResetTable(); //Each item in itemsOrdered is 1 row int i = 1; foreach (Item item in tableOrder.GetItemsOrdered()) { SetTableRowText(i, (i+","+item.GetContent())); i++; } UpdateUIElement(); }