private void ProviderOnCharacterUpdated(object sender, CharacterViewModelProviderEventArgs args) { CharacterViewModel vm = Characters.FirstOrDefault(model => args.OldMetadata.Equals(model.Metadata)); if (vm == null) { return; } if (args.Model != null) { vm.Character.CardBytes = args.Model.Character.CardBytes; vm.Character.ThumbBytes = args.Model.Character.ThumbBytes; vm.Character.DataBytes = args.Model.Character.DataBytes; vm.ExtraData.Clear(); foreach (var pair in args.Model.ExtraData) { vm.ExtraData.Add(pair.Key, pair.Value); } } if (args.NewMetadata != null) { vm.Metadata = args.NewMetadata; } _uiDispatcher.Invoke(new Action(RefreshView)); }
private void ProviderOnCharacterAdded(object sender, CharacterViewModelProviderEventArgs args) { CharacterViewModel vm = null; if (args.OldMetadata != null) { vm = Characters.FirstOrDefault(model => args.OldMetadata.Equals(model.Metadata)); } if (vm == null) { //[WXP] Replaced Lambda to new Func/Action _uiDispatcher.Invoke(new Action(() => Characters.Insert(0, args.Model))); } else { vm.Character.CardBytes = args.Model.Character.CardBytes; vm.Character.ThumbBytes = args.Model.Character.ThumbBytes; vm.Character.DataBytes = args.Model.Character.DataBytes; } _uiDispatcher.Invoke(new Action(RefreshView)); }