Exemple #1
0
        /// <summary>
        /// Retrieves media files with the .jpg extension from the 'SampleMediaLibrary'.
        /// </summary>
        public IActionResult ShowMediaFiles()
        {
            // Gets an instance of the 'SampleMediaLibrary' media library for the current site
            MediaLibraryInfo mediaLibrary = mediaLibraryInfoProvider.Get("SampleMediaLibrary", siteService.CurrentSite.SiteID);

            // Gets a collection of media files with the .jpg extension from the media library
            IEnumerable <MediaFileInfo> mediaLibraryFiles = mediaFileInfoProvider.Get()
                                                            .WhereEquals("FileLibraryID", mediaLibrary.LibraryID)
                                                            .WhereEquals("FileExtension", ".jpg");

            // Prepares a collection of view models containing required data of the media files
            IEnumerable <MediaFileViewModel> model = mediaLibraryFiles.Select(
                mediaFile => {
                IMediaFileUrl fileUrl = mediaFileUrlRetriever.Retrieve(mediaFile);
                return(new MediaFileViewModel
                {
                    FileTitle = mediaFile.FileTitle,
                    // Gets the relative path to the media file
                    RelativeUrl = fileUrl.RelativePath
                });
            }
                );

            // Passes the model to the view
            return(View(model));
        }
Exemple #2
0
        public ViewViewComponentResult Invoke(CardWidgetProperties properties)
        {
            var image = GetImage(properties);

            return(View("~/Components/Widgets/CardWidget/_CardWidget.cshtml", new CardWidgetViewModel
            {
                ImagePath = image == null ? null : mediaFileUrlRetriever.Retrieve(image).RelativePath,
                Text = properties.Text
            }));
        }
 public static MediaFileViewModel GetViewModel(MediaFileInfo mediaFileInfo, IMediaFileUrlRetriever fileUrlRetriever)
 {
     return(new MediaFileViewModel
     {
         Guid = mediaFileInfo.FileGUID,
         Title = mediaFileInfo.FileTitle,
         Name = mediaFileInfo.FileName,
         RelativePath = fileUrlRetriever.Retrieve(mediaFileInfo).WithSizeConstraint(SizeConstraint.MaxWidthOrHeight(400)).RelativePath
     });
 }
Exemple #4
0
        // Returns the relative path to the first image selected via the image selector component
        private string GetMediaFileUrl(IEnumerable <Kentico.Components.Web.Mvc.FormComponents.MediaFilesSelectorItem> images)
        {
            // Retrieves GUID of the first selected media file from the 'Images' property
            Guid guid = images.FirstOrDefault()?.FileGuid ?? Guid.Empty;

            // Retrieves the MediaFileInfo object that corresponds to the selected media file GUID
            MediaFileInfo mediaFile = mediaFileInfoProvider.Get(guid, siteService.CurrentSite.SiteID);

            return(mediaFileUrlRetriever.Retrieve(mediaFile).RelativePath);
        }
Exemple #5
0
 /// <summary>
 /// Maps DTO properties.
 /// </summary>
 /// <param name="mediaFileInfo">Xperience media file.</param>
 /// <returns>Media file DTO.</returns>
 private MediaLibraryFile MapDtoProperties(MediaFileInfo mediaFileInfo) =>
 new MediaLibraryFile()
 {
     Guid         = mediaFileInfo.FileGUID,
     Name         = mediaFileInfo.FileTitle,
     Extension    = mediaFileInfo.FileExtension,
     MediaFileUrl = _mediaFileUrlRetriever.Retrieve(mediaFileInfo),
     IsImage      = _optionsMonitor.CurrentValue?.MediaLibraryOptions?.AllowedImageExtensions?.Contains(mediaFileInfo.FileExtension) == true,
     Width        = mediaFileInfo.FileImageWidth,
     Height       = mediaFileInfo.FileImageHeight
 };
        public ActionResult Index()
        {
            var properties = componentPropertiesRetriever.Retrieve <CardWidgetProperties>();
            var image      = GetImage(properties);

            outputCacheDependencies.AddDependencyOnInfoObject <MediaFileInfo>(image?.FileGUID ?? Guid.Empty);

            return(PartialView("Widgets/_CardWidget", new CardWidgetViewModel
            {
                ImagePath = image == null ? null : mediaFileUrlRetriever.Retrieve(image).RelativePath,
                Text = properties.Text
            }));
        }
