public async Task LoadSearchItems() { SearchItems.Clear(); var itemList = InternalCache.GetSearchList(); if (itemList?.Count > 0) { foreach (var item in itemList) { SearchItems.Add(new SearchItemDisplayModel(item)); } } else { itemList = await _apiClient.GetSearches(ApplicationSettings.GetUserId()); foreach (var item in itemList) { SearchItems.Add(new SearchItemDisplayModel(item)); InternalCache.AddSearchItem(item); } } SearchItems.ForEach(i => i.PropertyChanged += ItemPropertyChanged); }
private async void SaveSearch(object obj) { var apiClient = new ApiClient.ApiClient(); var result = await apiClient .CreateSearch(Title, Description, Url, default(bool), (int)AdSource.Ebay, ApplicationSettings.GetUserId()); try { var searchItem = JsonConvert.DeserializeObject <SearchItem>(result); if (searchItem?.Id > 0) { MessagingCenter.Send <CreateSearchViewModel, bool>(this, "SEARCH_CREATION_RESULT", true); InternalCache.AddSearchItem(searchItem); } } catch (Exception ex) { MessagingCenter.Send <CreateSearchViewModel, bool>(this, "SEARCH_CREATION_RESULT", false); } }