Income and Assets are successfully being inserted and selected! Still needs tweaking, such as Asset saying "monthly".
This commit is contained in:
parent
f6f167dd83
commit
e5e85b68ff
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user