diff --git a/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs b/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs index 1fa1097e..acb59e94 100644 --- a/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs @@ -14,11 +14,12 @@ // using System.Net.Http.Json; +using System.Text; using System.Text.Json; using Wonky.Client.Features; using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; +using Wonky.Client.Helpers; using Wonky.Entity.Configuration; using Wonky.Entity.DTO; using Wonky.Entity.Requests; @@ -57,7 +58,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository /// A paged response defined by pagingParameters public async Task> GetCompanies(CustomerPaging pagingParameters) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["pageNumber"] = pagingParameters.PageNumber.ToString(), ["pageSize"] = pagingParameters.PageSize.ToString(), @@ -67,7 +68,8 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository ["isHidden"] = pagingParameters.IsHidden.ToString(), ["hasFolded"] = pagingParameters.HasFolded.ToString() }; - var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_conf.CrmCustomers}/page", queryString)); + var endpoint = WebUtils.QueryHelper($"{_conf.CrmCustomers}/page", queryDictionary); + var response = await _client.GetAsync(endpoint); if (!response.IsSuccessStatusCode) { diff --git a/Wonky.Client/HttpRepository/CountryCatalogRepository.cs b/Wonky.Client/HttpRepository/CountryCatalogRepository.cs index 7d27a2d1..1a51c98e 100644 --- a/Wonky.Client/HttpRepository/CountryCatalogRepository.cs +++ b/Wonky.Client/HttpRepository/CountryCatalogRepository.cs @@ -14,11 +14,12 @@ // using System.Net.Http.Json; +using System.Text; using System.Text.Json; using Wonky.Client.Features; using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; +using Wonky.Client.Helpers; using Wonky.Entity.Configuration; using Wonky.Entity.Requests; using Wonky.Entity.Views; @@ -55,7 +56,7 @@ public class CountryCatalogRepository : ICountryCatalogRepository /// public async Task> GetSalesItemsPaged(string countryCode, CatalogPager pager) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["pageNumber"] = pager.PageNumber.ToString(), ["pageSize"] = pager.PageSize.ToString(), @@ -64,9 +65,10 @@ public class CountryCatalogRepository : ICountryCatalogRepository ["searchTerm"] = pager.SearchTerm, ["selectGroup"] = pager.SelectGroup == "0" ? "" : pager.SelectGroup }; - var response = await _client - .GetAsync(QueryHelpers.AddQueryString($"{_api.Catalog}/{countryCode}/page", queryString)); + var endpoint = WebUtils.QueryHelper($"{_api.Catalog}/{countryCode}/page", queryDictionary); + var response = await _client.GetAsync(endpoint); + if (!response.IsSuccessStatusCode) { return new PagingResponse diff --git a/Wonky.Client/HttpRepository/CountryCustomerRepository.cs b/Wonky.Client/HttpRepository/CountryCustomerRepository.cs index 670cbbe4..cc57f63f 100644 --- a/Wonky.Client/HttpRepository/CountryCustomerRepository.cs +++ b/Wonky.Client/HttpRepository/CountryCustomerRepository.cs @@ -17,8 +17,8 @@ using System.Net.Http.Json; using System.Text.Json; using Wonky.Client.Features; using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; +using Wonky.Client.Helpers; using Wonky.Entity.Configuration; using Wonky.Entity.DTO; using Wonky.Entity.Requests; @@ -58,7 +58,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository /// public async Task> GetCompaniesPaged(string countryCode, CustomerPaging paging) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["pageNumber"] = paging.PageNumber.ToString(), ["pageSize"] = paging.PageSize.ToString(), @@ -68,8 +68,10 @@ public class CountryCustomerRepository : ICountryCustomerRepository ["isHidden"] = paging.IsHidden.ToString(), ["hasFolded"] = paging.HasFolded.ToString(), }; + + var endpoint = WebUtils.QueryHelper($"{_api.OfficeCustomers}/{countryCode}", queryDictionary); + var response = await _client.GetAsync(endpoint.ToString()); - var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}", queryString)); var content = await response.Content.ReadAsStringAsync(); var pagingResponse = new PagingResponse @@ -90,7 +92,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository public async Task> GetCompaniesPaged(string countryCode, string salesRepId, CustomerPaging paging) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["pageNumber"] = paging.PageNumber.ToString(), ["pageSize"] = paging.PageSize.ToString(), @@ -100,8 +102,11 @@ public class CountryCustomerRepository : ICountryCustomerRepository ["isHidden"] = paging.IsHidden.ToString(), ["hasFolded"] = paging.HasFolded.ToString(), }; + + var endpoint = WebUtils + .QueryHelper($"{_api.OfficeCustomers}/{countryCode}/salesRep/{salesRepId}/", queryDictionary); + var response = await _client.GetAsync(endpoint); - var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}/salesRep/{salesRepId}/", queryString)); var content = await response.Content.ReadAsStringAsync(); var pagingResponse = new PagingResponse { diff --git a/Wonky.Client/Local.Services/VatInfoLookupService.cs b/Wonky.Client/Local.Services/VatInfoLookupService.cs index ea8f1d64..84389b73 100644 --- a/Wonky.Client/Local.Services/VatInfoLookupService.cs +++ b/Wonky.Client/Local.Services/VatInfoLookupService.cs @@ -14,9 +14,11 @@ // +using System.Text; using System.Text.Json; -using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; +using Microsoft.Extensions.Primitives; +using Wonky.Client.Helpers; using Wonky.Entity.Configuration; using Wonky.Entity.Models; using Wonky.Entity.Requests; @@ -29,12 +31,14 @@ public class VatInfoLookupService private readonly HttpClient _client; private readonly ApiConfig _api; + public VatInfoLookupService(HttpClient client, IOptions apiConfig) { _client = client; _api = apiConfig.Value; } + public async Task> QueryVirkRegistry(VirkParams query) { Console.WriteLine(JsonSerializer.Serialize(query)); @@ -42,7 +46,7 @@ public class VatInfoLookupService if(!ValidateCvrQuery(query)) throw new ArgumentException("CvrQuery does not validate"); - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["vatNumber"] = $"{query.VatNumber}", ["streetName"] = $"{query.StreetName}", @@ -50,8 +54,9 @@ public class VatInfoLookupService ["zipCode"] = $"{query.ZipCode}", ["entityName"] = $"{query.EntityName}" }; - var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatDk, queryString); - var response = await _client.GetAsync(endpoint); + var endpoint = WebUtils.QueryHelper($"{_api.ServicesVatDk}", queryDictionary); + var response = await _client.GetAsync(endpoint.ToString()); + var content = await response.Content.ReadAsStringAsync(); Console.WriteLine(content); @@ -71,15 +76,15 @@ public class VatInfoLookupService return result.Count == 0 ? new List() : result; } + public async Task> QueryBrRegistry(string vatNumber) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["vatNumber"] = $"{vatNumber}" }; - - var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatNo, queryString); - var response = await _client.GetAsync(endpoint); + var endpoint = WebUtils.QueryHelper($"{_api.ServicesVatNo}", queryDictionary); + var response = await _client.GetAsync(endpoint.ToString()); var content = await response.Content.ReadAsStringAsync(); var jsonResult = JsonSerializer.Deserialize>(content, _options); @@ -94,14 +99,16 @@ public class VatInfoLookupService return result.Count == 0 ? new List() : result; } + public async Task> QueryViesRegistry(string vatNumber) { - var queryString = new Dictionary + var queryDictionary = new Dictionary { ["vatNumber"] = $"{vatNumber}" }; - var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatEu, queryString); - var response = await _client.GetAsync(endpoint); + var endpoint = WebUtils.QueryHelper($"{_api.ServicesVatEu}", queryDictionary); + + var response = await _client.GetAsync(endpoint.ToString()); var content = await response.Content.ReadAsStringAsync(); var jsonResult = JsonSerializer.Deserialize>(content, _options); @@ -115,6 +122,7 @@ public class VatInfoLookupService return result.Count == 0 ? new List() : result; } + private static bool ValidateCvrQuery(VirkParams query) { if (!string.IsNullOrWhiteSpace(query.VatNumber))