DebugAgvViewModel.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Prism.Events;
  2. using ProjectManagementSystemView.Infrastructure.Events;
  3. using ProjectManagementSystemView.Infrastructure.Extensions;
  4. using ProjectManagementSystemView.Infrastructure.Models;
  5. using PropertyChanged;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace ProjectManagementSystemView.ViewModels
  13. {
  14. [AddINotifyPropertyChangedInterface]
  15. public class DebugAgvViewModel
  16. {
  17. public bool IsVisible { get; set; }
  18. public ObservableCollection<VmResultAgvData> VmDatas { get; set; } = new ObservableCollection<VmResultAgvData>();
  19. public DebugAgvViewModel(IEventAggregator eventAggregator)
  20. {
  21. eventAggregator.GetEvent<UpdateViewEvent>().Subscribe(UpdateView);
  22. }
  23. private void UpdateView()
  24. {
  25. if (!IsVisible) return;
  26. var agvDataList = ProjectManagementSystem.Common.Service.Crms.PmsApi.GetAllCarrier();
  27. VmDatas.Update(agvDataList, (s, v) => s.AgvID == v.AgvID);
  28. }
  29. }
  30. }