private void GifManager_AddedAsFavouriteEvent(object sender, GifItem gifItem) { var item = GifItems?.FirstOrDefault(x => x.Id == gifItem.Id); if (item == null) { GifItems.Add(new GifItemViewModel(gifItem)); } }
private void GifManager_RemovedAsFavouriteEvent(object sender, GifItem gifItem) { var item = GifItems?.FirstOrDefault(x => x.Id == gifItem.Id); if (item != null) { GifItems?.Remove(item); } }
private void GifManager_AddedAsFavouriteEvent(object sender, GifItem gifItem) { var item = GifItems?.FirstOrDefault(x => x.Id == gifItem.Id); if (item != null) { item.IsFavourite = true; } }
private void LoadTrendingGifs() { Device.BeginInvokeOnMainThread(async() => { if (IsBusy) { return; } if (GifItems?.Any() == true) { return; } try { IsBusy = true; var trendingGifs = await gifManager.LoadTrendingGifsAsync(); var favouriteGifs = await gifManager.LoadFavouriteGifsAsync(); GifItems = new ObservableCollection <GifItemViewModel>(trendingGifs.Data.Select(x => new GifItemViewModel(x) { IsFavourite = favouriteGifs.Any(i => i.Id == x.Id), })); } catch (Exception ex) { ex.Print(); ShowAlert(ex.Message, ""); } finally { IsBusy = false; } }); }