/// <summary> Удалить узел из списка сохраненных. </summary> /// <param name="node"> Узел, который нужно удалить. </param> private void RemoveFromFavourite(Node node) { var nodeItem = FavouriteItems.Where(i => i.Header.ToString() == node.Name).SingleOrDefault(); FavouriteItems.Remove(nodeItem); CurrentUser.Favourite.Remove(node); }
/// <summary> Добавить узел в список сохраненных. </summary> /// <param name="node"> Узел, который нужно добавить. </param> private void AddToFavourite(Node node) { var item = new TreeViewItem { Header = node.Name }; var menu = new ContextMenu(); menu.Items.Add(new MenuItem { Header = "Сгенерировать рекомендации", Command = GenerateRecsForSingleNodeCommand, CommandParameter = item, }); menu.Items.Add(new MenuItem { Header = "Удалить", Command = RemoveFromFavouriteCommand, CommandParameter = item, }); item.ContextMenu = menu; Tree.AddNodeToTreeView(item, node); FavouriteItems.Add(item); CurrentUser.Favourite.Add(node); }
private async Task <bool> GetFavouriteItems() { try { FavouriteItems.Clear(); Log.Info("Getting favourites for user [{0}]", AuthenticationService.Current.LoggedInUser.Name); var query = new ItemQuery { UserId = AuthenticationService.Current.LoggedInUser.Id, Filters = new[] { ItemFilter.IsFavorite }, Recursive = true }; var items = await _apiClient.GetItemsAsync(query); if (items != null && items.Items != null) { foreach (var item in items.Items.Take(6)) { FavouriteItems.Add(item); } } return(true); } catch (HttpException ex) { Log.ErrorException("GetFavouriteItems()", ex); return(false); } }
private async Task <bool> GetFavouriteItems() { try { FavouriteItems.Clear(); Log.Info("Getting favourites for user [{0}]", AuthenticationService.Current.LoggedInUserId); var query = new ItemQuery { UserId = AuthenticationService.Current.LoggedInUserId, Filters = new[] { ItemFilter.IsFavorite }, Fields = new[] { ItemFields.MediaSources, ItemFields.SyncInfo }, Recursive = true }; var items = await ApiClient.GetItemsAsync(query); if (items != null && items.Items != null) { foreach (var item in items.Items.Take(6)) { FavouriteItems.Add(item); } } return(true); } catch (HttpException ex) { Utils.HandleHttpException("GetFavouriteItems()", ex, NavigationService, Log); return(false); } }
private void Reset() { TileService.Current.ResetWideTile(App.SpecificSettings.UseTransparentTile); _hasLoaded = false; Folders.Clear(); UserViews.Clear(); RecentItems.Clear(); FavouriteItems.Clear(); InProgressItems.Clear(); }
private async void BtnAddToFavourites_Tapped(object sender, EventArgs e) { Image button = (Image)sender; button.IsEnabled = false; try { var item = (Data)button.BindingContext; var fontImageSource = (FontImageSource)button.Source; if (fontImageSource.Glyph == "" && fontImageSource.Color == Color.FromHex("#C3C3C3")) { await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#F25278"); //add to favourites here AddToFavouritesRequest addToFavouritesRequest = new AddToFavouritesRequest() { userId = OperationData.userId.ToString(), itemId = item.id.ToString() }; var res = await favouritesViewModel.AddToFavourites(addToFavouritesRequest); if (res != null) { if (res.Code == 0) { FavouriteItems favItem = new FavouriteItems() { id = item.id, userId = item.userId, foodType = item.foodType, foodName = item.foodName, quantity = item.quantity, description = item.description, unitPrice = item.unitPrice, itemImage = item.itemImage, preparedOn = item.preparedOn, expiryDate = item.expiryDate, isActive = item.isActive, isDeleted = item.isDeleted, createdAt = item.createdAt, updatedAt = item.updatedAt }; OperationData.FavouriteItemList.Add(favItem); await DisplayAlert("Message", item.foodName + " added to favourites!", null, "OK"); } else { await DisplayAlert("Message", "Couldn't add " + item.foodName + " to favourites. Please try again", null, "OK"); await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#C3C3C3"); } } else { await DisplayAlert("Message", "Couldn't add " + item.foodName + " to favourites. Please try again", null, "OK"); await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#C3C3C3"); } } else { await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#C3C3C3"); //remove from favourites here RemoveFromFavouriteRequest removeFromFavouriteRequest = new RemoveFromFavouriteRequest() { userId = OperationData.userId.ToString(), itemId = item.id.ToString() }; var res = await favouritesViewModel.RemoveFromFavourites(removeFromFavouriteRequest); if (res != null) { if (res.Code == 0) { foreach (var favItem in OperationData.FavouriteItemList) { if (item.id == favItem.id) { OperationData.FavouriteItemList.Remove(favItem); } } await DisplayAlert("Message", item.foodName + " removed from favourites", null, "OK"); } else { await DisplayAlert("Message", "Couldn't remove " + item.foodName + " from favourites. Please try again", null, "OK"); await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#F25278"); } } else { await DisplayAlert("Message", "Couldn't remove " + item.foodName + " from favourites. Please try again", null, "OK"); await AnimateHeart(button); fontImageSource.Glyph = ""; fontImageSource.Color = Color.FromHex("#F25278"); } } } catch (Exception ex) { } finally { button.IsEnabled = true; } }