public MediaController(IUnitOfWorkService unitOfWorkService, IMapper mapper, IMediaFileSystemController fsController, IThumbnailer thumbnailer) { this.UnitOfWorkService = unitOfWorkService; this.Mapper = mapper; this.FSController = fsController; this.Thumbnailer = thumbnailer; }
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)); }