MainWindowViewModel.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using CommunityToolkit.Mvvm.Input;
  3. using Device;
  4. using EEMSMain.Data;
  5. using GeneralData;
  6. using GlobalData;
  7. using UICommon.CommonContainer;
  8. namespace EEMSMain.ViewModels;
  9. public partial class MainWindowViewModel : ObservableObject
  10. {
  11. public MainWindowViewModel(ICommonContainer commonContainer, ContainerManager containerManager, DeviceCollection deviceCollection)
  12. {
  13. this._commonContainer = commonContainer;
  14. this.ContainerManager = containerManager;
  15. this._deviceCollection = deviceCollection;
  16. this.FakeData();
  17. }
  18. private readonly ICommonContainer _commonContainer;
  19. public ContainerManager ContainerManager { get; }
  20. private readonly DeviceCollection _deviceCollection;
  21. void FakeData()
  22. {
  23. _deviceCollection.Devices ??= [];
  24. _deviceCollection.Devices[DeviceModel.JetKepler] = [];
  25. for (int i = 1; i <= 6; i++)
  26. {
  27. DeviceInfo device = new()
  28. {
  29. DeviceModel = DeviceModel.JetKepler,
  30. DeviceSubModel = KeplerSubModel.JetKepler_2200A,
  31. DeviceName = $"Device {i}",
  32. Position = $"position-{i}",
  33. SoftwareVersion = "1.0.0.0",
  34. Guid = Guid.NewGuid(),
  35. };
  36. _deviceCollection.Devices[DeviceModel.JetKepler].Add(device);
  37. }
  38. _deviceCollection.Devices[DeviceModel.Proxima] = [];
  39. for (int i = 1; i <= 3; i++)
  40. {
  41. DeviceInfo device = new()
  42. {
  43. DeviceModel = DeviceModel.Proxima,
  44. DeviceSubModel = ProximaSubModel.ELK,
  45. DeviceName = $"Device {i}",
  46. Position = $"position-{i}",
  47. SoftwareVersion = "1.0.0.0",
  48. Guid = Guid.NewGuid(),
  49. };
  50. _deviceCollection.Devices[DeviceModel.Proxima].Add(device);
  51. }
  52. }
  53. [ObservableProperty]
  54. private string? _CurrentModule;
  55. [RelayCommand]
  56. private void Open(ContainerInfo para)
  57. {
  58. try
  59. {
  60. _commonContainer.RequestNavigation(para.ModuleName);
  61. this.CurrentModule = para.Name;
  62. }
  63. catch
  64. {
  65. }
  66. }
  67. }