aboutsummaryrefslogtreecommitdiff
path: root/src/AddIn/RhDatabaseClient.cs
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2022-12-20 12:03:05 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2022-12-20 12:03:05 +0300
commitbfada8d605619e80702391c7f8fb326f021df18b (patch)
treee87bb02b44e8fe3893d41e05819e040809c300e0 /src/AddIn/RhDatabaseClient.cs
parente427d63e7735dd266ff5eb1309b9878585b83db6 (diff)
RhDatabase Client extract class
Diffstat (limited to 'src/AddIn/RhDatabaseClient.cs')
-rw-r--r--src/AddIn/RhDatabaseClient.cs45
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