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); }
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()); }