Exemple #1
0
        public async Task <List <ApiIngredientModel> > GetIngredientsDetailsForRecipe(Guid recipeId, int numberOfPersons = 1)
        {
            var recipe   = recipeAdapter.GetRecipeById(recipeId);
            var products = await productDataAdapter.GetAllProductDetails();

            IEnumerable <ApiIngredientModel> ingredients = recipe.Ingredients.Select(s =>
            {
                var r         = IngredientApiModelIngredientConversion.Convert(s);
                r.IsAvaliable = IsIngedientAvailable(s, products.FirstOrDefault(i => i.Id == s.ProductId), numberOfPersons);
                return(r);
            });

            return(ingredients.ToList());
        }
Exemple #2
0
        public async Task <RecipeDetailsApiModel> GetRecipeSummaryDetails(Guid recipeId)
        {
            var recipe   = recipeAdapter.GetRecipeById(recipeId);
            var products = await productDataAdapter.GetAllProductDetails();

            var recipeDetails = new RecipeDetailsApiModel
            {
                Id          = recipe.Id,
                Ingredients = recipe.Ingredients.Select(s => {
                    var r         = IngredientApiModelIngredientConversion.Convert(s);
                    r.IsAvaliable = IsIngedientAvailable(s, products.FirstOrDefault(i => i.Id == s.ProductId));
                    return(r);
                }).ToList(),
                Name  = recipe.Name,
                Steps = recipe.Steps.OrderBy(o => o.Order).ToList(),
            };

            return(recipeDetails);
        }