4
0

SystemEditModel.cs 986 B

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