diff options
author | Serghei Cebotari <serghei@cebotari.ru> | 2023-10-16 22:50:25 +0300 |
---|---|---|
committer | Serghei Cebotari <serghei@cebotari.ru> | 2023-10-16 22:50:25 +0300 |
commit | e462add7f3e24a5bcdf839ceccde7eafca9b7060 (patch) | |
tree | 90cf350102d07a364610fb8ac7cdf38bf724eabb | |
parent | 2a0430b7ecaf658d37eab4bc16a61f0930a17413 (diff) |
Fix query building with '&' sign
-rw-r--r-- | RhSolutions.AddIn/RhSolutions-AddIn.dna | 10 | ||||
-rw-r--r-- | RhSolutions.AddIn/RhSolutions.AddIn.csproj | 11 | ||||
-rw-r--r-- | RhSolutions.AddIn/Services/DatabaseClient.cs | 12 |
3 files changed, 23 insertions, 10 deletions
diff --git a/RhSolutions.AddIn/RhSolutions-AddIn.dna b/RhSolutions.AddIn/RhSolutions-AddIn.dna index 1ece3ec..63149ff 100644 --- a/RhSolutions.AddIn/RhSolutions-AddIn.dna +++ b/RhSolutions.AddIn/RhSolutions-AddIn.dna @@ -1,26 +1,32 @@ <?xml version="1.0" encoding="utf-8"?> <DnaLibrary Name="RhSolutions Add-In" RuntimeVersion="v4.0" xmlns="http://schemas.excel-dna.net/addin/2020/07/dnalibrary"> <ExternalLibrary Path="RhSolutions.AddIn.dll" ExplicitExports="false" LoadFromBytes="true" Pack="true" IncludePdb="false" /> + <Reference Path="ExcelDna.IntelliSense.dll" Pack="true" /> + <Reference Path="Microsoft.AspNetCore.Http.Abstractions.dll" Pack="true" /> + <Reference Path="Microsoft.AspNetCore.Http.Extensions.dll" Pack="true" /> + <Reference Path="Microsoft.AspNetCore.Http.Features.dll" Pack="true" /> <Reference Path="Microsoft.Bcl.AsyncInterfaces.dll" Pack="true" /> <Reference Path="Microsoft.Bcl.HashCode.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Caching.Abstractions.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Caching.Memory.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.DependencyInjection.Abstractions.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.DependencyInjection.dll" Pack="true" /> + <Reference Path="Microsoft.Extensions.FileProviders.Abstractions.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Http.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Logging.Abstractions.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Logging.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Options.dll" Pack="true" /> <Reference Path="Microsoft.Extensions.Primitives.dll" Pack="true" /> - <Reference Path="ExcelDna.IntelliSense.dll" Pack="true" /> - <Reference Path="Newtonsoft.Json.dll" Pack="true" /> + <Reference Path="Microsoft.Net.Http.Headers.dll" Pack="true" /> <Reference Path="netDxf.dll" Pack="true" /> + <Reference Path="Newtonsoft.Json.dll" Pack="true" /> <Reference Path="RhSolutions.ProductSku.dll" Pack="true" /> <Reference Path="System.Buffers.dll" Pack="true" /> <Reference Path="System.Diagnostics.DiagnosticSource.dll" Pack="true" /> <Reference Path="System.Memory.dll" Pack="true" /> <Reference Path="System.Numerics.Vectors.dll" Pack="true" /> <Reference Path="System.Runtime.CompilerServices.Unsafe.dll" Pack="true" /> + <Reference Path="System.Text.Encodings.Web.dll" Pack="true" /> <Reference Path="System.Threading.Tasks.Extensions.dll" Pack="true" /> <Reference Path="System.ValueTuple.dll" Pack="true" /> </DnaLibrary> diff --git a/RhSolutions.AddIn/RhSolutions.AddIn.csproj b/RhSolutions.AddIn/RhSolutions.AddIn.csproj index d73b404..ff5db43 100644 --- a/RhSolutions.AddIn/RhSolutions.AddIn.csproj +++ b/RhSolutions.AddIn/RhSolutions.AddIn.csproj @@ -14,24 +14,25 @@ <StartupObject /> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net472|AnyCPU'"> - <NoWarn>1701;1702</NoWarn> + <NoWarn>1701;1702</NoWarn> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net472|AnyCPU'"> - <NoWarn>1701;1702</NoWarn> + <NoWarn>1701;1702</NoWarn> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0-windows7.0|AnyCPU'"> - <NoWarn>1701;1702</NoWarn> + <NoWarn>1701;1702</NoWarn> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0-windows7.0|AnyCPU'"> - <NoWarn>1701;1702</NoWarn> + <NoWarn>1701;1702</NoWarn> </PropertyGroup> <ItemGroup> <PackageReference Include="ExcelDna.AddIn" Version="1.6.0"> - <TreatAsUsed>true</TreatAsUsed> + <TreatAsUsed>true</TreatAsUsed> </PackageReference> <PackageReference Include="ExcelDna.Integration" Version="1.6.0" /> <PackageReference Include="ExcelDna.IntelliSense" Version="1.6.0" /> <PackageReference Include="ExcelDna.Interop" Version="15.0.1" /> + <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" /> <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" /> <PackageReference Include="Microsoft.Bcl.HashCode" Version="1.1.1" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> diff --git a/RhSolutions.AddIn/Services/DatabaseClient.cs b/RhSolutions.AddIn/Services/DatabaseClient.cs index ac4dfa5..3036e51 100644 --- a/RhSolutions.AddIn/Services/DatabaseClient.cs +++ b/RhSolutions.AddIn/Services/DatabaseClient.cs @@ -1,8 +1,10 @@ using Microsoft.Extensions.Caching.Memory; using Newtonsoft.Json; +using System.Web; using System.Net; using System.Net.Http; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http.Extensions; namespace RhSolutions.Services; @@ -53,9 +55,13 @@ public class DatabaseClient : IDatabaseClient } else - { - string request = @"https://rh.cebotari.ru/api/search?query=" + line; - + { + QueryBuilder qb = new() + { + {"query", line} + }; + string request = @"https://rh.cebotari.ru/api/search" + qb.ToQueryString(); + if (!_memoryCache.TryGetValue(line, out IEnumerable<Product> products)) { var response = await _httpClient.GetAsync(request); |