SystemEditModel.cs 1018 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using RackPeek.Domain.Resources.SystemResources;
  2. namespace Shared.Rcl.Systems;
  3. public sealed class SystemEditModel
  4. {
  5. public string Name { get; init; } = default!;
  6. private string? _type;
  7. public string? Type
  8. {
  9. get => _type;
  10. set => _type = string.IsNullOrWhiteSpace(value)
  11. ? null
  12. : value.Trim().ToLowerInvariant();
  13. }
  14. public string? Ip { get; set; }
  15. public string? Os { get; set; }
  16. public int? Cores { get; set; }
  17. public double? Ram { get; set; }
  18. public List<string> RunsOn { get; set; } = new List<string>();
  19. public string? Notes { get; set; }
  20. public static SystemEditModel From(SystemResource system)
  21. {
  22. return new SystemEditModel
  23. {
  24. Name = system.Name,
  25. Type = system.Type,
  26. Os = system.Os,
  27. Cores = system.Cores,
  28. Ram = system.Ram,
  29. Ip = system.Ip,
  30. RunsOn = system.RunsOn,
  31. Notes = system.Notes
  32. };
  33. }
  34. }