private GroupViewModels() { foreach (var item in NTMinerRoot.Current.GroupSet) { GroupViewModel groupVm = new GroupViewModel(item); _dicById.Add(item.GetId(), groupVm); } this.Add = new DelegateCommand(() => { new GroupViewModel(Guid.NewGuid()) { SortNumber = Count + 1 }.Edit.Execute(null); }); Global.Access <GroupAddedEvent>( Guid.Parse("285077b7-b6ce-4b2a-8033-29650ea701ec"), "添加了组后调整VM内存", LogEnum.Log, action: (message) => { if (!_dicById.ContainsKey(message.Source.GetId())) { GroupViewModel groupVm = new GroupViewModel(message.Source); _dicById.Add(message.Source.GetId(), groupVm); OnPropertyChanged(nameof(List)); OnPropertyChanged(nameof(SelectionOptions)); OnPropertyChanged(nameof(Count)); } }); Global.Access <GroupUpdatedEvent>( Guid.Parse("cc692b24-3771-4e86-bbd8-0af452452456"), "更新了组后调整VM内存", LogEnum.Log, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { GroupViewModel entity = _dicById[message.Source.GetId()]; int sortNumber = entity.SortNumber; entity.Update(message.Source); if (sortNumber != entity.SortNumber) { this.OnPropertyChanged(nameof(List)); OnPropertyChanged(nameof(SelectionOptions)); } } }); Global.Access <GroupRemovedEvent>( Guid.Parse("9ae5c909-9d4f-4082-be86-a5003e7c6f7e"), "删除了组后调整VM内存", LogEnum.Log, action: (message) => { _dicById.Remove(message.Source.GetId()); OnPropertyChanged(nameof(List)); OnPropertyChanged(nameof(SelectionOptions)); OnPropertyChanged(nameof(Count)); }); }
private void Init() { VirtualRoot.On <GroupAddedEvent>("添加了组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (!_dicById.ContainsKey(message.Source.GetId())) { GroupViewModel groupVm = new GroupViewModel(message.Source); _dicById.Add(message.Source.GetId(), groupVm); OnPropertyChangeds(); } }).AddToCollection(NTMinerRoot.Current.ContextHandlers); VirtualRoot.On <GroupUpdatedEvent>("更新了组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { GroupViewModel entity = _dicById[message.Source.GetId()]; int sortNumber = entity.SortNumber; entity.Update(message.Source); if (sortNumber != entity.SortNumber) { this.OnPropertyChanged(nameof(List)); OnPropertyChanged(nameof(SelectionOptions)); } } }).AddToCollection(NTMinerRoot.Current.ContextHandlers); VirtualRoot.On <GroupRemovedEvent>("删除了组后调整VM内存", LogEnum.DevConsole, action: (message) => { _dicById.Remove(message.Source.GetId()); OnPropertyChangeds(); }).AddToCollection(NTMinerRoot.Current.ContextHandlers); foreach (var item in NTMinerRoot.Current.GroupSet) { GroupViewModel groupVm = new GroupViewModel(item); _dicById.Add(item.GetId(), groupVm); } }