private IEnumerable <DiscoveryAlbumViewModel> MapAlbumToModel(IEnumerable <Album> toList, IIdentity identity) { return(toList.OrderByDescending(a => a.CreatedAt) .Select(Mapper.Map <AlbumViewModel>) .Select(avm => { var photos = _photoManager.GetAlbumPhotos(avm.Id).ToList() .Where(p => p.HasAccess(identity, Operation.Read, avm)) .OrderByDescending(p => p.UploadedAt) .Select(Mapper.Map <PhotoViewModel>) .Select(pvm => new DiscoveryPhotoViewModel(pvm) { Url = _fileManager.GetById(pvm.FileId)?.ThumbnailPath }) .ToList(); const int maxItems = MAX_NUMBER_PHOTOS_IN_DISCOVERY; return new DiscoveryAlbumViewModel(avm) { ProfilePicture = "http://gallery.code40.local/app/resources/images/fbpic.jpg", UserName = _userManager.GetById(avm.CreatedBy)?.FullName, PhotoCount = photos.Count, Photos = photos.OnItem(maxItems, (pvm, count) => pvm.OtherX = count - maxItems) .Take(MAX_NUMBER_PHOTOS_IN_DISCOVERY) .ToList() }; })); }