import { Injectable } from '@angular/core'; import { Ingredient, Recipe } from '../cookbook/type'; @Injectable({ providedIn: 'root', }) export class RecipeService { #recipes: Recipe[] = [ { id: 0, name: 'crepe1', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [ {idIngredient:1,idRecipe:0,quantity:10}, {idIngredient:2,idRecipe:0,quantity:15} ] }, { id: 1, name: 'crepe2', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 2, name: 'crepe3', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 3, name: 'crepe4', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 4, name: 'crepe5', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 5, name: 'crepe6', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 6, name: 'crepe7', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 7, name: 'crepe8', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 8, name: 'crepe9', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 9, name: 'crepe10', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 10, name: 'crepe11', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 11, name: 'crepe12', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 12, name: 'crepe13', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, { id: 13, name: 'crepe14', description: 'La meilleure recette de pâte à crêpes', image: '', ingredients: [] }, ]; #ingredients: Ingredient[] = [ { id:1, name:'Sucre'}, { id:2, name:'Farine'} ] getAll(): Recipe[] { return this.#recipes; } getAllIngredients(): Ingredient[] { return this.#ingredients; } get(id: number): Recipe | null { return this.#recipes.find((recipe) => recipe.id === id) || null; } getIngredientById(id: number): Ingredient | null { return this.#ingredients.find((ingredient) => ingredient.id === id) || null; } add(recipe: Omit): void { const id = this.#recipes.length ? Math.max(...this.#recipes.map((recipe) => recipe.id)) + 1 : 1; this.#recipes.push({ id, ...recipe, }); } edit(recipe: Recipe): void { for (let i = 0; i < this.#recipes.length; ++i) { if (this.#recipes[i].id === recipe.id) { this.#recipes[i] = recipe; } } } }