diff options
author | Sergey Chebotar <s.chebotar@gmail.com> | 2022-12-20 12:03:05 +0300 |
---|---|---|
committer | Sergey Chebotar <s.chebotar@gmail.com> | 2022-12-20 12:03:05 +0300 |
commit | bfada8d605619e80702391c7f8fb326f021df18b (patch) | |
tree | e87bb02b44e8fe3893d41e05819e040809c300e0 /src/AddIn/RhDatabaseClient.cs | |
parent | e427d63e7735dd266ff5eb1309b9878585b83db6 (diff) |
RhDatabase Client extract class
Diffstat (limited to 'src/AddIn/RhDatabaseClient.cs')
-rw-r--r-- | src/AddIn/RhDatabaseClient.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/AddIn/RhDatabaseClient.cs b/src/AddIn/RhDatabaseClient.cs new file mode 100644 index 0000000..3a2de5c --- /dev/null +++ b/src/AddIn/RhDatabaseClient.cs @@ -0,0 +1,45 @@ +using Newtonsoft.Json; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; + +namespace RhSolutions +{ + public static class RhDatabaseClient + { + private static HttpClient httpClient = AddIn.httpClient; + + public static async Task<object> GetProduct(string line) + { + string request = @"https://rh.cebotari.ru/api/search?query=" + line; + + ServicePointManager.SecurityProtocol = + SecurityProtocolType.Tls12 | + SecurityProtocolType.Tls11 | + SecurityProtocolType.Tls; + + string response = await httpClient.GetStringAsync(request); + + var products = JsonConvert.DeserializeObject<IEnumerable<DbProduct>>(response); + + var product = products.FirstOrDefault(); + + if (product == null) + { + return null; + } + else + { + return $"{product.productSku} {product.name}"; + } + } + + private class DbProduct + { + public string productSku { get; set; } + public string name { get; set; } + } + } +}
\ No newline at end of file |