import '/models/frequency.dart'; class Expense { final int? id; final String name; final double cost; final Frequency frequency; final String description; const Expense({ this.id, required this.name, required this.cost, required this.frequency, required this.description, }); @override String toString() { //return "$name, $cost, ${frequency.title}, $description"; return toMap().toString(); } double calcComparableCost() { return cost * frequency.timesPerYear; } double calcComparableCostDaily() { return cost / frequency.numDays; } factory Expense.fromMap(Map json) => Expense( id: json['id'], name: json['name'], cost: json['cost'], frequency: Frequency.values .where((expense) => expense.title == json['frequency']) .first, description: json['description'], ); Map toMap() { return { 'id': id, 'name': name, 'cost': cost, 'frequency': frequency.title, 'description': description, }; } }