diff --git a/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor b/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor index e3d5372..f2602a0 100644 --- a/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor +++ b/DbFirst.BlazorWebApp/Components/CatalogsGrid.razor @@ -1,5 +1,5 @@ @inherits BandGridBase -@inject CatalogApiClient Api +@inject ICatalogApiClient Api @if (!string.IsNullOrWhiteSpace(errorMessage)) { diff --git a/DbFirst.BlazorWebApp/Components/MassDataGrid.razor b/DbFirst.BlazorWebApp/Components/MassDataGrid.razor index 0e93895..7fb68a1 100644 --- a/DbFirst.BlazorWebApp/Components/MassDataGrid.razor +++ b/DbFirst.BlazorWebApp/Components/MassDataGrid.razor @@ -1,5 +1,5 @@ @inherits BandGridBase -@inject MassDataApiClient Api +@inject IMassDataApiClient Api @if (!string.IsNullOrWhiteSpace(errorMessage)) { diff --git a/DbFirst.BlazorWebApp/Components/Pages/Dashboard.razor b/DbFirst.BlazorWebApp/Components/Pages/Dashboard.razor index 727b154..0284f19 100644 --- a/DbFirst.BlazorWebApp/Components/Pages/Dashboard.razor +++ b/DbFirst.BlazorWebApp/Components/Pages/Dashboard.razor @@ -3,7 +3,7 @@ @implements IAsyncDisposable @inject IOptions AppSettingsOptions @inject NavigationManager Navigation -@inject DashboardApiClient DashboardApi +@inject IDashboardApiClient DashboardApi Dashboards diff --git a/DbFirst.BlazorWebApp/Program.cs b/DbFirst.BlazorWebApp/Program.cs index 255352c..1184383 100644 --- a/DbFirst.BlazorWebApp/Program.cs +++ b/DbFirst.BlazorWebApp/Program.cs @@ -21,10 +21,10 @@ void ConfigureClient(HttpClient client) client.BaseAddress = new Uri(apiBaseUrl); } -builder.Services.AddHttpClient(ConfigureClient); -builder.Services.AddHttpClient(ConfigureClient); -builder.Services.AddHttpClient(ConfigureClient); -builder.Services.AddHttpClient(ConfigureClient); +builder.Services.AddHttpClient(ConfigureClient); +builder.Services.AddHttpClient(ConfigureClient); +builder.Services.AddHttpClient(ConfigureClient); +builder.Services.AddHttpClient(ConfigureClient); var app = builder.Build(); diff --git a/DbFirst.BlazorWebApp/Services/BandLayoutService.cs b/DbFirst.BlazorWebApp/Services/BandLayoutService.cs index 0082f80..5d0414b 100644 --- a/DbFirst.BlazorWebApp/Services/BandLayoutService.cs +++ b/DbFirst.BlazorWebApp/Services/BandLayoutService.cs @@ -5,7 +5,7 @@ using System.Text.Json; namespace DbFirst.BlazorWebApp.Services { - public class BandLayoutService(LayoutApiClient layoutApi, IJSRuntime jsRuntime) + public class BandLayoutService(ILayoutApiClient layoutApi, IJSRuntime jsRuntime) { private const string LayoutUserStorageKey = "layoutUser"; private readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); diff --git a/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs b/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs index f5a3b9d..0c97a9f 100644 --- a/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/CatalogApiClient.cs @@ -4,7 +4,7 @@ using DbFirst.BlazorWebApp.Models; namespace DbFirst.BlazorWebApp.Services; -public class CatalogApiClient +public class CatalogApiClient : ICatalogApiClient { private readonly HttpClient _httpClient; private const string Endpoint = "api/catalogs"; diff --git a/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs b/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs index cfc0773..9ea41f8 100644 --- a/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/DashboardApiClient.cs @@ -3,7 +3,7 @@ using DbFirst.BlazorWebApp.Models; namespace DbFirst.BlazorWebApp.Services; -public class DashboardApiClient +public class DashboardApiClient : IDashboardApiClient { private readonly HttpClient _httpClient; private const string Endpoint = "api/dashboard/dashboards"; diff --git a/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs b/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs new file mode 100644 index 0000000..c307205 --- /dev/null +++ b/DbFirst.BlazorWebApp/Services/ICatalogApiClient.cs @@ -0,0 +1,12 @@ +using DbFirst.BlazorWebApp.Models; + +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); +} \ No newline at end of file diff --git a/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs b/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs new file mode 100644 index 0000000..fba9d7b --- /dev/null +++ b/DbFirst.BlazorWebApp/Services/IDashboardApiClient.cs @@ -0,0 +1,9 @@ +using DbFirst.BlazorWebApp.Models; + +namespace DbFirst.BlazorWebApp.Services +{ + public interface IDashboardApiClient + { + Task> GetAllAsync(); + } +} diff --git a/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs b/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs new file mode 100644 index 0000000..a39116e --- /dev/null +++ b/DbFirst.BlazorWebApp/Services/ILayoutApiClient.cs @@ -0,0 +1,11 @@ +using DbFirst.BlazorWebApp.Models; + +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); + } +} diff --git a/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs b/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs new file mode 100644 index 0000000..13f3e95 --- /dev/null +++ b/DbFirst.BlazorWebApp/Services/IMassDataApiClient.cs @@ -0,0 +1,12 @@ +using DbFirst.BlazorWebApp.Models; + +namespace DbFirst.BlazorWebApp.Services +{ + public interface IMassDataApiClient + { + Task GetCountAsync(); + Task> GetAllAsync(int? skip, int? take); + Task> UpsertAsync(MassDataWriteDto dto); + Task GetByCustomerNameAsync(string customerName); + } +} diff --git a/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs b/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs index 0a863e8..ca83973 100644 --- a/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/LayoutApiClient.cs @@ -3,7 +3,7 @@ using DbFirst.BlazorWebApp.Models; namespace DbFirst.BlazorWebApp.Services; -public class LayoutApiClient +public class LayoutApiClient : ILayoutApiClient { private readonly HttpClient _httpClient; private const string Endpoint = "api/layouts"; diff --git a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs index 4735881..1f45682 100644 --- a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs @@ -3,7 +3,7 @@ using DbFirst.BlazorWebApp.Models; namespace DbFirst.BlazorWebApp.Services; -public class MassDataApiClient +public class MassDataApiClient : IMassDataApiClient { private readonly HttpClient _httpClient; private const string Endpoint = "api/massdata";