private async Task LoadInProgressItems() { var response = await _cacheService.GetInProgressItemsFromCache(); if (InProgressItems.IsNullOrEmpty()) { InProgressItems = new ObservableCollection <ReaderItem>(response.ReaderItems); return; } foreach (var item in response.ReaderItems) { var existingItem = InProgressItems.FirstOrDefault(x => x.Id == item.Id); if (existingItem != null) { item.CopyItem(existingItem); } else { InProgressItems.Add(item); } } }