added logic to recipe provider
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rezepte/models/difficulty.dart';
|
import 'package:rezepte/models/difficulty.dart';
|
||||||
import 'package:rezepte/models/ingredient.dart';
|
import 'package:rezepte/models/ingredient.dart';
|
||||||
import 'package:rezepte/models/steps.dart';
|
import 'package:rezepte/models/cooking_step.dart';
|
||||||
|
|
||||||
import '../../models/recipe.dart';
|
import '../../models/recipe.dart';
|
||||||
|
|
||||||
@@ -9,30 +9,75 @@ class RecipeProvider extends ChangeNotifier implements Recipe {
|
|||||||
String _title = '';
|
String _title = '';
|
||||||
String _description = '';
|
String _description = '';
|
||||||
Difficulty? _difficulty;
|
Difficulty? _difficulty;
|
||||||
List<Ingredient> _ingredients = [];
|
final List<Ingredient> _ingredients = [];
|
||||||
Steps _steps = Steps();
|
final List<CookingStep> _steps = [];
|
||||||
|
|
||||||
void clearRecipe() {
|
void clearRecipe() {
|
||||||
_title = '';
|
_title = '';
|
||||||
_description = '';
|
_description = '';
|
||||||
_difficulty = null;
|
_difficulty = null;
|
||||||
_ingredients = [];
|
_ingredients.clear();
|
||||||
_steps = Steps();
|
_steps.clear();
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get description => _description;
|
String get description => _description;
|
||||||
|
|
||||||
|
set description(String description) {
|
||||||
|
_description = description;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get title => _title;
|
String get title => _title;
|
||||||
|
|
||||||
|
set title(String title) {
|
||||||
|
_title = title;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Difficulty? get difficulty => _difficulty;
|
Difficulty? get difficulty => _difficulty;
|
||||||
|
|
||||||
|
set difficulty(Difficulty? difficulty) {
|
||||||
|
_difficulty = difficulty;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Ingredient> get ingredients => _ingredients;
|
List<Ingredient> get ingredients => _ingredients;
|
||||||
|
|
||||||
@override
|
void addIngredient(Ingredient ingredient) {
|
||||||
Steps get steps => _steps;
|
_ingredients.add(ingredient);
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
void clearIngredients({silent = false}) {
|
||||||
|
ingredients.clear();
|
||||||
|
if (!silent) notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeIngredientAt(int index, {silent = false}) {
|
||||||
|
ingredients.removeAt(index);
|
||||||
|
if (!silent) notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeIngredient(Ingredient ingredient, {silent = false}) {
|
||||||
|
ingredients.removeWhere((element) => element == ingredient);
|
||||||
|
if (!silent) notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<CookingStep> get steps => _steps;
|
||||||
|
|
||||||
|
void addStep(CookingStep step, {silent = false}) {
|
||||||
|
steps.add(step);
|
||||||
|
if (!silent) notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeStepAt(int index, {silent = false}) {
|
||||||
|
steps.removeAt(index);
|
||||||
|
if (!silent) notifyListeners();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user