public List <FlickrPhoto> GetPhotos(FlickrGalleryWidgetPart part) { if (part.DisableCaching) { return(RetrievePhotos(part).Take(part.MaxImages).ToList()); } else { var cacheKey = CacheKeyPrefix + (int)part.Mode; switch (part.Mode) { case GalleryMode.MostRecent: break; case GalleryMode.PhotoSet: cacheKey += part.PhotoSetId; break; case GalleryMode.Gallery: cacheKey += part.GalleryId; break; case GalleryMode.PhotosOfUser: cacheKey += part.PhotosOfUserId; break; case GalleryMode.PhotosUploadedByUser: cacheKey += part.PhotosUploadedByUserId; break; case GalleryMode.GroupPhotos: cacheKey += part.GroupId; break; case GalleryMode.SearchTags: cacheKey += part.Tags; break; default: break; } return(CacheManager.Get(cacheKey, ctx => { ctx.Monitor(Signals.When(cacheKey)); Timer = new Timer(t => Signals.Trigger(cacheKey), part, TimeSpan.FromMinutes(part.CacheDuration), TimeSpan.FromMilliseconds(-1)); return RetrievePhotos(part).Take(part.MaxImages).ToList(); })); } }
public List<FlickrPhoto> GetPhotos(FlickrGalleryWidgetPart part) { if(part.DisableCaching) { return RetrievePhotos(part).Take(part.MaxImages).ToList(); } else { var cacheKey = CacheKeyPrefix + (int)part.Mode; switch (part.Mode) { case GalleryMode.MostRecent: break; case GalleryMode.PhotoSet: cacheKey += part.PhotoSetId; break; case GalleryMode.Gallery: cacheKey += part.GalleryId; break; case GalleryMode.PhotosOfUser: cacheKey += part.PhotosOfUserId; break; case GalleryMode.PhotosUploadedByUser: cacheKey += part.PhotosUploadedByUserId; break; case GalleryMode.GroupPhotos: cacheKey += part.GroupId; break; case GalleryMode.SearchTags: cacheKey += part.Tags; break; default: break; } return CacheManager.Get(cacheKey, ctx => { ctx.Monitor(Signals.When(cacheKey)); Timer = new Timer(t => Signals.Trigger(cacheKey), part, TimeSpan.FromMinutes(part.CacheDuration), TimeSpan.FromMilliseconds(-1)); return RetrievePhotos(part).Take(part.MaxImages).ToList(); }); } }
private List <FlickrPhoto> RetrievePhotos(FlickrGalleryWidgetPart part) { List <FlickrPhoto> photos; switch (part.Mode) { case GalleryMode.MostRecent: photos = GetAllRecent(); break; case GalleryMode.PhotoSet: photos = GetPhotosOfPhotoSet(part.PhotoSetId); break; case GalleryMode.Gallery: photos = GetPhotosOfGallery(part.GalleryId); break; case GalleryMode.PhotosOfUser: photos = GetPhotosOfUser(part.PhotosOfUserId); break; case GalleryMode.PhotosUploadedByUser: photos = GetUserPublicPhotos(part.PhotosUploadedByUserId); break; case GalleryMode.GroupPhotos: photos = GetPhotosOfGroup(part.GroupId); break; case GalleryMode.SearchTags: photos = GetPhotosByTags(part.Tags); break; default: photos = new List <FlickrPhoto>(); break; } return(photos.ToList()); }
private List<FlickrPhoto> RetrievePhotos(FlickrGalleryWidgetPart part) { List<FlickrPhoto> photos; switch (part.Mode) { case GalleryMode.MostRecent: photos = GetAllRecent(); break; case GalleryMode.PhotoSet: photos = GetPhotosOfPhotoSet(part.PhotoSetId); break; case GalleryMode.Gallery: photos = GetPhotosOfGallery(part.GalleryId); break; case GalleryMode.PhotosOfUser: photos = GetPhotosOfUser(part.PhotosOfUserId); break; case GalleryMode.PhotosUploadedByUser: photos = GetUserPublicPhotos(part.PhotosUploadedByUserId); break; case GalleryMode.GroupPhotos: photos = GetPhotosOfGroup(part.GroupId); break; case GalleryMode.SearchTags: photos = GetPhotosByTags(part.Tags); break; default: photos = new List<FlickrPhoto>(); break; } return photos.ToList(); }