Esempio n. 1
0
        public int BookTable(NewCustomer.Customer customer)
        {
BookTable:
            ShowTables();
            Console.WriteLine("Enter the table number to book");
            int tableToBook = Convert.ToInt32(Console.ReadLine());

            foreach (TableModel tableAvailable in tables)
            {
                if ((tableAvailable.TableNumber == tableToBook) && tableAvailable.IsTableAvailable)
                {
                    //Console.WriteLine(tableAvailable.getSetTableNumber + " " + ((tableAvailable.getSetIsTableAvailabile) ? "Available" : "Booked"));
                    Console.WriteLine("Booked");
                    tableAvailable.IsTableAvailable = false;
                    customer.TableId = tableToBook;
                    break;
                }
                else if ((tableAvailable.TableNumber == tableToBook) && !tableAvailable.IsTableAvailable)
                {
                    Console.WriteLine("Table is already booked");
                    goto BookTable;
                }
            }
            return(tableToBook);
        }
Esempio n. 2
0
        private void OrderItems(NewCustomer.Customer customer)
        {
            int ans;

            do
            {
SelectItem:
                ShowItems();
                Console.WriteLine("Enter item to order");
                int       iId = Convert.ToInt16(Console.ReadLine());
                ItemModel obj = null;

                foreach (ItemModel item in items)
                {
                    if (item.ItemId == iId && item.IsItemAvailable)
                    {
                        obj = item;
                        break;
                    }
                    else if (item.ItemId == iId && !item.IsItemAvailable)
                    {
                        Console.WriteLine("Item is either not available or It is an Invalid Option");
                        goto SelectItem;
                    }
                }
                OrderedItemModel orderedItemsTemp = new OrderedItemModel();
                Console.WriteLine($"Enter quantity of {obj.ItemName}");

                orderedItemsTemp.OrderedItemQuantity = Convert.ToInt16(Console.ReadLine());
                orderedItemsTemp.OrderedItem         = obj;
                orderedItemList.Add(orderedItemsTemp);
                Console.WriteLine("\nDo You want to order more items\n1. Yes\n2. No\n");
                ans = Convert.ToInt16(Console.ReadLine());
            } while (ans == 1);
        }
Esempio n. 3
0
        private void Bill(NewCustomer.Customer customer)
        {
            Console.WriteLine("Your Bill is:");
            Console.WriteLine("-----------------------------------------");
            Console.WriteLine($"Customer Name: {customer.CustomerName}");
            Console.WriteLine("---------------------------------------------");
            long total = 0;
            int  count = 1;
            List <OrderedItemModel> oList = orderedItemList;
            ConsoleTable            table = new ConsoleTable("Sr. No.", "Item Id", "Item Name", "Item Quantity", "Item Price");

            foreach (OrderedItemModel ol in oList)
            {
                total = total + (ol.OrderedItemQuantity * ol.OrderedItem.ItemPrice);
                table.AddRow(count++, ol.OrderedItem.ItemId, ol.OrderedItem.ItemName, ol.OrderedItemQuantity, ol.OrderedItemQuantity * ol.OrderedItem.ItemPrice);
            }
            table.Write(Format.Alternative);

            Console.WriteLine("---------------------------------------------");
            Console.WriteLine($"Total amount is: {total}");
            Console.WriteLine("---------------------------------------------");
            customer.BillAmount = total;
            CustomerList.Add(customer);
            admin.AddCustomerToList(CustomerList);
        }
Esempio n. 4
0
 public void PlaceOrder(AdminClass admin, NewCustomer.Customer customer)
 {
     this.admin          = admin;
     customer.RestroName = "Pizza Hut";
     BookTable(customer);
     OrderItems(customer);
     Bill(customer);
 }
Esempio n. 5
0
        public void PlaceOrder(AdminClass admin, NewCustomer.Customer customer)
        {
            this.admin          = admin;
            customer.RestroName = "McD";
            BookTable(customer);
            OrderItems(customer);
            Bill(customer);
            var sendBillViaMail = new SendBillViaMail();
            var mailService     = new MailService();

            sendBillViaMail.SentMail += mailService.OnSentMail;
            sendBillViaMail.PayBill(customer);
        }