public static string GetDisplayText(SmeDoc document, SmeLanguage lang, SmeDocItem docItem, bool addArtRec = true) { var sb = new StringBuilder(); GetHtml(sb, docItem, document, lang, addArtRec); return(sb.ToString()); }
private static SmeDoc OldDirective(SmeLanguage lang) { if (oldDirective.TryGetValue(lang, out SmeDoc res)) { return(res); } else { try { var oldSmeDoc = HttpService.GetSmeDocByDocNumber("31995L0046", (int)lang, string.Empty).Result; oldDirective[lang] = oldSmeDoc; return(oldSmeDoc); } catch { return(null); } } }
public static string GetEurlexCountryByLanguage(SmeLanguage lang) { switch (lang) { case SmeLanguage.Bulgarian: return("BG"); case SmeLanguage.English: return("EN"); case SmeLanguage.Italian: return("IT"); case SmeLanguage.German: return("DE"); case SmeLanguage.French: return("FR"); default: return("EN"); } }
private static void GetHtml(StringBuilder sb, SmeDocItem item, SmeDoc document, SmeLanguage lang, bool addArtRec = true) { sb.AppendLine(item.Text); if (addArtRec) { sb.AppendLine(AddButtons(item.Recitals, $"{item.Id}_rec", Translator.GetString("Recitals"), document, lang)); sb.AppendLine(AddButtons(item.Articles, $"{item.Id}_art", Translator.GetString("Articles"), document, lang)); if (item.OldArticles?.Count > 0) { var od = OldDirective(lang); if (od != null) { sb.AppendLine(AddButtons(item.OldArticles, $"{item.Id}_old_art", Translator.GetString("31995L0046"), od, lang, true)); } } } foreach (var childItem in item.Childs) { GetHtml(sb, childItem, document, lang, addArtRec); } }
private static string AddButtons(List <string> items, string elId, string title, SmeDoc document, SmeLanguage lang, bool tryFindParents = false) { var cultureInfo = Properties.Resources.Culture; var sb = new StringBuilder(); if (items?.Count > 0) { sb.AppendLine($@"<button onclick=""showHideDiv('{elId}')"" >{title}</button><div class=""gdpr-recital"" style=""display:none;"" id=""{elId}"" name=""{elId}"">"); foreach (var id in items) { var linkedItem = document.GetItemById(id, tryFindParents); if (linkedItem != null) { sb.AppendLine($"{GetDisplayText(document, lang, linkedItem, false)}<hr>"); } } sb.AppendLine("</div>"); } return(sb.ToString()); }