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);
            }
        }
Exemplo n.º 7
0
        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()
            });
        }