//
        //
        //  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);
            }
        }
示例#2
0
 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();
        }