Exemple #1
0
        private async void AddToSpoonacularMealPlan(ScheduledMeal meal, SpoonacularUserInfo userInfo)
        {
            RecipeAddToMealPlan recipe = new RecipeAddToMealPlan();
            var savedRecipe            = _context.SavedRecipes.Find(meal.SavedRecipeId);

            recipe.date            = TimeTools.GetTimeStamp(meal.DateOfMeal.Value);
            recipe.slot            = meal.Slot;
            recipe.type            = "RECIPE";
            recipe.value           = new Value();
            recipe.value.id        = savedRecipe.SpoonacularRecipeId;
            recipe.value.imageType = "jpg";
            recipe.value.title     = savedRecipe.RecipeName;
            recipe.value.servings  = GetPodCount(); // sets servings to the number of pod members (assuming enough food is needed for all planners)
            // look at giving the user the option to set serving amount (if they have kids, they'll need more)

            await _spoonacular.AddRecipeToMealPlan(recipe, userInfo);
        }
        public async Task <string> AddRecipeToMealPlan(RecipeAddToMealPlan recipe, SpoonacularUserInfo userInfo)
        {
            string        json          = JsonConvert.SerializeObject(recipe);
            StringContent stringContent = new StringContent(json);

            string url = $"https://api.spoonacular.com/mealplanner/{userInfo.username}/items?apiKey={ApiKeys.Key}&hash={userInfo.hash}";

            var response = await client.PostAsync(url, stringContent);

            if (response.IsSuccessStatusCode)
            {
                var responseString = await response.Content.ReadAsStringAsync();

                return(await Task.FromResult(responseString));
            }

            return(null);
        }