Example #1
0
 public void Update()
 {
     CurrentClientsOrders.Clear();
     GenerateClients();
     GetClientsInside();
     UpdateClientLeftTime();
 }
Example #2
0
        private void GetClientsInside()
        {
            for (int i = 0; i < SittingClients.GetLength(0); i++)
            {
                for (int j = 0; j < SittingClients.GetLength(1); j++)
                {
                    if (SittingClients[i, j] == null && ClientsQueue.Count > 0)
                    {
                        var client = ClientsQueue.Dequeue();
                        client.SetTablePosition(i, j);
                        NoClientsServed += 1;
                        ClientOrder order     = client.PlaceAnOrder(Menu);
                        double      spendMony = 0;

                        CurrentClientsOrders.Append($"No: {NoClientsServed}, table no: {i}-{j}, ");

                        foreach (var item in order.OrderedItems)
                        {
                            Income    += item.Price;
                            spendMony += item.Price;

                            CurrentClientsOrders.Append($"{item.ItemName}-{item.Price:0.00}, ");
                        }
                        CurrentClientsOrders.Append($"money in wallet: {client.AmountOfMany:0.00}, money spent: {spendMony:0.00}, ");

                        client.Buy(spendMony);

                        CurrentClientsOrders.Append($"left many: {client.AmountOfMany:0.00}.\n");

                        SittingClients[i, j] = client;

                        if (ClientsQueue.Count == 0)
                        {
                            break;
                        }
                    }
                }

                if (ClientsQueue.Count == 0)
                {
                    break;
                }
            }
        }