SystemEditModel.cs 954 B

123456789101112131415161718192021222324252627282930313233343536
  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? Os { get; set; }
  15. public int? Cores { get; set; }
  16. public double? Ram { get; set; }
  17. public List<string> RunsOn { get; set; } = new List<string>();
  18. public string? Notes { get; set; }
  19. public static SystemEditModel From(SystemResource system)
  20. {
  21. return new SystemEditModel
  22. {
  23. Name = system.Name,
  24. Type = system.Type,
  25. Os = system.Os,
  26. Cores = system.Cores,
  27. Ram = system.Ram,
  28. RunsOn = system.RunsOn,
  29. Notes = system.Notes
  30. };
  31. }
  32. }