Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }