AddDriveUseCase.cs 599 B

123456789101112131415161718192021222324252627
  1. namespace RackPeek.Domain.Resources.Hardware.Server.Drive;
  2. public class AddDrivesUseCase(IHardwareRepository repository)
  3. {
  4. public async Task ExecuteAsync(
  5. string serverName,
  6. string type,
  7. int size)
  8. {
  9. var hardware = await repository.GetByNameAsync(serverName);
  10. if (hardware is not Models.Server server)
  11. {
  12. return;
  13. }
  14. server.Drives ??= [];
  15. server.Drives.Add(new Models.Drive
  16. {
  17. Type = type,
  18. Size = size
  19. });
  20. await repository.UpdateAsync(server);
  21. }
  22. }