public EntryForPictureDisplayContract GetCoverPictureThumb(int albumId) { var size = new Size(ImageHelper.DefaultThumbSize, ImageHelper.DefaultThumbSize); return(repository.HandleQuery(ctx => { var album = ctx.Load(albumId); if (album.CoverPictureData == null || string.IsNullOrEmpty(album.CoverPictureMime) || album.CoverPictureData.HasThumb(size)) { return EntryForPictureDisplayContract.Create(album, PermissionContext.LanguagePreference, size); } var data = new EntryThumb(album, album.CoverPictureMime); if (imagePersister.HasImage(data, ImageSize.Thumb)) { using (var stream = imagePersister.GetReadStream(data, ImageSize.Thumb)) { var bytes = StreamHelper.ReadStream(stream); return EntryForPictureDisplayContract.Create(album, data.Mime, bytes, PermissionContext.LanguagePreference); } } return EntryForPictureDisplayContract.Create(album, PermissionContext.LanguagePreference, size); })); }
public EntryForPictureDisplayContract GetCoverPictureThumb(int albumId) { var size = ImageSize.Thumb; // TODO: this all should be moved to DynamicImageUrlFactory return(repository.HandleQuery(ctx => { var album = ctx.Load(albumId); // If there is no picture, return empty. if (album.CoverPictureData == null || string.IsNullOrEmpty(album.CoverPictureMime)) { return EntryForPictureDisplayContract.Create(album, PermissionContext.LanguagePreference); } // Try to read thumbnail from file system. var data = album.Thumb; if (imagePersister.HasImage(data, size)) { var bytes = imagePersister.ReadBytes(data, size); return EntryForPictureDisplayContract.Create(album, data.Mime, bytes, PermissionContext.LanguagePreference); } // This should return the original image. return EntryForPictureDisplayContract.Create(album, PermissionContext.LanguagePreference); })); }
public EntryForPictureDisplayContract GetPictureThumb(int artistId) { var size = ImageSize.Thumb; return(repository.HandleQuery(ctx => { var artist = ctx.Load(artistId); if (artist.Picture == null || string.IsNullOrEmpty(artist.PictureMime)) { return EntryForPictureDisplayContract.Create(artist, PermissionContext.LanguagePreference); } var data = artist.Thumb; if (imagePersister.HasImage(data, size)) { var bytes = imagePersister.ReadBytes(data, size); return EntryForPictureDisplayContract.Create(artist, data.Mime, bytes, PermissionContext.LanguagePreference); } return EntryForPictureDisplayContract.Create(artist, PermissionContext.LanguagePreference); })); }
/// <summary> /// Gets the picture for a <see cref="Artist"/>. /// </summary> /// <param name="id">Artist Id.</param> /// <param name="requestedSize">Requested size. If Empty, original size will be returned.</param> /// <returns>Data contract for the picture. Can be null if there is no picture.</returns> public EntryForPictureDisplayContract GetArtistPicture(int id, Size requestedSize) { return(HandleQuery(session => EntryForPictureDisplayContract.Create(session.Load <Artist>(id), PermissionContext.LanguagePreference, requestedSize))); }
public EntryForPictureDisplayContract GetArchivedArtistPicture(int archivedVersionId) { return(HandleQuery(session => EntryForPictureDisplayContract.Create( session.Load <ArchivedArtistVersion>(archivedVersionId), LanguagePreference))); }
public EntryForPictureDisplayContract GetArchivedAlbumPicture(int archivedVersionId) { return(HandleQuery(session => EntryForPictureDisplayContract.Create( session.Load <ArchivedAlbumVersion>(archivedVersionId), PermissionContext.LanguagePreference))); }
public EntryForPictureDisplayContract GetCoverPicture(int id) { return(HandleQuery(session => EntryForPictureDisplayContract.Create(session.Load <Album>(id), PermissionContext.LanguagePreference))); }