UpdateDesktopUseCase.cs 598 B

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