public ActionResult Index(IContent currentContent) { switch (currentContent) { case VideoFile videoFile: var model = new VideoFileViewModel { VideoLink = _urlResolver.GetUrl(currentContent.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }), PreviewImage = ContentReference.IsNullOrEmpty(videoFile.PreviewImage) ? string.Empty : _urlResolver.GetUrl(videoFile.PreviewImage, null, new VirtualPathArguments { ContextMode = ContextMode.Default }), DisplayControls = videoFile.DisplayControls, Autoplay = videoFile.Autoplay, Copyright = videoFile.Copyright }; return(PartialView("~/Features/Preview/VideoFilePreview.cshtml", model)); case ImageMediaData image: var imageViewModel = new ImageMediaDataViewModel { Name = image.Name, ImageLink = _urlResolver.GetUrl(image.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }), LinkToContent = ContentReference.IsNullOrEmpty(image.Link) ? string.Empty : _urlResolver.GetUrl(image.Link, null, new VirtualPathArguments { ContextMode = ContextMode.Default }), Description = image.Description, ImageAlignment = image.ImageAlignment, PaddingStyles = image.PaddingStyles }; return(PartialView("~/Features/Preview/ImageMediaPreview.cshtml", imageViewModel)); case FoundationPdfFile pdfFile: var pdfViewModel = new FoundationPdfFileViewModel { Height = pdfFile.Height }; pdfViewModel.PdfLink = _urlResolver.GetUrl(pdfFile.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); return(PartialView("~/Features/Preview/PdfFilePreview.cshtml", pdfViewModel)); default: return(PartialView("~/Features/Preview/NoPreview.cshtml", currentContent.GetType().BaseType.Name)); } }
public override IViewComponentResult Invoke(MediaData currentContent) { switch (currentContent) { case VideoFile videoFile: var videoViewModel = new VideoFileViewModel { DisplayControls = videoFile.DisplayControls, Autoplay = videoFile.Autoplay, Copyright = videoFile.Copyright }; if (_contextModeResolver.CurrentMode == ContextMode.Edit) { videoViewModel.VideoLink = _urlResolver.GetUrl(videoFile.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); videoViewModel.PreviewImage = ContentReference.IsNullOrEmpty(videoFile.PreviewImage) ? string.Empty : _urlResolver.GetUrl(videoFile.PreviewImage, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); } else { videoViewModel.VideoLink = _urlResolver.GetUrl(videoFile.ContentLink); videoViewModel.PreviewImage = ContentReference.IsNullOrEmpty(videoFile.PreviewImage) ? string.Empty : _urlResolver.GetUrl(videoFile.PreviewImage); } return(View("~/Features/Media/Views/VideoFile.cshtml", videoViewModel)); case ImageMediaData image: var imageViewModel = new ImageMediaDataViewModel { Name = image.Name, Description = image.Description, ImageAlignment = image.ImageAlignment, PaddingStyles = image.PaddingStyles }; if (_contextModeResolver.CurrentMode == ContextMode.Edit) { imageViewModel.ImageLink = _urlResolver.GetUrl(image.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); imageViewModel.LinkToContent = ContentReference.IsNullOrEmpty(image.Link) ? string.Empty : _urlResolver.GetUrl(image.Link, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); } else { imageViewModel.ImageLink = _urlResolver.GetUrl(image.ContentLink); imageViewModel.LinkToContent = ContentReference.IsNullOrEmpty(image.Link) ? string.Empty : _urlResolver.GetUrl(image.Link); } return(View("~/Features/Media/Views/ImageMedia.cshtml", imageViewModel)); //case FoundationPdfFile pdfFile: // var pdfViewModel = new FoundationPdfFileViewModel // { // Height = pdfFile.Height // }; // if (_contextModeResolver.CurrentMode == ContextMode.Edit) // { // pdfViewModel.PdfLink = _urlResolver.GetUrl(pdfFile.ContentLink, null, new VirtualPathArguments { ContextMode = ContextMode.Default }); // } // else // { // pdfViewModel.PdfLink = _urlResolver.GetUrl(pdfFile.ContentLink); // } // return PartialView("~/Features/Media/PdfFile.cshtml", pdfViewModel); default: return(View("~/Features/Media/Views/Index.cshtml", currentContent.GetType().BaseType.Name)); } }