public MediaController(IUnitOfWorkService unitOfWorkService,
                        IMapper mapper,
                        IMediaFileSystemController fsController,
                        IThumbnailer thumbnailer)
 {
     this.UnitOfWorkService = unitOfWorkService;
     this.Mapper            = mapper;
     this.FSController      = fsController;
     this.Thumbnailer       = thumbnailer;
 }
示例#2
0
        public Pixbuf GetThumbnail(SafeUri fileUri, ThumbnailSize size)
        {
            var thumbnailUri = GetThumbnailPath(fileUri, size);
            var thumbnail    = LoadThumbnail(thumbnailUri);

            if (IsValid(fileUri, thumbnail))
            {
                return(thumbnail);
            }
            IThumbnailer thumbnailer = thumbnailerFactory.GetThumbnailerForUri(fileUri);

            if (thumbnailer == null)
            {
                return(null);
            }
            return(!thumbnailer.TryCreateThumbnail(thumbnailUri, size)
                                ? null
                                : LoadThumbnail(thumbnailUri));
        }