Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        private void GifManager_RemovedAsFavouriteEvent(object sender, GifItem gifItem)
        {
            var item = GifItems?.FirstOrDefault(x => x.Id == gifItem.Id);

            if (item != null)
            {
                GifItems?.Remove(item);
            }
        }
Exemplo n.º 3
0
        private void GifManager_AddedAsFavouriteEvent(object sender, GifItem gifItem)
        {
            var item = GifItems?.FirstOrDefault(x => x.Id == gifItem.Id);

            if (item != null)
            {
                item.IsFavourite = true;
            }
        }
Exemplo n.º 4
0
        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;
                }
            });
        }