public void Dispose() { lock (_searchSyncLock) { if (_updateSearchTimer != null) { _updateSearchTimer.Dispose(); _updateSearchTimer = null; } } if (MatchedItemsViewModel != null) { MatchedItemsViewModel.Dispose(); } if (MatchedPeopleViewModel != null) { MatchedPeopleViewModel.Dispose(); } if (AlphaInputViewModel != null) { AlphaInputViewModel.Dispose(); } }
private async void UpdateSearch() { MatchedPeopleVisibility = String.IsNullOrEmpty(CurrentSearch) ? Visibility.Hidden : Visibility.Visible; MatchedItemsVisibility = String.IsNullOrEmpty(CurrentSearch) ? Visibility.Hidden : Visibility.Visible; if (!String.IsNullOrEmpty(CurrentSearch)) { var searchTasks = new Task[2]; searchTasks[0] = Task.Run(() => GeSearchItemsAsync()); searchTasks[1] = Task.Run(() => GeSearchPeopleAsync()); Task.WaitAll(searchTasks); } else { _searchedItemsResult = _emptyItemsResult; _searchedPeopleItemsResult = _emptyItemsResult; } await MatchedItemsViewModel.ReloadItems(true); await MatchedPeopleViewModel.ReloadItems(true); }