diameter/lib/models/log_meal.dart

49 lines
1.4 KiB
Dart

import 'package:diameter/main.dart';
import 'package:diameter/models/log_entry.dart';
import 'package:diameter/models/meal.dart';
import 'package:diameter/models/meal_category.dart';
import 'package:diameter/models/meal_portion_type.dart';
import 'package:diameter/models/meal_source.dart';
import 'package:diameter/models/accuracy.dart';
import 'package:objectbox/objectbox.dart';
@Entity()
class LogMeal {
static final Box<LogMeal> box = objectBox.store.box<LogMeal>();
int id;
String value;
double? carbsRatio;
double? portionSize;
double? carbsPerPortion;
double? bolus;
int? delayedBolusDuration;
double? delayedBolusRate;
String? notes;
final logEntry = ToOne<LogEntry>();
final meal = ToOne<Meal>();
final mealSource = ToOne<MealSource>();
final mealCategory = ToOne<MealCategory>();
final mealPortionType = ToOne<MealPortionType>();
final portionSizeAccuracy = ToOne<Accuracy>();
final carbsRatioAccuracy = ToOne<Accuracy>();
LogMeal({
this.id = 0,
this.value = '',
this.carbsRatio,
this.portionSize,
this.carbsPerPortion,
this.bolus,
this.delayedBolusDuration,
this.delayedBolusRate,
this.notes,
});
static LogMeal? get(int id) => box.get(id);
static List<LogMeal> getAll() => box.getAll();
static void put(LogMeal logMeal) => box.put(logMeal);
static void remove(int id) => box.remove(id);
}