Beispiel #1
0
        public HttpResponseMessage Cite(int langId, string docNumber, CiteType citeType, String domain = "")
        {
            var response = this.Request.CreateResponse(HttpStatusCode.OK);

            ChangeLangCulture(langId);

            var data = new CiteData
            {
                DocType = 1,
                Text    = Resources.Resources.ApiDocCiteNotFound
            };

            if (domain.IsIn(StringComparison.InvariantCultureIgnoreCase, "bgcite"))
            {
                var parts = docNumber.Split('_');

                data.Text = WebApisRequest.Cite(code: parts[1], @base: parts[0], citeType: citeType);
            }
            else
            {
                Document doc = Doc.GetDocByDocNumber(docNumber, langId, null);
                if (doc != null)
                {
                    string docXml = Doc.GetDocText(doc.DocLangId, doc.DocType, 1, true); // this is temporary
                    if (citeType == CiteType.LongCite)
                    {
                        data.Text = AkomaNtosoPreProcessor.GetLongCitation(docXml);
                    }
                    else
                    {
                        data.Text = AkomaNtosoPreProcessor.GetShortCitation(docXml);
                    }
                }
            }

            response.Headers.Remove("Access-Control-Allow-Origin");
            response.Headers.Remove("Access-Control-Allow-Methods");
            response.Headers.Remove("Access-Control-Allow-Headers");

            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(Newtonsoft.Json.JsonConvert.SerializeObject(data), Encoding.UTF8, "text/html");
            return(response);
        }
Beispiel #2
0
        internal static String Cite(String code, String @base, CiteType citeType)
        {
            try
            {
                var citate = citeType == CiteType.LongCite ? "long" : "short";

                var url = $"{webapisdomain}/euLinksChecker.php?cite=1&citeType={citate}&code={code}&base={@base}";

                var content = GetAsString(url);

                // use anonymous template for deserializtion purpouse. the result does not fit well in 'link_wrapper_json_friendly'
                var template = new { links = new List <link_json_friendly>() };

                var jsonWrapper = JsonConvert.DeserializeAnonymousType(content, template);

                var result = jsonWrapper.links?.FirstOrDefault()?.title;

                return(result);
            }
            catch (Exception e)
            {
                return(null);
            }
        }