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); }