@using RackPeek.Domain.Resources.Services @using RackPeek.Domain.Resources.Services.UseCases @inject IServiceRepository ServiceRepository @inject UpdateServiceUseCase UpdateServiceUseCase @inject NavigationManager Nav Services
@if (_services is null) {
loading services…
} else if (_services.Count == 0) {
no services found
} else {
@foreach (var group in _services.OrderBy(s => s.Name).GroupBy(s => s.RunsOn).OrderByDescending(g => g.Count())) { foreach (var svc in group) { } }
}
@code { private IReadOnlyList? _services; protected override async Task OnInitializedAsync() { _services = await ServiceRepository.GetAllAsync(); } async Task UpdateService(ServiceEditModel edit) { await UpdateServiceUseCase.ExecuteAsync( edit.Name, edit.Ip, edit.Port, edit.Protocol, edit.Url, edit.RunsOn, edit.Notes ); } private Task NavigateToNewResource(string serverName) { Nav.NavigateTo($"resources/services/{serverName}"); return Task.CompletedTask; } private async Task Callback(string obj) { _services = await ServiceRepository.GetAllAsync(); } }