UpdateDesktopUseCase.cs 670 B

123456789101112131415161718192021222324
  1. using RackPeek.Domain.Helpers;
  2. using RackPeek.Domain.Resources.Hardware.Models;
  3. namespace RackPeek.Domain.Resources.Hardware.Desktops;
  4. public class UpdateDesktopUseCase(IHardwareRepository repository) : IUseCase
  5. {
  6. public async Task ExecuteAsync(
  7. string name,
  8. string? model = null
  9. )
  10. {
  11. ThrowIfInvalid.ResourceName(name);
  12. var desktop = await repository.GetByNameAsync(name) as Desktop;
  13. if (desktop == null)
  14. throw new NotFoundException($"Desktop '{name}' not found.");
  15. if (!string.IsNullOrWhiteSpace(model))
  16. desktop.Model = model;
  17. await repository.UpdateAsync(desktop);
  18. }
  19. }