private CoinGroupViewModels() { #if DEBUG VirtualRoot.Stopwatch.Restart(); #endif On <ServerContextReInitedEvent>("ServerContext刷新后刷新VM内存", LogEnum.DevConsole, action: message => { _dicById.Clear(); _listByGroupId.Clear(); Init(); }); On <CoinGroupAddedEvent>("添加了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (!_dicById.ContainsKey(message.Source.GetId())) { CoinGroupViewModel coinGroupVm = new CoinGroupViewModel(message.Source); _dicById.Add(message.Source.GetId(), coinGroupVm); if (!_listByGroupId.ContainsKey(coinGroupVm.GroupId)) { _listByGroupId.Add(coinGroupVm.GroupId, new List <CoinGroupViewModel>()); } _listByGroupId[coinGroupVm.GroupId].Add(coinGroupVm); OnGroupPropertyChanged(coinGroupVm.GroupId); } }); On <CoinGroupUpdatedEvent>("更新了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { CoinGroupViewModel entity = _dicById[message.Source.GetId()]; int sortNumber = entity.SortNumber; entity.Update(message.Source); if (sortNumber != entity.SortNumber) { GroupViewModel groupVm; if (AppContext.Instance.GroupVms.TryGetGroupVm(entity.GroupId, out groupVm)) { groupVm.OnPropertyChanged(nameof(groupVm.CoinGroupVms)); } } } }); On <CoinGroupRemovedEvent>("删除了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { var entity = _dicById[message.Source.GetId()]; _dicById.Remove(message.Source.GetId()); if (_listByGroupId.ContainsKey(entity.GroupId)) { _listByGroupId[entity.GroupId].Remove(entity); } OnGroupPropertyChanged(entity.GroupId); } }); Init(); #if DEBUG Write.DevWarn($"耗时{VirtualRoot.Stopwatch.ElapsedMilliseconds}毫秒 {this.GetType().Name}.ctor"); #endif }
private void Init() { foreach (var item in NTMinerRoot.Instance.CoinGroupSet) { CoinGroupViewModel groupVm = new CoinGroupViewModel(item); _dicById.Add(item.GetId(), groupVm); if (!_listByGroupId.ContainsKey(item.GroupId)) { _listByGroupId.Add(item.GroupId, new List <CoinGroupViewModel>()); } _listByGroupId[item.GroupId].Add(groupVm); } }
private void Init() { foreach (var item in NTMinerContext.Instance.ServerContext.CoinGroupSet.AsEnumerable().ToArray()) { CoinGroupViewModel groupVm = new CoinGroupViewModel(item); _dicById.Add(item.GetId(), groupVm); if (!_listByGroupId.ContainsKey(item.GroupId)) { _listByGroupId.Add(item.GroupId, new List <CoinGroupViewModel>()); } _listByGroupId[item.GroupId].Add(groupVm); } }
private CoinGroupViewModels() { if (WpfUtil.IsInDesignMode) { return; } #if DEBUG NTStopwatch.Start(); #endif VirtualRoot.AddEventPath <ServerContextReInitedEvent>("ServerContext刷新后刷新VM内存", LogEnum.DevConsole, action: message => { _dicById.Clear(); _listByGroupId.Clear(); Init(); }, location: this.GetType()); AddEventPath <CoinGroupAddedEvent>("添加了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (!_dicById.ContainsKey(message.Source.GetId())) { CoinGroupViewModel coinGroupVm = new CoinGroupViewModel(message.Source); _dicById.Add(message.Source.GetId(), coinGroupVm); if (!_listByGroupId.ContainsKey(coinGroupVm.GroupId)) { _listByGroupId.Add(coinGroupVm.GroupId, new List <CoinGroupViewModel>()); } _listByGroupId[coinGroupVm.GroupId].Add(coinGroupVm); OnGroupPropertyChanged(coinGroupVm.GroupId); } }, location: this.GetType()); AddEventPath <CoinGroupRemovedEvent>("删除了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { var entity = _dicById[message.Source.GetId()]; _dicById.Remove(message.Source.GetId()); if (_listByGroupId.ContainsKey(entity.GroupId)) { _listByGroupId[entity.GroupId].Remove(entity); } OnGroupPropertyChanged(entity.GroupId); } }, location: this.GetType()); Init(); #if DEBUG var elapsedMilliseconds = NTStopwatch.Stop(); if (elapsedMilliseconds.ElapsedMilliseconds > NTStopwatch.ElapsedMilliseconds) { Write.DevTimeSpan($"耗时{elapsedMilliseconds} {this.GetType().Name}.ctor"); } #endif }
private CoinGroupViewModels() { if (WpfUtil.IsInDesignMode) { return; } VirtualRoot.AddEventPath <ServerContextReInitedEvent>("ServerContext刷新后刷新VM内存", LogEnum.DevConsole, action: message => { _dicById.Clear(); _listByGroupId.Clear(); Init(); }, location: this.GetType()); VirtualRoot.AddEventPath <ServerContextReInitedEventHandledEvent>("ServerContext的VM集刷新后刷新视图界面", LogEnum.DevConsole, action: message => { // 什么也不做,因为该集合没有什么属性 }, location: this.GetType()); AddEventPath <CoinGroupAddedEvent>("添加了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (!_dicById.ContainsKey(message.Source.GetId())) { CoinGroupViewModel coinGroupVm = new CoinGroupViewModel(message.Source); _dicById.Add(message.Source.GetId(), coinGroupVm); if (!_listByGroupId.ContainsKey(coinGroupVm.GroupId)) { _listByGroupId.Add(coinGroupVm.GroupId, new List <CoinGroupViewModel>()); } _listByGroupId[coinGroupVm.GroupId].Add(coinGroupVm); OnGroupPropertyChanged(coinGroupVm.GroupId); } }, location: this.GetType()); AddEventPath <CoinGroupRemovedEvent>("删除了币组后调整VM内存", LogEnum.DevConsole, action: (message) => { if (_dicById.ContainsKey(message.Source.GetId())) { var entity = _dicById[message.Source.GetId()]; _dicById.Remove(message.Source.GetId()); if (_listByGroupId.ContainsKey(entity.GroupId)) { _listByGroupId[entity.GroupId].Remove(entity); } OnGroupPropertyChanged(entity.GroupId); } }, location: this.GetType()); Init(); }
public bool TryGetGroupVm(Guid coinGroupId, out CoinGroupViewModel groupVm) { return(_dicById.TryGetValue(coinGroupId, out groupVm)); }