コード例 #1
0
        public async Task ToggleFavorite(NotationFavoritesListItem favorite)
        {
            if (favorite.IsFavorite)
            { // unfavoriting
                var success = await _serviceFavorites.Delete <bool>(favorite.NotationId);

                if (success)
                {
                    favorite.IsFavorite = false;
                }
            }
            else
            { // favoriting
                var request = new Model.Requests.FavoritesInsertRequest
                {
                    NotationId = favorite.NotationId
                };
            }

            List <Models.NotationFavoritesListItem> TempList = new List <NotationFavoritesListItem>();

            foreach (var item in FavoritesList)
            {
                TempList.Add(item);
            }

            FavoritesList.Clear();

            foreach (var item in TempList)
            {
                FavoritesList.Add(item);
            }
        }
コード例 #2
0
        public async Task Init()
        {
            var list = await _listService.Get <IEnumerable <BTM.Models.List> >(null);

            FavoritesList.Clear();

            foreach (var item in list)
            {
                User creator = await $"{APIService._apiUrl}/Users/{item.UserID}".GetJsonAsync <User>();

                IEnumerable <Media> moviesToAdd = await $"{APIService._apiUrl}/Lists/media/{item.ListID}"
                                                  //.WithBasicAuth(APIService.Username, APIService.Password)
                                                  .GetJsonAsync <IEnumerable <Media> >();

                List <BTM.Models.Requests.MediaDetailModel> lst = new List <BTM.Models.Requests.MediaDetailModel>();
                foreach (var movie in moviesToAdd)
                {
                    var model = await $"{APIService._apiUrl}/MediaSearch/{movie.MediaID}".GetJsonAsync <BTM.Models.Requests.MediaDetailModel>();
                    model.Poster = $"{APIService._apiUrl}/images/covers/{model.Id}";
                    model.Rating = int.Parse(await $"{APIService._apiUrl}/MediaRatings?id={movie.MediaID}&username={APIService.Username}".GetStringAsync());


                    lst.Add(model);
                }


                FavoritesList.Add(new FavoritesItem
                {
                    Id          = item.ListID,
                    Description = item.Description,
                    Name        = item.Name,
                    UserID      = item.UserID,
                    DateAdded   = item.DateCreated,
                    Creator     = creator.Username,
                    Movies      = lst
                });
            }
        }
コード例 #3
0
        public async Task LoadItems()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                FavoritesList.Clear();

                List <NotationFavoritesListItem> list = new List <NotationFavoritesListItem>();

                if (!HasConnectivity)
                {
                    await Application.Current.MainPage.DisplayAlert("No internet connection", "You must be connected to the internet to see this.", "OK");
                }

                list = await _serviceFavorites.Get <List <NotationFavoritesListItem> >(null);

                NothingToSee = list.Count == 0;

                foreach (var item in list)
                {
                    FavoritesList.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }