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); }
     }
 }
Example #3
0
        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());
        }