Beispiel #1
0
 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}");
     }
 }
Beispiel #2
0
        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;
            }
        }