public void Init() { try { // Получаем результаты последнего поиска. var lastSearchResults = KvService.GetLastSearchResults(cts.Token).Result; if (lastSearchResults != null) { Results = new ObservableCollection <SearchResult>(lastSearchResults); } } catch (Exception ex) { Debug.WriteLine($"Ошибка при получении последних результатов поиска: {ex.Message}"); } }
async Task DoSearch() { if (string.IsNullOrWhiteSpace(SearchQuery)) { return; } IsBusy = true; try { var searchResults = await MtApi.Search(SearchQuery, cts.Token); Results = new ObservableCollection <SearchResult>(searchResults); // Добавляем в БД результат. // Вообще, можно сохранять не здесь, а отлавливать завершение приложение и добавлять там, // тогда не надо будет записывать каждый раз. await KvService.SaveLastSearchResults(searchResults, cts.Token); } catch (NetworkException nex) { Debug.WriteLine($"Сервер вернул результат с кодом: {nex.StatusCode}"); } catch (WebException wex) { Debug.WriteLine($"Ошибка при подключении к серверу."); } catch (Exception ex) { Debug.WriteLine(ex.Message); } finally { IsBusy = false; } }