Beispiel #1
0
        public HttpResponseMessage SearchByXmlId(string xmlId, string domain, int langId, int siteLangId, int limit = 25)
        {
            try
            {
                // tmp fix for using terms with letters in the term service
                xmlId = new string(xmlId.Where(Char.IsDigit).ToArray());
            }
            catch
            {
            }

            var classifierId = Classifiers.GetClassifierIdByXmlId(xmlId);

            return(SearchByClassifierId(classifierId, domain, langId, siteLangId, limit));
        }
Beispiel #2
0
        public ActionResult SearchByXmlId(string xmlId, string domain, int langId, int siteLangId)
        {
            // site language force refresh
            Session["LanguageId"] = siteLangId;
            var langModelCookie = new HttpCookie("sitelang");

            langModelCookie.Value = InterfaceLanguages.GetLanguageById(siteLangId).Code;
            langModelCookie.Expires.AddDays(365);
            Response.Cookies.Set(langModelCookie);

            // search params
            SearchBox sb             = new SearchBox(langId);
            string    classifierGuid = Classifiers.GetClassifierIdByXmlId(xmlId);

            sb.ClassifierFilter = new Guid(classifierGuid);
            sb.ByXmlId          = true;

            switch (domain.ToLower())
            {
            case "eucl": sb.Cases = new SearchCases(langId); sb.Cases.CaseLawType = CaseLawType.EU; break;

            case "natcl": sb.Cases = new SearchCases(langId); sb.Cases.CaseLawType = CaseLawType.National; break;

            case "eul": sb.Law = new SearchLaw(langId); break;

            case "natl": sb.Law = new SearchLaw(langId); break;

            default: break;
            }

            // search title
            var classifierModel = ClassificatorService.Current.TryGetTreeByGuid(sb.ClassifierFilter.ToString());

            if (classifierModel != null) // S.P.: correct classifiers population should always have returned a value but I don't trust it :D
            {
                sb.ClassifierFilterTitle = classifierModel.LanguageVariantsWithHints[siteLangId.ToString()].Title;
            }

            return(Search(sb));
        }