예제 #1
0
        public ActionResult <ImageItem[]> Get()
        {
            DateTimeOffset now;

#if DEBUG
            now = new DateTimeOffset(2017, 08, 03, 12, 12, 12, TimeSpan.Zero);
#else
            now = DateTimeOffset.Now;
#endif
            var query = from s in CyanometerDataSources.Default.Data.Values
                        let m = imagesManager.GetOlderImagesThan(s, now).Cast <ImageMeta?>().FirstOrDefault()
                                where m.HasValue
                                select new ImageItem(
                takenAt: m.Value.Date,
                url: m.Value.ImageUriPath,
                thumbnailUrl: m.Value.ThumbnailUriPath,
                city: s.City,
                country: s.Country,
                id: 146649,
                bluenessIndex: m.Value.BluenessIndex
                );

            var result = query.ToArray();
            return(result);
        }
예제 #2
0
        public ActionResult <DisplayData> Get(string country, string city)
        {
            var dataSource = CyanometerDataSources.Default.GetData(city, country);

            if (dataSource != null)
            {
                DateTimeOffset now;
#if DEBUG
                now = new DateTimeOffset(2017, 08, 03, 12, 12, 12, TimeSpan.Zero);
#else
                now = DateTimeOffset.Now;
#endif
                var lastImages = imagesManager.GetOlderImagesThan(dataSource, now).Take(12);
                var query      = from m in lastImages
                                 select new ImageItem(
                    takenAt: m.Date,
                    url: m.ImageUriPath,
                    thumbnailUrl: m.ThumbnailUriPath,
                    city: city,
                    country: country,
                    id: 146649,
                    bluenessIndex: m.BluenessIndex
                    );
                var imageItems      = query.ToImmutableArray();
                var averageBlueness = Convert.ToInt32(imageItems.Average(i => i.BluenessIndex));
                return(new DisplayData(
                           averageBlueness: averageBlueness,
                           images: imageItems
                           ));
            }
            return(NotFound());
        }