async Task ToggleFavorite(Cocktail cocktail) { try { if (cocktail.IsFavorite) { cocktailsManager.RemoveFromFavorites(cocktail); } else { if (await HasInternetConnection(true)) { IsLoading = true; var fullCocktail = await cocktailsManager.GetCocktail(int.Parse(cocktail.IdDrink)); cocktailsManager.MarkAsFavorite(fullCocktail); cocktail.IsFavorite = true; IsLoading = false; } } } catch (Exception e) { IsLoading = false; await ShowMessage(Constants.ErrorMessages.ErrorOccured, e.Message, Constants.ErrorMessages.Ok); } }
public async Task RemoveFromFavorites(Cocktail cocktail) { try { cocktailsManager.RemoveFromFavorites(cocktail); FavoriteCocktails.Remove(FavoriteCocktails.FirstOrDefault(f => f.IdDrink == cocktail.IdDrink)); IsEmpty = FavoriteCocktails.Count == 0; } catch (Exception e) { await ShowMessage(ErrorMessages.ErrorOccured, e.Message, ErrorMessages.Ok); } }
async Task ToggleFavorite() { try { if (Cocktail.IsFavorite) { _cocktailsManager.RemoveFromFavorites(Cocktail); } else { _cocktailsManager.MarkAsFavorite(Cocktail); } FavoriteIcon = Cocktail.IsFavorite ? FavoriteFilledIcon : FavoriteEmptyIcon; } catch (Exception e) { await ShowMessage(Constants.ErrorMessages.ErrorOccured, e.Message, Constants.ErrorMessages.Ok); } }