Пример #1
0
        /// <summary>
        /// Executes this command.
        /// </summary>
        /// <param name="imageId">The image id.</param>
        /// <returns>The view model.</returns>
        public ImageViewModel Execute(Guid imageId)
        {
            var image = Repository.First <MediaImage>(imageId);
            var dimensionsCalculator = new ImageDimensionsCalculator(image);

            return(new ImageViewModel
            {
                Id = image.Id.ToString(),
                Caption = image.Caption,
                Title = image.Title,
                Description = image.Description,
                Url = FileUrlResolver.EnsureFullPathUrl(image.PublicUrl),
                ThumbnailUrl = FileUrlResolver.EnsureFullPathUrl(image.PublicThumbnailUrl),
                Version = image.Version.ToString(CultureInfo.InvariantCulture),
                FileName = image.OriginalFileName,
                FileExtension = image.OriginalFileExtension,
                FileSize = image.SizeAsText(),
                ImageWidth = image.Width,
                ImageHeight = image.Height,
                CroppedWidth = dimensionsCalculator.ResizedCroppedWidth,
                CroppedHeight = dimensionsCalculator.ResizedCroppedHeight,
                OriginalImageWidth = image.OriginalWidth,
                OriginalImageHeight = image.OriginalHeight,
                ImageAlign = image.ImageAlign.HasValue ? image.ImageAlign.Value : MediaImageAlign.Center,
                CropCoordX1 = image.CropCoordX1.HasValue ? image.CropCoordX1.Value : 0,
                CropCoordY1 = image.CropCoordY1.HasValue ? image.CropCoordY1.Value : 0,
                CropCoordX2 = image.CropCoordX2.HasValue ? image.CropCoordX2.Value : image.OriginalWidth,
                CropCoordY2 = image.CropCoordY2.HasValue ? image.CropCoordY2.Value : image.OriginalHeight,
                OriginalImageUrl = FileUrlResolver.EnsureFullPathUrl(image.PublicOriginallUrl + string.Format("?{0}", DateTime.Now.ToString(MediaManagerModuleDescriptor.HardLoadImageDateTimeFormat))),
                FolderId = image.Folder != null ? image.Folder.Id : (Guid?)null,
                Tags = TagService.GetMediaTagNames(imageId),
                Categories = CategoryService.GetSelectedCategories <Media, MediaCategory>(imageId).ToList(),
                CategoriesFilterKey = image.GetCategorizableItemKey()
            });
        }
Пример #2
0
 /// <summary>
 /// Fills the media view model with entity data.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="media">The media.</param>
 protected void FillMediaViewModel(MediaViewModel model, Media media)
 {
     model.Id               = media.Id;
     model.Version          = media.Version;
     model.Name             = media.Title;
     model.CreatedOn        = media.CreatedOn;
     model.Type             = media.Type;
     model.IsArchived       = media.IsArchived;
     model.ParentFolderId   = media.Folder != null ? media.Folder.Id : Guid.Empty;
     model.ParentFolderName = media.Folder != null ? media.Folder.Title : MediaGlobalization.MediaList_RootFolderName;
     model.Tooltip          = media.Image != null && !media.Image.IsDeleted ? media.Image.Caption : null;
     model.ThumbnailUrl     = media.Image != null && !media.Image.IsDeleted ? FileUrlResolver.EnsureFullPathUrl(media.Image.PublicThumbnailUrl) : null;
 }
Пример #3
0
        /// <summary>
        /// Creates the image view model.
        /// </summary>
        /// <param name="media">The media.</param>
        /// <returns>Created image view model</returns>
        protected override MediaViewModel ToViewModel(Media media)
        {
            var image = media as MediaImage;

            if (image != null)
            {
                var model = new MediaImageViewModel();
                FillMediaFileViewModel(model, image);

                model.Tooltip      = image.Caption;
                model.ThumbnailUrl = FileUrlResolver.EnsureFullPathUrl(image.PublicThumbnailUrl);
                model.IsProcessing = image.IsUploaded == null || image.IsThumbnailUploaded == null || image.IsOriginalUploaded == null;
                model.IsFailed     = image.IsUploaded == false || image.IsThumbnailUploaded == false || image.IsOriginalUploaded == false;

                return(model);
            }

            throw new InvalidOperationException("Cannot convert image media to image view model. Wrong entity passed.");
        }
Пример #4
0
        /// <summary>
        /// Creates the image view model.
        /// </summary>
        /// <param name="media">The media.</param>
        /// <returns>Created image view model</returns>
        protected override MediaViewModel ToViewModel(Media media)
        {
            var image = media as MediaImage;

            if (image != null)
            {
                var model = new MediaImageViewModel();
                FillMediaFileViewModel(model, image);

                var dimensionsCalculator = new ImageDimensionsCalculator(image);

                model.Tooltip      = image.Caption;
                model.ThumbnailUrl = FileUrlResolver.EnsureFullPathUrl(image.PublicThumbnailUrl + string.Format("?{0}", DateTime.Now.ToString(MediaManagerModuleDescriptor.HardLoadImageDateTimeFormat)));
                model.IsProcessing = image.IsUploaded == null || image.IsThumbnailUploaded == null || image.IsOriginalUploaded == null;
                model.IsFailed     = image.IsUploaded == false || image.IsThumbnailUploaded == false || image.IsOriginalUploaded == false;
                model.Height       = dimensionsCalculator.ResizedCroppedHeight;
                model.Width        = dimensionsCalculator.ResizedCroppedWidth;

                return(model);
            }

            throw new InvalidOperationException("Cannot convert image media to image view model. Wrong entity passed.");
        }
Пример #5
0
        /// <summary>
        /// Fills the media file view model with entity data.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="media">The media.</param>
        protected void FillMediaFileViewModel(MediaFileViewModel model, MediaFile media)
        {
            FillMediaViewModel(model, media);

            model.PublicUrl     = FileService.GetDownloadFileUrl(MediaType.File, media.Id, FileUrlResolver.EnsureFullPathUrl(media.PublicUrl));
            model.FileExtension = media.OriginalFileExtension;
            model.Size          = media.Size;
            model.IsProcessing  = media.IsUploaded == null;
            model.IsFailed      = media.IsUploaded == false;

            if (Configuration.Security.AccessControlEnabled && !(media is IAccessControlDisabled))
            {
                SetIsReadOnly(model, ((IAccessSecuredObject)media).AccessRules);
            }
        }