public LitterTrackerAppController(ILogger <LitterTrackerAppController> logger, ILitterTrackerRepository litterTrackerRepository, IOpenWeatherServiceAgent openWeatherServiceAgent, IGoogleCloudStorage googleCloudStorage)
 {
     _logger = logger;
     _litterTrackerRepository = litterTrackerRepository;
     _openWeatherServiceAgent = openWeatherServiceAgent;
     _googleCloudStorage      = googleCloudStorage;
 }
        public static async Task <List <LitterPin> > EnsureWeatherData(this List <LitterPin> pins, IOpenWeatherServiceAgent service)
        {
            List <LitterPin> updatedPins = new List <LitterPin>();

            foreach (var pin in pins)
            {
                updatedPins.Add(await pin.EnsureWeatherData(service));
            }
            return(updatedPins);
        }
        public static async Task <LitterPin> EnsureWeatherData(this LitterPin pin, IOpenWeatherServiceAgent service)
        {
            pin.WeatherData = await service.GetWeatherForPin(pin.MarkerLocation);

            return(pin);
        }