AddDriveUseCase.cs 559 B

123456789101112131415161718192021222324
  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) return;
  11. server.Drives ??= [];
  12. server.Drives.Add(new Models.Drive
  13. {
  14. Type = type,
  15. Size = size
  16. });
  17. await repository.UpdateAsync(server);
  18. }
  19. }