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); }
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); } }