Example #1
0
        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);
            }
        }
Example #2
0
 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);
     }
 }