AddCpuUseCase.cs 644 B

12345678910111213141516171819202122232425262728
  1. using RackPeek.Domain.Resources.Hardware.Models;
  2. namespace RackPeek.Domain.Resources.Hardware.Servers.Cpus;
  3. public class AddCpuUseCase(IHardwareRepository repository)
  4. {
  5. public async Task ExecuteAsync(
  6. string serverName,
  7. string model,
  8. int cores,
  9. int threads)
  10. {
  11. var hardware = await repository.GetByNameAsync(serverName);
  12. if (hardware is not Server server) return;
  13. server.Cpus ??= [];
  14. server.Cpus.Add(new Cpu
  15. {
  16. Model = model,
  17. Cores = cores,
  18. Threads = threads
  19. });
  20. await repository.UpdateAsync(server);
  21. }
  22. }