import "package:isar/isar.dart"; import 'package:kulinar_app/models/data/recipe_data_class.dart'; part "recipe_class.g.dart"; @collection class Recipe { Id id = Isar.autoIncrement; String? title; String? image; String? description; bool favorite; int rating; Recipe({this.title, this.image, this.description, this.favorite = false, this.rating = 0}); bool isListed({bool remote = false}) { List _list = remote ? RecipeData.remoteRecipeList : RecipeData.recipeList; for (Recipe recipe in _list) { if (title == recipe.title && image == recipe.image && description == recipe.description) { return true; } } return false; } bool isDefault() { if (title != null) return false; if (image != null) return false; if (description != null) return false; if (favorite != false) return false; if (rating != 0) return false; return true; } void toggleFavorite() { favorite = !favorite; } void updateRating() { if (rating == 5) { rating = 0; } else { rating++; } } }