private ImageGalleryImage CreateImageFromMediaFile(MediaFile mediaFile, ImageGallerySettingsRecord imageGallerySettings) { if (imageGallerySettings == null) { throw new ArgumentNullException("imageGallerySettings"); } var imageSettings = GetImageSettings(imageGallerySettings, mediaFile.Name); bool isValidThumbnailSize = imageGallerySettings.ThumbnailWidth > 0 && imageGallerySettings.ThumbnailHeight > 0; Thumbnail thumbnail = null; if (isValidThumbnailSize) { thumbnail = _thumbnailService.GetThumbnail(_storageProvider.Combine(mediaFile.FolderName, mediaFile.Name), imageGallerySettings.ThumbnailWidth, imageGallerySettings.ThumbnailHeight, imageGallerySettings.KeepAspectRatio); } return(new ImageGalleryImage { PublicUrl = _mediaService.GetPublicUrl(Path.Combine(mediaFile.FolderName, mediaFile.Name)), Name = mediaFile.Name, Size = mediaFile.Size, User = mediaFile.User, LastUpdated = mediaFile.LastUpdated, Caption = imageSettings == null ? string.Empty : imageSettings.Caption, Thumbnail = thumbnail, Title = imageSettings == null ? null : imageSettings.Title, Position = imageSettings == null ? 0 : imageSettings.Position }); }
private ImageGalleryImageSettingsRecord GetImageSettings(ImageGallerySettingsRecord imageGallerySettings, string imageName) { if (imageGallerySettings == null || imageGallerySettings.ImageSettings == null) { return(null); } return(imageGallerySettings.ImageSettings.SingleOrDefault(o => o.Name == imageName)); }
private ImageGallerySettingsRecord CreateImageGallerySettings(string imageGalleryMediaPath, int thumbnailHeight, int thumbnailWidth, bool keepAspectRatio) { ImageGallerySettingsRecord imageGallerySettings = new ImageGallerySettingsRecord { ImageGalleryName = GetName(imageGalleryMediaPath), ThumbnailHeight = thumbnailHeight, ThumbnailWidth = thumbnailWidth, KeepAspectRatio = keepAspectRatio }; _repository.Create(imageGallerySettings); return(imageGallerySettings); }
public ImageGalleryImage GetImage(string imageGalleryName, string imageName) { string imageGalleryMediaPath = GetMediaPath(imageGalleryName); ImageGallerySettingsRecord imageGallerySettings = GetImageGallerySettings(imageGalleryMediaPath); MediaFile file = _mediaService.GetMediaFiles(imageGalleryMediaPath) .SingleOrDefault(mediaFile => mediaFile.Name == imageName); if (file == null) { return(null); } return(CreateImageFromMediaFile(file, imageGallerySettings)); }
private Models.ImageGallery CreateImageGalleryFromMediaFolder(MediaFolder mediaFolder) { var images = _mediaService.GetMediaFiles(mediaFolder.MediaPath); ImageGallerySettingsRecord imageGallerySettings = GetImageGallerySettings(GetName(mediaFolder.MediaPath)) ?? CreateImageGallerySettings(mediaFolder.MediaPath, ThumbnailDefaultSize, ThumbnailDefaultSize, DefaultKeepAspectRatio); return(new Models.ImageGallery { Id = imageGallerySettings.Id, LastUpdated = mediaFolder.LastUpdated, MediaPath = mediaFolder.MediaPath, Name = mediaFolder.Name, Size = mediaFolder.Size, User = mediaFolder.User, ThumbnailHeight = imageGallerySettings.ThumbnailHeight, ThumbnailWidth = imageGallerySettings.ThumbnailWidth, Images = images.Select(image => CreateImageFromMediaFile(image, imageGallerySettings)).OrderBy(image => image.Position), KeepAspectRatio = imageGallerySettings.KeepAspectRatio }); }
public void RenameImageGallery(string imageGalleryName, string newName) { string mediaPath = GetMediaPath(imageGalleryName); _mediaService.RenameFolder(mediaPath, newName); ImageGallerySettingsRecord settings = GetImageGallerySettings(imageGalleryName); if (settings != null) { settings.ImageGalleryName = newName; _repository.Update(settings); } IEnumerable <ImageGalleryRecord> records = _imageGalleryPartRepository.Fetch(partRecord => partRecord.ImageGalleryName == imageGalleryName); foreach (ImageGalleryRecord imageGalleryRecord in records) { imageGalleryRecord.ImageGalleryName = newName; _imageGalleryPartRepository.Update(imageGalleryRecord); } }
private Models.ImageGallery CreateImageGalleryFromMediaFolderPaged(IMediaFolder mediaFolder, PagerParameters pagerParameters) { var images = _mediaService.GetMediaFiles(mediaFolder.MediaPath); ImageGallerySettingsRecord imageGallerySettings = GetImageGallerySettings(GetName(mediaFolder.MediaPath)) ?? CreateImageGallerySettings(mediaFolder.MediaPath, ThumbnailDefaultSize, ThumbnailDefaultSize, DefaultKeepAspectRatio, DefaultExpandToFill); return(new Models.ImageGallery { Id = imageGallerySettings.Id, LastUpdated = mediaFolder.LastUpdated, MediaPath = mediaFolder.MediaPath, Name = mediaFolder.Name, Size = mediaFolder.Size, User = mediaFolder.User, ThumbnailHeight = imageGallerySettings.ThumbnailHeight, ThumbnailWidth = imageGallerySettings.ThumbnailWidth, Images = images.Select(image => CreateImageFromMediaFile(image, imageGallerySettings)).OrderBy(image => image.Position) .Skip((int)(pagerParameters.PageSize * (pagerParameters.Page - 1))).Take((int)pagerParameters.PageSize), KeepAspectRatio = imageGallerySettings.KeepAspectRatio, ExpandToFill = imageGallerySettings.ExpandToFill, TotalItemsCount = images.Count() }); }