GetServiceSummaryUseCase.cs 740 B

1234567891011121314151617181920
  1. namespace RackPeek.Domain.Resources.Services.UseCases;
  2. public sealed class AllServicesSummary(int totalServices, int totalIpAddresses) {
  3. public int TotalServices { get; } = totalServices;
  4. public int TotalIpAddresses { get; } = totalIpAddresses;
  5. }
  6. public class GetServiceSummaryUseCase(IServiceRepository repository) : IUseCase {
  7. public async Task<AllServicesSummary> ExecuteAsync() {
  8. Task<int> serviceCountTask = repository.GetCountAsync();
  9. Task<int> ipAddressCountTask = repository.GetIpAddressCountAsync();
  10. await Task.WhenAll(serviceCountTask, ipAddressCountTask);
  11. return new AllServicesSummary(
  12. serviceCountTask.Result,
  13. ipAddressCountTask.Result
  14. );
  15. }
  16. }