diff --git a/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs b/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs index 0c97a9f..a1ffc8d 100644 --- a/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs @@ -14,20 +14,20 @@ public class CatalogApiClient : ICatalogApiClient _httpClient = httpClient; } - public async Task> GetAllAsync() + public async Task> GetAllAsync(CancellationToken ct = default) { - var result = await _httpClient.GetFromJsonAsync>(Endpoint); + var result = await _httpClient.GetFromJsonAsync>(Endpoint, ct); return result ?? new List(); } - public async Task GetByIdAsync(int id) + public async Task GetByIdAsync(int id, CancellationToken ct = default) { - return await _httpClient.GetFromJsonAsync($"{Endpoint}/{id}"); + return await _httpClient.GetFromJsonAsync($"{Endpoint}/{id}", ct); } - public async Task> CreateAsync(CatalogWriteDto dto) + public async Task> CreateAsync(CatalogWriteDto dto, CancellationToken ct = default) { - var response = await _httpClient.PostAsJsonAsync(Endpoint, dto); + var response = await _httpClient.PostAsJsonAsync(Endpoint, dto, ct); if (response.IsSuccessStatusCode) { var payload = await response.Content.ReadFromJsonAsync(); @@ -38,9 +38,9 @@ public class CatalogApiClient : ICatalogApiClient return ApiResult.Fail(error); } - public async Task> UpdateAsync(int id, CatalogWriteDto dto) + public async Task> UpdateAsync(int id, CatalogWriteDto dto, CancellationToken ct = default) { - var response = await _httpClient.PutAsJsonAsync($"{Endpoint}/{id}", dto); + var response = await _httpClient.PutAsJsonAsync($"{Endpoint}/{id}", dto, ct); if (response.IsSuccessStatusCode) { return ApiResult.Ok(true); @@ -50,9 +50,9 @@ public class CatalogApiClient : ICatalogApiClient return ApiResult.Fail(error); } - public async Task> DeleteAsync(int id) + public async Task> DeleteAsync(int id, CancellationToken ct = default) { - var response = await _httpClient.DeleteAsync($"{Endpoint}/{id}"); + var response = await _httpClient.DeleteAsync($"{Endpoint}/{id}", ct); if (response.IsSuccessStatusCode) { return ApiResult.Ok(true); diff --git a/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs b/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs index 9ea41f8..da3e51f 100644 --- a/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs @@ -13,9 +13,9 @@ public class DashboardApiClient : IDashboardApiClient _httpClient = httpClient; } - public async Task> GetAllAsync() + public async Task> GetAllAsync(CancellationToken ct = default) { - var result = await _httpClient.GetFromJsonAsync>(Endpoint); + var result = await _httpClient.GetFromJsonAsync>(Endpoint, ct); return result ?? new List(); } } diff --git a/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs b/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs index c307205..bd99820 100644 --- a/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs @@ -4,9 +4,9 @@ namespace DbFirst.BlazorWebApp.Services; public interface ICatalogApiClient { - Task> GetAllAsync(); - Task GetByIdAsync(int id); - Task> CreateAsync(CatalogWriteDto dto); - Task> UpdateAsync(int id, CatalogWriteDto dto); - Task> DeleteAsync(int id); + Task> GetAllAsync(CancellationToken ct = default); + Task GetByIdAsync(int id, CancellationToken ct = default); + Task> CreateAsync(CatalogWriteDto dto, CancellationToken ct = default); + Task> UpdateAsync(int id, CatalogWriteDto dto, CancellationToken ct = default); + Task> DeleteAsync(int id, CancellationToken ct = default); } \ No newline at end of file diff --git a/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs b/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs index fba9d7b..cb77f3d 100644 --- a/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs @@ -4,6 +4,6 @@ namespace DbFirst.BlazorWebApp.Services { public interface IDashboardApiClient { - Task> GetAllAsync(); + Task> GetAllAsync(CancellationToken ct = default); } } diff --git a/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs b/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs index a39116e..a82ea8f 100644 --- a/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs @@ -4,8 +4,8 @@ namespace DbFirst.BlazorWebApp.Services { public interface ILayoutApiClient { - Task GetAsync(string layoutType, string layoutKey, string userName); - Task UpsertAsync(LayoutDto dto); - Task DeleteAsync(string layoutType, string layoutKey, string userName); + Task GetAsync(string layoutType, string layoutKey, string userName, CancellationToken ct = default); + Task UpsertAsync(LayoutDto dto, CancellationToken ct = default); + Task DeleteAsync(string layoutType, string layoutKey, string userName, CancellationToken ct = default); } } diff --git a/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs b/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs index 13f3e95..4d23877 100644 --- a/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs @@ -4,9 +4,9 @@ namespace DbFirst.BlazorWebApp.Services { public interface IMassDataApiClient { - Task GetCountAsync(); - Task> GetAllAsync(int? skip, int? take); - Task> UpsertAsync(MassDataWriteDto dto); - Task GetByCustomerNameAsync(string customerName); + Task GetCountAsync(CancellationToken ct = default); + Task> GetAllAsync(int? skip, int? take, CancellationToken ct = default); + Task> UpsertAsync(MassDataWriteDto dto, CancellationToken ct = default); + Task GetByCustomerNameAsync(string customerName, CancellationToken ct = default); } } diff --git a/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs b/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs index ca83973..d1e5202 100644 --- a/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs @@ -13,10 +13,10 @@ public class LayoutApiClient : ILayoutApiClient _httpClient = httpClient; } - public async Task GetAsync(string layoutType, string layoutKey, string userName) + public async Task GetAsync(string layoutType, string layoutKey, string userName, CancellationToken ct = default) { var url = $"{Endpoint}?layoutType={Uri.EscapeDataString(layoutType)}&layoutKey={Uri.EscapeDataString(layoutKey)}&userName={Uri.EscapeDataString(userName)}"; - var response = await _httpClient.GetAsync(url); + var response = await _httpClient.GetAsync(url, ct); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { return null; @@ -26,9 +26,9 @@ public class LayoutApiClient : ILayoutApiClient return await response.Content.ReadFromJsonAsync(); } - public async Task UpsertAsync(LayoutDto dto) + public async Task UpsertAsync(LayoutDto dto, CancellationToken ct = default) { - var response = await _httpClient.PostAsJsonAsync(Endpoint, dto); + var response = await _httpClient.PostAsJsonAsync(Endpoint, dto, ct); if (!response.IsSuccessStatusCode) { var detail = await ApiClientHelper.ReadErrorAsync(response); @@ -39,10 +39,10 @@ public class LayoutApiClient : ILayoutApiClient return payload ?? dto; } - public async Task DeleteAsync(string layoutType, string layoutKey, string userName) + public async Task DeleteAsync(string layoutType, string layoutKey, string userName, CancellationToken ct = default) { var url = $"{Endpoint}?layoutType={Uri.EscapeDataString(layoutType)}&layoutKey={Uri.EscapeDataString(layoutKey)}&userName={Uri.EscapeDataString(userName)}"; - var response = await _httpClient.DeleteAsync(url); + var response = await _httpClient.DeleteAsync(url, ct); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { return; diff --git a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs index 1f45682..f054252 100644 --- a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs @@ -13,13 +13,13 @@ public class MassDataApiClient : IMassDataApiClient _httpClient = httpClient; } - public async Task GetCountAsync() + public async Task GetCountAsync(CancellationToken ct = default) { - var result = await _httpClient.GetFromJsonAsync("api/massdata/count"); + var result = await _httpClient.GetFromJsonAsync("api/massdata/count", ct); return result ?? 0; } - public async Task> GetAllAsync(int? skip, int? take) + public async Task> GetAllAsync(int? skip, int? take, CancellationToken ct = default) { var query = new List(); if (skip.HasValue) @@ -32,13 +32,13 @@ public class MassDataApiClient : IMassDataApiClient } var url = query.Count == 0 ? Endpoint : $"{Endpoint}?{string.Join("&", query)}"; - var result = await _httpClient.GetFromJsonAsync>(url); + var result = await _httpClient.GetFromJsonAsync>(url, ct); return result ?? new List(); } - public async Task> UpsertAsync(MassDataWriteDto dto) + public async Task> UpsertAsync(MassDataWriteDto dto, CancellationToken ct = default) { - var response = await _httpClient.PostAsJsonAsync($"{Endpoint}/upsert", dto); + var response = await _httpClient.PostAsJsonAsync($"{Endpoint}/upsert", dto, ct); if (response.IsSuccessStatusCode) { var payload = await response.Content.ReadFromJsonAsync(); @@ -49,14 +49,14 @@ public class MassDataApiClient : IMassDataApiClient return ApiResult.Fail(error); } - public async Task GetByCustomerNameAsync(string customerName) + public async Task GetByCustomerNameAsync(string customerName, CancellationToken ct = default) { if (string.IsNullOrWhiteSpace(customerName)) { return null; } - var response = await _httpClient.GetAsync($"{Endpoint}/{Uri.EscapeDataString(customerName)}"); + var response = await _httpClient.GetAsync($"{Endpoint}/{Uri.EscapeDataString(customerName)}", ct); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { return null;