public static string FormatDocumentLinks (IEnumerable<IDocument> documents, ViewModelContext context, string itemTemplate, string listTemplateOne, string listTemplateMany, string microdata, DocumentGroupPlacement groupPlacement, GetDocumentTitle getDocumentTitle = null) { var markupBuilder = new StringBuilder (); var count = 0; foreach (var document in documents) { var linkMarkup = document.FormatDocumentLink_WithMicrodata ( (getDocumentTitle == null)? document.Title : getDocumentTitle (document), Localization.GetString ("LinkOpen.Text", context.LocalResourceFile), true, groupPlacement, context.Module.TabId, context.Module.ModuleId, microdata, HttpContext.Current.Timestamp ); if (!string.IsNullOrEmpty (linkMarkup)) { markupBuilder.Append (string.Format (itemTemplate, linkMarkup)); count++; } } var markup = markupBuilder.ToString (); if (!string.IsNullOrEmpty (markup)) { return string.Format ((count == 1)? listTemplateOne : listTemplateMany, markup); } return string.Empty; }
public static string FormatDocumentLinks(IEnumerable <IDocument> documents, ViewModelContext context, string itemTemplate, string listTemplateOne, string listTemplateMany, string microdata, DocumentGroupPlacement groupPlacement, GetDocumentTitle getDocumentTitle = null) { var markupBuilder = new StringBuilder(); var count = 0; foreach (var document in documents) { var linkMarkup = document.FormatDocumentLink_WithMicrodata( (getDocumentTitle == null)? document.Title : getDocumentTitle(document), Localization.GetString("LinkOpen.Text", context.LocalResourceFile), true, groupPlacement, context.Module.TabId, context.Module.ModuleId, microdata, HttpContext.Current.Timestamp ); if (!string.IsNullOrEmpty(linkMarkup)) { markupBuilder.Append(string.Format(itemTemplate, linkMarkup)); count++; } } var markup = markupBuilder.ToString(); if (!string.IsNullOrEmpty(markup)) { return(string.Format((count == 1)? listTemplateOne : listTemplateMany, markup)); } return(string.Empty); }
public static string FormatDocumentLink_WithMicrodata (this IDocument document, string documentTitle, string defaultTitle, bool preferDocumentTitle, DocumentGroupPlacement groupPlacement, int tabId, int moduleId, string microdata, DateTime now) { var title = (preferDocumentTitle && !string.IsNullOrWhiteSpace (documentTitle)) ? ((groupPlacement == DocumentGroupPlacement.InTitle) ? TextUtils.FormatList (": ", document.Group, documentTitle) : documentTitle) : ((groupPlacement == DocumentGroupPlacement.InTitle && !string.IsNullOrWhiteSpace (document.Group)) ? document.Group : defaultTitle); if (!string.IsNullOrWhiteSpace (document.Url)) { var linkMarkup = "<a href=\"" + UniversityUrlHelper.LinkClickIdnHack (document.Url, tabId, moduleId) + "\" " + TextUtils.FormatList (" ", !document.IsPublished (now) ? "class=\"u8y-not-published-element\"" : string.Empty, microdata) + " target=\"_blank\">" + title + "</a>"; if (groupPlacement == DocumentGroupPlacement.BeforeTitle) { return TextUtils.FormatList (": ", document.Group, linkMarkup); } if (groupPlacement == DocumentGroupPlacement.AfterTitle) { return TextUtils.FormatList (": ", linkMarkup, document.Group); } return linkMarkup; } return string.Empty; }
public static string FormatDocumentLink_WithMicrodata(this IDocument document, string documentTitle, string defaultTitle, bool preferDocumentTitle, DocumentGroupPlacement groupPlacement, int tabId, int moduleId, string microdata, DateTime now) { var title = (preferDocumentTitle && !string.IsNullOrWhiteSpace(documentTitle)) ? ((groupPlacement == DocumentGroupPlacement.InTitle) ? TextUtils.FormatList(": ", document.Group, documentTitle) : documentTitle) : ((groupPlacement == DocumentGroupPlacement.InTitle && !string.IsNullOrWhiteSpace(document.Group)) ? document.Group : defaultTitle); if (!string.IsNullOrWhiteSpace(document.Url)) { var linkMarkup = "<a href=\"" + UniversityUrlHelper.LinkClickIdnHack(document.Url, tabId, moduleId) + "\" " + TextUtils.FormatList(" ", !document.IsPublished(now) ? "class=\"u8y-not-published-element\"" : string.Empty, microdata) + " target=\"_blank\">" + title + "</a>"; if (groupPlacement == DocumentGroupPlacement.BeforeTitle) { return(TextUtils.FormatList(": ", document.Group, linkMarkup)); } if (groupPlacement == DocumentGroupPlacement.AfterTitle) { return(TextUtils.FormatList(": ", linkMarkup, document.Group)); } return(linkMarkup); } return(string.Empty); }