public void Park(Vechile vechile)
        {
            bool carParked = false;

            foreach (var level in _Levels)
            {
                if (level.HasFreeSlot())
                {
                    ParkingSlot slot = level.GetNearestFreeSlot();
                    slot.OccupySlot(vechile);
                    Console.WriteLine(string.Format("{0} {1} parked at level {2} slot {3}", vechile.Model, vechile.Type.ToString(), level.LevelNumber, slot.SlotNumber));
                    Console.WriteLine();
                    carParked      = true;
                    vechile.Status = ParkingStatus.Parked;
                    vechile.CountDownForExit();
                    break;
                }
            }
            if (!carParked)
            {
                Console.WriteLine(string.Format("{0} {1} is rejected because there is no free space at the garage", vechile.Model, vechile.Type.ToString()));
                Console.WriteLine();
            }
        }