コード例 #1
0
        public HttpResponseMessage ParHint(int langId, int siteLangId, string docNumber, string toPar = "", string domain = "")
        {
            var baseUrl = HttpContext.Current.Request.Url.AbsoluteUri;

            baseUrl = baseUrl.Substring(0, baseUrl.IndexOf("/api"));

            var response = this.Request.CreateResponse(HttpStatusCode.OK);

            var content = String.Empty;

            if (domain.IsIn(StringComparison.InvariantCultureIgnoreCase, "bgtooltip"))
            {
                ChangeLangCulture(langId);

                var parts = docNumber.Split('_');

                content = WebApisRequest.Hint(code: parts[1], @base: parts[0], toPar: toPar);
                if (String.IsNullOrEmpty(content))
                {
                    content = WebApisDocumentLink.CreateApisUrl(code: parts[1], @base: parts[0]);
                }
            }
            else
            {
                var actualLanguageId = GetAvailableLanguageIdForDocument(docNumber, langId);

                ChangeLangCulture(actualLanguageId);

                var d = Doc.GetParText(
                    "celex",
                    docNumber,
                    toPar,
                    actualLanguageId,
                    null,
                    actualLanguageId,
                    false,
                    false,
                    true,
                    true);

                content = d.Text;
                content = RedirectCelexAnchorsToEurocases(content, baseUrl, actualLanguageId);
                if (!String.IsNullOrEmpty(content))
                {
                    content = $"<div class='eurocases-hint-wrapper'><p class='hint-header'>InterLex</p>{content}</div>";
                }

                if (String.IsNullOrEmpty(content))
                {
                    content = Doc.CreateEurLexLink(docNumber, actualLanguageId);
                }
            }

            response.Headers.Add("Access-Control-Allow-Origin", "*");
            response.Headers.Add("Access-Control-Allow-Methods", "GET");
            response.Headers.Add("Access-Control-Allow-Headers", "*");

            response.Content = new StringContent(content, Encoding.UTF8, "text/html");

            return(response);
        }
コード例 #2
0
        public ActionResult Act(int docPrefLangId, string docNumber, string toPar, bool lastCons)
        {
            docNumber = docNumber.Replace("_", "/");

            // Временно всички hudoc сочат към външния адрес!
            if (docNumber.IndexOf("HUDOC-") > -1 && docNumber != "HUDOC-39954/08")
            {
                if (!this.Response.IsRequestBeingRedirected)
                {
                    this.Response.Redirect("http://hudoc.echr.coe.int/eng#{\"appno\":[\"" + docNumber.Replace("HUDOC-", "") + "\"]}", true);
                }
            }

            Document doc = Doc.GetDocByDocNumber(docNumber, docPrefLangId, this.UserData.UserId);
            string   eid = null;
            string   num = null;

            if (!String.IsNullOrEmpty(toPar) && doc != null)
            {
                Dictionary <string, string> d = Doc.GetEIDfromToPar(doc.DocLangId, toPar);
                if (d != null)
                {
                    eid = d["eid"];
                    num = d["num"];
                }
            }

            if (lastCons)
            {
                int?docLangId = Doc.GetLastConsDocLangId(docNumber, docPrefLangId, this.Language.Id, this.UserData.UserId, true);
                if (docLangId.HasValue)
                {
                    doc = Doc.GetDocument(docLangId.Value);
                }
                if (!String.IsNullOrEmpty(eid))
                {
                    eid = Doc.CheckEID(doc.DocLangId, eid, num);
                }
            }


            if (doc != null)
            {
                string url = WebAppHelper.AppRootFolder + "/Doc/" + ((doc.DocType == 1) ? "CourtAct" : "LegalAct") + "/" + doc.DocLangId;

                if (!String.IsNullOrEmpty(eid))
                {
                    url += "#" + eid;
                }

                if (!this.Response.IsRequestBeingRedirected)
                {
                    this.Response.Redirect(url);
                }

                return(null);
            }
            else
            {
                if (docNumber.IndexOf("HUDOC-") > -1)
                {
                    if (!this.Response.IsRequestBeingRedirected)
                    {
                        this.Response.Redirect("http://hudoc.echr.coe.int/eng#{\"appno\":[\"" + docNumber.Replace("HUDOC-", "") + "\"]}", true);
                    }
                }

                else // CELEX
                {
                    if (!this.Response.IsRequestBeingRedirected)
                    {
                        this.Response.Redirect(Doc.CreateEurLexLink(docNumber, docPrefLangId), true);
                    }
                }

                return(null);
            }
        }