Beispiel #1
0
        public static void ToRentARoom(Hotel hotel, Guest guest)
        {
            int[] rooms = null;
            foreach (KeyValuePair <int, Guest> Pair in Hotel.Booked)
            {
                if (Pair.Value.Name == guest.Name)
                {
                    DateTime time = DateTime.Now;
                    Console.WriteLine($"You have rented a room #{Pair.Key + 1}.");
                    guest = Pair.Value;
                    Console.WriteLine("How many days would you like to rent a room for?");
                    int      days2  = Convert.ToInt32(Console.ReadLine());
                    DateTime date1  = time.AddDays(days2);
                    decimal  topay1 = days2 * hotel[Pair.Key].Price;
                    Console.WriteLine($"To pay: {topay1}.");
                    Console.ReadKey();
                    Console.WriteLine("*money*");
                    Console.ReadKey();
                    //int paid1;
                    guest.ToRent(days2, hotel[Pair.Key]);
                    Hotel.Booked.Remove(Pair.Key);
                    break;
                }
            }
            if (guest != null)
            {
                //Console.WriteLine("Your age:");
                //int age = Convert.ToInt32(Console.ReadLine());
                //guest = new Guest(guest.Name, age);
                //tourist.Notify += DisplayMessage;
                string category;
                while (true)
                {
                    Console.WriteLine("What type of room would you like to book?");
                    Console.WriteLine("1 Standart");
                    Console.WriteLine("2 Medium");
                    Console.WriteLine("3 Lux");
                    category = Console.ReadLine();
                    switch (category)
                    {
                    case null:
                        Console.WriteLine("Sorry you did something wrong.");
                        break;

                    case "1":
                        rooms = Hotel.Standart;
                        break;

                    case "2":
                        rooms = Hotel.Medium;
                        break;

                    case "3":
                        rooms = Hotel.Lux;
                        break;

                    default:
                        throw new Exception();
                    }

                    DateTime time = DateTime.Now;
                    Console.WriteLine("How many days?");

                    int days1 = Convert.ToInt32(Console.ReadLine());
                    if (days1 <= 0)
                    {
                        throw new Exception();
                    }
                    DateTime date  = time.AddDays(days1);
                    decimal  topay = days1 * hotel[rooms[0]].Price;
                    Console.WriteLine($"To pay: {topay}.");
                    Console.ReadKey();
                    Console.WriteLine("*money*");
                    Console.ReadKey();
                    foreach (int r in rooms)
                    {
                        if (guest.ToRent(days1, hotel[r]))
                        {
                            Hotel.Booked.Add(r, guest);
                            break;
                        }
                    }
                }
            }
        }