private void SetUidToNotFoundItem(AddressModel globalAddress) { var adr = SelectedNotFoundItem; adr.Number = globalAddress.Number; adr.KgiopStatus = globalAddress.KgiopStatus; adr.Uid = globalAddress.Uid; NotFoundItems.Refresh(); _eventAggregator.GetEvent <PubSubEvent <AddressModel> >().Publish(adr); }
public AddressToAddressViewModel(Repository repository, IEventAggregator eventAggregator) { _repository = repository; _eventAggregator = eventAggregator; _excelApplication = (Application)ExcelDnaUtil.Application; createGlobalAddressesView(); (this as INotifyPropertyChanged).PropertyChanged += (obj, args) => { if (args.PropertyName == nameof(FindText)) { Items?.Refresh(); } else if (args.PropertyName == nameof(SelectedNotFoundItem) && SelectedNotFoundItem != null) { FindText = getFindText(SelectedNotFoundItem.Address); } }; (repository as INotifyPropertyChanged).PropertyChanged += (sender, args) => { if (args.PropertyName == "AddressList") { createGlobalAddressesView(); } }; _eventAggregator.GetEvent <PubSubEvent <AddressModel> >().Subscribe(adr => { var findAdr = adr.Address.Replace(" ", ""); var findDst = adr.District.Replace(" ", ""); var list = (NotFoundItems.SourceCollection as IEnumerable <AddressModel>); var curAdr = list.Where(i => i.Number == 0).FirstOrDefault(it => it.Address.Replace(" ", "") == findAdr & it.District.Replace(" ", "") == findDst); if (curAdr != null) { curAdr.Number = adr.Number; curAdr.KgiopStatus = adr.KgiopStatus; curAdr.Uid = adr.Uid; NotFoundItems.Refresh(); SelectedNotFoundItem = list.Where(i => i.Number == 0).FirstOrDefault(); } }); }