From 4c7452e6349fa0b6f903fe4dcf8a2f52b75d80b0 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 28 Apr 2021 11:47:30 +0200 Subject: [PATCH] Fix bug preventing addind and editing meal items --- lib/providers/nutrition.dart | 9 +++++---- lib/widgets/nutrition/forms.dart | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart index 8ceda95d..30aa26ba 100644 --- a/lib/providers/nutrition.dart +++ b/lib/providers/nutrition.dart @@ -67,8 +67,10 @@ class Nutrition extends WgerBaseProvider with ChangeNotifier { Meal? findMealById(int id) { for (var plan in _plans) { - var meal = plan.meals.firstWhere((plan) => plan.id == id); - return meal; + try { + var meal = plan.meals.firstWhere((plan) => plan.id == id); + return meal; + } on StateError catch (e) {} } return null; } @@ -201,8 +203,7 @@ class Nutrition extends WgerBaseProvider with ChangeNotifier { } /// Adds a meal item to a meal - Future addMealItem(MealItem mealItem, int mealId) async { - var meal = findMealById(mealId)!; + Future addMealItem(MealItem mealItem, Meal meal) async { final data = await post(mealItem.toJson(), makeUrl(_mealItemPath)); mealItem = MealItem.fromJson(data); diff --git a/lib/widgets/nutrition/forms.dart b/lib/widgets/nutrition/forms.dart index 31606d9d..b82ec7e1 100644 --- a/lib/widgets/nutrition/forms.dart +++ b/lib/widgets/nutrition/forms.dart @@ -177,7 +177,7 @@ class MealItemForm extends StatelessWidget { _form.currentState!.save(); try { - Provider.of(context, listen: false).addMealItem(_mealItem, _meal.id!); + Provider.of(context, listen: false).addMealItem(_mealItem, _meal); } on WgerHttpException catch (error) { showHttpExceptionErrorDialog(error, context); } catch (error) {