Esempio n. 1
0
        public static CityFeed From(List <WaqiCityFeed> waqiStations)
        {
            var stations = from station in waqiStations
                           select new Station(station.Data.Idx.ToString(),
                                              station.Data.Aqi,
                                              station.Data.City.Name,
                                              station.Data.City.Url,
                                              Attribution.ListFrom(station.Data.Attributions));

            return(new CityFeed {
                Stations = stations.ToList(),
                CityName = CityFeed.findBestCityName(stations.ToList()),
                _maxAqiStation = (from station in stations
                                  orderby station.AQI descending
                                  select station).First()
            });
        }
Esempio n. 2
0
 public static List <Attribution> ListFrom(
     List <Latincoder.AirQuality.Model.External.Attribution> waqiAttributions)
 {
     return((from waqiAttribution  in waqiAttributions
             select Attribution.From(waqiAttribution)).ToList());
 }
Esempio n. 3
0
        public static CityFeed From(List <WaqiCityFeed> waqiStations)
        {
            var stations = from station in waqiStations
                           let dynamicAqi = station.Data.Aqi
                                            // System.Text.Json obtains JsonElement - if serializer changes this will fail
                                            let aqi = (JsonElement)dynamicAqi
                                                      let isNumber = aqi.ValueKind == JsonValueKind.Number
                                                                     select new Station(station.Data.Idx.ToString(),
                                                                                        isNumber ? aqi.GetInt32() : AqiNotAvailable,
                                                                                        station.Data.City.Name,
                                                                                        station.Data.City.Url,
                                                                                        station.Data.TimeStr,
                                                                                        Attribution.ListFrom(station.Data.Attributions));

            return(new CityFeed {
                Stations = stations.ToList(),
                CityName = CityFeed.findBestCityName(stations.ToList())
            });
        }