Esempio n. 1
0
        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();
                });
            }
        }
Esempio n. 3
0
        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();
        }