using Blazorise.DataGrid; using FoodsharingSiegen.Contracts.Entity; using FoodsharingSiegen.Server.Data.Service; using Microsoft.AspNetCore.Components; namespace FoodsharingSiegen.Server.Pages { public partial class Users { //////////////////////////////////////////////////////////////////////////////////////////////////// /// Gets or sets the user service. /// /// The user service. //////////////////////////////////////////////////////////////////////////////////////////////////// [Inject] public UserService UserService { get; set; } = null!; private List? UserList { get; set; } public DataGrid UserDataGrid { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) await LoadUsers(); await base.OnAfterRenderAsync(firstRender); } private async Task LoadUsers() { var usersR = await UserService.GetUsersAsync(); if (usersR.Success) UserList = usersR.Data; await InvokeAsync(StateHasChanged); } private async Task RowUpdated(SavedRowItem> arg) { if (arg.Item?.Id == null || arg.Item.Id.Equals(Guid.Empty) || arg.Values?.Any() != true) return; await UserService.Update(arg.Item); } private async Task RowInserted(SavedRowItem> arg) { var addUserR = await UserService.AddUserAsync(arg.Item); if (!addUserR.Success) { // Error Toast } else { await LoadUsers(); } } } }