Esempio n. 1
0
        public override void CheckOut(int room)
        {
            base.CheckOut(room);
            if (Hotel.HotelGuests.Count == 0)
            {
                Console.WriteLine("No guests, please, check in");
            }
            else if (room > 3003 || room < 1001)
            {
                Console.WriteLine("Room doesn`t exists");
            }
            else
            {
                bool isMovedOut = false;
                for (var i = 0; i < Hotel.HotelGuests.Count; i++)
                {
                    if (Hotel.HotelGuests[i].Room == room)
                    {
                        Hotel.HotelGuests.Remove(Hotel.HotelGuests[i]);
                        isMovedOut = true;
                    }
                }

                if (isMovedOut)
                {
                    if (CheckTypeWithNumber(room) == 1)
                    {
                        for (var i = 0; i < Hotel.Singles.Capacity; i++)
                        {
                            if (Hotel.Singles[i].Number != room)
                            {
                                continue;
                            }
                            Hotel.Singles[i].IsClean    = false;
                            Hotel.Singles[i].IsOccupied = false;
                        }
                    }
                    else if (CheckTypeWithNumber(room) == 3)
                    {
                        for (var i = 0; i < Hotel.Lux.Capacity; i++)
                        {
                            if (Hotel.Lux[i].Number != room)
                            {
                                continue;
                            }
                            Hotel.Lux[i].IsClean    = false;
                            Hotel.Lux[i].IsOccupied = false;
                            var cleaning = new Cleaning();
                            cleaning.CarryBaggage(Hotel.Lux[i].Number);
                        }
                    }
                    else if (CheckTypeWithNumber(room) == 2)
                    {
                        for (var i = 0; i < Hotel.Doubles.Capacity; i++)
                        {
                            if (Hotel.Doubles[i].Number != room)
                            {
                                continue;
                            }
                            Hotel.Doubles[i].IsClean    = false;
                            Hotel.Doubles[i].IsOccupied = false;
                        }
                    }
                    Console.WriteLine("You moved out successfully");
                }
                else
                {
                    Console.WriteLine("No guests in this room");
                }
            }
        }