Exemple #7
0
        public ViewViewComponentResult Invoke(HeroImageWidgetProperties properties)
        {
            var image = GetImage(properties);

            return(View("~/Components/Widgets/HeroImageWidget/_HeroImageWidget.cshtml", new HeroImageWidgetViewModel
            {
                ImagePath = image == null ? null : mediaFileUrlRetriever.Retrieve(image).RelativePath,
                Text = properties.Text,
                ButtonText = properties.ButtonText,
                ButtonTarget = properties.ButtonTarget,
                Theme = properties.Theme
            }));
        }
Exemple #8
0
        // Returns the relative path to the first image selected via the image selector component
        private async Task <string> GetMediaFileUrl(IEnumerable <MediaFilesSelectorItem> images)
        {
            // Retrieves GUID of the first selected media file from the 'Images' property
            Guid guid = images.FirstOrDefault()?.FileGuid ?? Guid.Empty;

            // Retrieves the MediaFileInfo object that corresponds to the selected media file GUID
            MediaFileInfo mediaFile = await mediaFileInfoProvider.GetAsync(guid, siteService.CurrentSite.SiteID);

            if (mediaFile == null)
            {
                return(null);
            }

            return(mediaFileUrlRetriever.Retrieve(mediaFile).RelativePath);
        }
Exemple #9
0
        private string GetImagePath(BannerWidgetProperties properties)
        {
            var imageGuid = properties.Image.FirstOrDefault()?.FileGuid ?? Guid.Empty;

            if (imageGuid == Guid.Empty)
            {
                return(null);
            }

            var image = mediaFileProvider.Get(imageGuid, SiteContext.CurrentSiteID);

            if (image == null)
            {
                return(string.Empty);
            }

            return(fileUrlRetriever.Retrieve(image).RelativePath);
        }
Exemple #10
0
        private string GetImagePath(BannerWidgetProperties properties)
        {
            var imageGuid = properties.Image.FirstOrDefault()?.FileGuid ?? Guid.Empty;

            if (imageGuid == Guid.Empty)
            {
                return(null);
            }

            outputCacheDependencies.AddDependencyOnInfoObject <MediaFileInfo>(imageGuid);

            var image = mediaFileRepository.GetMediaFile(imageGuid, SiteContext.CurrentSiteID);

            if (image == null)
            {
                return(string.Empty);
            }

            return(mediaFileUrlRetriever.Retrieve(image).RelativePath);
        }
        public void SetUp()
        {
            Fake <MediaFileInfo>();
            Fake().DocumentType <Article>(Article.CLASS_NAME);
            mediaFileRepository.GetMediaFile(fileGuid, Arg.Any <int>()).Returns(new MediaFileInfo
            {
                FileGUID   = fileGuid,
                FileSiteID = SITE_ID
            });
            var fileUrl = Substitute.For <IMediaFileUrl>();

            fileUrl.RelativePath.Returns("~/path");
            fileUrlRetriever.Retrieve(Arg.Any <MediaFileInfo>()).Returns(fileUrl);
            Fake <SiteInfo, SiteInfoProvider>().WithData(
                new SiteInfo
            {
                SiteID   = SITE_ID,
                SiteName = "Site"
            });

            controller = new BannerWidgetController(mediaFileRepository, outputCacheDependencies, fileUrlRetriever, propertiesRetriever);
            controller.ControllerContext = ControllerContextMock.GetControllerContext(controller);
        }