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