Ejemplo n.º 1
0
        public bool GetRestaurantWithBiggestBurgerCountInZone(Zone zone, Filter filter, out Restaurant restaurant)
        {
            var restaurants = _restaurantsFilter.GetFilteredRestaurantsInZone(zone, filter);

            if (restaurants.Length == 0)
            {
                restaurant = null;
                return(false);
            }

            restaurant = restaurants[0];
            for (var i = 1; i < restaurants.Length; i++)
            {
                if (restaurants[i].BurgerCount > restaurant.BurgerCount)
                {
                    restaurant = restaurants[i];
                }
            }
            return(true);
        }
Ejemplo n.º 2
0
        private static void ShowData()
        {
            var zone        = CalculateVisibleZone(_currentPosition, _currentZoom);
            var restaurants = _restaurantsFilter.GetFilteredRestaurantsInZone(zone, _currentFilter);
            var biggest     =
                _clientLogic.GetRestaurantWithBiggestBurgerCountInZone(zone, _currentFilter, out var biggeRestaurant)
                    ? biggeRestaurant.ToString()
                    : "NoN";

            Console.WriteLine($"Ресторан с наибольшим числом бургеров: {biggest}");
            if (_currentZoom == MaxZoom)
            {
                var nearest =
                    _clientLogic.GetNearestRestaurantFromZoneCenter(zone, _currentFilter, out var nearestRestaurant)
                        ? nearestRestaurant.ToString()
                        : "NoN";
                Console.WriteLine($"Ближайший ресторан: {nearest}");
            }
            Console.WriteLine();
            foreach (var restaurant in restaurants)
            {
                Console.WriteLine(restaurant);
            }
        }