Income and Assets are successfully being inserted and selected! Still needs tweaking, such as Asset saying "monthly".

This commit is contained in:
Hyperling 2025-03-07 13:06:26 -07:00
parent f6f167dd83
commit e5e85b68ff

View File

@ -331,7 +331,7 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
title: Center(
child: widget.entry == null
? Text("New ${_type!.title}")
: Text("Edit Expense"),
: Text("Edit ${_type!.title}"),
),
content: FutureBuilder<List<Expense>>(
future: DatabaseHelper.instance.getExpenses(),
@ -399,6 +399,7 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
_amount = double.parse(value!);
},
),
if (_type != ItemType.asset)
DropdownButtonFormField(
items: Frequency.values
.map(
@ -468,6 +469,8 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
if (_formKey.currentState!.validate()) {
_formKey.currentState!.save();
setState(() {
switch (_type) {
case ItemType.expense:
Expense expense = Expense(
id: _id,
name: _name,
@ -484,6 +487,47 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
expense,
);
}
break;
case ItemType.income:
Income income = Income(
id: _id,
name: _name,
amount: _amount,
frequency: _freq,
description: _desc,
);
if (_id != null) {
DatabaseHelper.instance.updateIncome(
income,
);
} else {
DatabaseHelper.instance.addIncome(
income,
);
}
break;
case ItemType.asset:
Asset asset = Asset(
id: _id,
name: _name,
amount: _amount,
description: _desc,
);
if (_id != null) {
DatabaseHelper.instance.updateAsset(
asset,
);
} else {
DatabaseHelper.instance.addAsset(
asset,
);
}
break;
default:
throw UnimplementedError(
"No code for type ${_type!.title}",
);
}
});
widget.notifyParent();
Navigator.of(context).pop();