Ejemplo n.º 1
0
        private static MvcHtmlString MediaInternal(
            this HtmlHelper helper,
            MediaFileInfo file,
            bool renderViewer,
            int size,
            string extraCssClasses)
        {
            if (file?.File == null)
            {
                return(MvcHtmlString.Empty);
            }

            // Validate size parameter.
            if (file.MediaType != "image" && !renderViewer)
            {
                Guard.IsPositive(size, nameof(size), $"The size must be greater than 0 to get a thumbnail for type '{file.MediaType.NaIfEmpty()}'.");
            }

            if (size > 0)
            {
                file.ThumbSize = size;
            }

            var f = file?.File;

            var model = new MediaTemplateModel(file, renderViewer)
            {
                ExtraCssClasses = extraCssClasses,
                Title           = f?.GetLocalized(x => x.Title),
                Alt             = f?.GetLocalized(x => x.Alt)
            };

            return(helper.Partial("MediaTemplates/" + file.MediaType, model));
        }
Ejemplo n.º 2
0
        private static MvcHtmlString MediaInternal(
            HtmlHelper helper,
            MediaFileInfo file,
            bool renderViewer,
            int size,
            IDictionary <string, object> htmlAttributes)
        {
            if (file?.File == null)
            {
                return(MvcHtmlString.Empty);
            }

            var mediaType = file.MediaType.NullEmpty() ?? "image";

            // Validate size parameter.
            if (mediaType != "image" && !renderViewer)
            {
                Guard.IsPositive(size, nameof(size), $"The size must be greater than 0 to get a thumbnail for type '{mediaType.NaIfEmpty()}'.");
            }

            var f = file?.File;

            var model = new MediaTemplateModel(file, renderViewer)
            {
                ThumbSize      = size,
                HtmlAttributes = htmlAttributes
            };

            if (htmlAttributes.TryGetValue("alt", out var alt))
            {
                htmlAttributes.Remove("alt");
            }

            if (htmlAttributes.TryGetValue("title", out var title))
            {
                htmlAttributes.Remove("title");
            }

            //alt != null ? (string)alt : f?.GetLocalized(x => x.Alt).Value

            model.Alt   = (string)(alt ?? f?.GetLocalized(x => x.Alt).Value);
            model.Title = (string)(title ?? f?.GetLocalized(x => x.Title).Value);

            return(helper.Partial("MediaTemplates/" + mediaType, model));
        }