Esempio n. 1
0
        // private const string baseUrl = "http://poisk.ngonb.ru/opacg.integration.smev/ajax.php";

        public async Task <string> SearchById(string id)
        {
            var search = new SearchRusmarc();

            search.ID      = id;
            search.RUSMARC = "1";
            var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(search));


            var httpClient = new HttpClient();

            var responseMessage = await httpClient.PostAsync(baseUrl,
                                                             new StringContent(stringPayload,
                                                                               Encoding.UTF8, "application/json"));



            var asString = await responseMessage.Content.ReadAsStringAsync();

            if (!asString.EndsWith("}"))
            {
                asString += "\"}]}";
                asString  = asString.Remove(0, 1);
            }

            try
            {
                dynamic desirialized = Newtonsoft.Json.JsonConvert.DeserializeObject(asString);
                var     unimarc      = desirialized.result[0].UNIMARC;

                List <string> attributesArray = unimarc.ToObject <List <string> >();


                var attr     = attributesArray.First(x => x.StartsWith("899"));
                var splitted = attr.Split('$');
                var position = splitted.First(x => x.StartsWith("b"));
                position = position.Replace("b", "").Trim();
                return(position);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }


            return("");
        }
Esempio n. 2
0
        public async Task <string> SearchByAll(SearchRusmarc search)
        {
            var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(search));

            var httpClient = new HttpClient();

            var responseMessage = await httpClient.PostAsync(baseUrl,
                                                             new StringContent(stringPayload,
                                                                               Encoding.UTF8, "application/json"));

            var asString = await responseMessage.Content.ReadAsStringAsync();

            if (!asString.EndsWith("}"))
            {
                //asString += "\"}]}";
                //asString = asString.Remove(0, 1);
            }
            return(asString);
        }