/// <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)); }
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 }); }
// 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); }
/// <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 })); }
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 })); }
// 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); }
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); }
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); }