AddCpuUseCase.cs 646 B

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