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; } } } } }