Files
DiunaBI/src/Backend/DiunaBI.UI.Shared/Components/LayerListComponent.razor.cs

71 lines
1.6 KiB
C#
Raw Normal View History

2025-11-06 10:20:00 +01:00
using DiunaBI.UI.Shared.Services;
using Microsoft.AspNetCore.Components;
using DiunaBI.Application.DTOModels;
using DiunaBI.Application.DTOModels.Common;
using MudBlazor;
namespace DiunaBI.UI.Shared.Components;
public partial class LayerListComponent : ComponentBase
{
[Inject] private LayerService LayerService { get; set; } = default!;
[Inject] private ISnackbar Snackbar { get; set; } = default!;
private PagedResult<LayerDto> layers = new();
private LayerFilterRequest filterRequest = new();
private bool isLoading = false;
protected override async Task OnInitializedAsync()
{
await LoadProducts();
}
private async Task LoadProducts()
{
isLoading = true;
try
{
layers = await LayerService.GetLayersAsync(filterRequest);
}
catch (Exception ex)
{
Console.WriteLine($"Loading products failed: {ex.Message}");
}
finally
{
isLoading = false;
}
}
private async Task SearchProducts()
{
filterRequest.Page = 1;
await LoadProducts();
}
private async Task OnPageChanged(int page)
{
filterRequest.Page = page;
await LoadProducts();
}
private async Task ClearFilters()
{
filterRequest = new LayerFilterRequest();
await LoadProducts();
}
private async Task EditProduct(Guid productId)
{
// TODO
Console.WriteLine($"Edytuj produkt: {productId}");
}
private async Task DeleteProduct(Guid productId)
{
// TODO
Console.WriteLine($"Usuń produkt: {productId}");
}
}