예제 #1
0
 internal static MvcHtmlString VersionDateTime(
     this HtmlHelper source,
     string id,
     string value,
     string valueToMerge,
     ArticleViewType viewType
     ) => source.VersionText(
     id,
     viewType == ArticleViewType.PreviewVersion
         ? source.FormatAsDateTime(value)
         : ArticleVersion.Merge(source.FormatAsDateTime(value), source.FormatAsDateTime(valueToMerge))
     );
예제 #2
0
        internal static MvcHtmlString VersionTime(this HtmlHelper source, string id, string value, string valueToMerge, ArticleViewType viewType)
        {
            var resultValue = viewType == ArticleViewType.PreviewVersion ? source.FormatAsTime(value) : ArticleVersion.Merge(source.FormatAsTime(value), source.FormatAsTime(valueToMerge));

            return(source.VersionText(id, resultValue));
        }
예제 #3
0
        internal static MvcHtmlString VersionRelation(this HtmlHelper source, string id, string value, string valueToMerge, Field field, int articleId, ArticleViewType viewType)
        {
            if (viewType == ArticleViewType.CompareVersions)
            {
                var titles1 = field.GetRelatedTitles(value);
                var titles2 = field.GetRelatedTitles(valueToMerge);
                return(source.VersionText(id, ArticleVersion.MergeRelation(titles1, titles2)));
            }

            var titles = string.Join("<br />", field.GetRelatedTitles(value).Select(i => $"(#{i.Value}) - {i.Text}"));

            return(source.VersionText(id, titles));
        }
예제 #4
0
        internal static MvcHtmlString VersionFile(this HtmlHelper source, string id, string value, Field field, ArticleVersion version, ArticleViewType viewType)
        {
            if (viewType == ArticleViewType.CompareVersions)
            {
                return(source.VersionText(id, value));
            }

            var sb = new StringBuilder();

            sb.Append(source.VersionText(id, value));
            if (field.TypeId == FieldTypeCodes.Image)
            {
                sb.Append(source.ImagePreview(id));
            }

            sb.Append(source.FileDownload(id));
            var tb = source.FileWrapper(id, null, field, version.Id, version, true, false);

            tb.InnerHtml = sb.ToString();

            return(MvcHtmlString.Create(tb.ToString()));
        }
예제 #5
0
        internal static IHtmlContent VersionFile(this IHtmlHelper source, string id, string value, Field field, ArticleVersion version, ArticleViewType viewType)
        {
            if (viewType == ArticleViewType.CompareVersions)
            {
                return(source.VersionText(id, value));
            }

            var tb = source.FileWrapper(id, null, field, version.Id, version, true, false);

            tb.InnerHtml.AppendHtml(source.VersionText(id, value));

            if (field.TypeId == FieldTypeCodes.Image)
            {
                tb.InnerHtml.AppendHtml(source.ImagePreview(id));
            }

            tb.InnerHtml.AppendHtml(source.FileDownload(id));

            return(tb);
        }