Compare commits

..

No commits in common. "8d7591b7666d1d73668c0407923d5496a467451c" and "e5e85b68ff62eb6552164220692edd3b34d5c7da" have entirely different histories.

3 changed files with 60 additions and 71 deletions

View File

@ -1,5 +1,4 @@
// Local // Local
import '/models/item_type.dart';
import '/models/tracked_item.dart'; import '/models/tracked_item.dart';
class Asset extends TrackedItem { class Asset extends TrackedItem {
@ -7,7 +6,6 @@ class Asset extends TrackedItem {
Asset({ Asset({
super.id, super.id,
super.type = ItemType.asset,
required super.name, required super.name,
required super.amount, required super.amount,
required super.description, required super.description,

View File

@ -1,14 +1,12 @@
// Local // Local
import '/models/tracked_item.dart'; import '/models/tracked_item.dart';
import '/models/frequency.dart'; import '/models/frequency.dart';
import '/models/item_type.dart';
class Income extends TrackedItem { class Income extends TrackedItem {
static String amountText = "Revenue"; static String amountText = "Revenue";
Income({ Income({
super.id, super.id,
super.type = ItemType.income,
required super.name, required super.name,
required super.amount, required super.amount,
required super.frequency, required super.frequency,

View File

@ -103,17 +103,12 @@ class _TrackedItemPageState extends State<TrackedItemPage> {
itemYearAmount = -1; itemYearAmount = -1;
estimateSymbolYearly = ""; estimateSymbolYearly = "";
} }
final String monthlyTitle = curr.type == ItemType.asset
? ""
: " ${Frequency.monthly.title}";
final String itemTopText = itemDayAmount < 0 final String itemTopText = itemDayAmount < 0
? "" ? ""
: "$estimateSymbolDaily${itemDayAmount.toStringAsFixed(2)} ${Frequency.daily.title}"; : "$estimateSymbolDaily${itemDayAmount.toStringAsFixed(2)} ${Frequency.daily.title}";
final String itemMiddleText = itemMonthAmount < 0 final String itemMiddleText = itemMonthAmount < 0
? "" ? ""
: "$estimateSymbolMonthly${itemMonthAmount.toStringAsFixed(2)}$monthlyTitle"; : "$estimateSymbolMonthly${itemMonthAmount.toStringAsFixed(2)} ${Frequency.monthly.title}";
final String itemBottomText = itemYearAmount < 0 final String itemBottomText = itemYearAmount < 0
? "" ? ""
: "$estimateSymbolYearly${itemYearAmount.toStringAsFixed(2)} ${Frequency.yearly.title}"; : "$estimateSymbolYearly${itemYearAmount.toStringAsFixed(2)} ${Frequency.yearly.title}";
@ -473,71 +468,69 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
onPressed: () { onPressed: () {
if (_formKey.currentState!.validate()) { if (_formKey.currentState!.validate()) {
_formKey.currentState!.save(); _formKey.currentState!.save();
setState( setState(() {
() { switch (_type) {
switch (_type) { case ItemType.expense:
case ItemType.expense: Expense expense = Expense(
Expense expense = Expense( id: _id,
id: _id, name: _name,
name: _name, amount: _amount,
amount: _amount, frequency: _freq,
frequency: _freq, description: _desc,
description: _desc, );
if (_id != null) {
DatabaseHelper.instance.updateExpense(
expense,
); );
if (_id != null) { } else {
DatabaseHelper.instance.updateExpense( DatabaseHelper.instance.addExpense(
expense, expense,
);
} else {
DatabaseHelper.instance.addExpense(
expense,
);
}
break;
case ItemType.income:
Income income = Income(
id: _id,
name: _name,
amount: _amount,
frequency: _freq,
description: _desc,
); );
if (_id != null) { }
DatabaseHelper.instance.updateIncome( break;
income, case ItemType.income:
); Income income = Income(
} else { id: _id,
DatabaseHelper.instance.addIncome( name: _name,
income, amount: _amount,
); frequency: _freq,
} description: _desc,
break; );
case ItemType.asset: if (_id != null) {
Asset asset = Asset( DatabaseHelper.instance.updateIncome(
id: _id, income,
name: _name,
amount: _amount,
description: _desc,
); );
if (_id != null) { } else {
DatabaseHelper.instance.updateAsset( DatabaseHelper.instance.addIncome(
asset, income,
);
} else {
DatabaseHelper.instance.addAsset(
asset,
);
}
break;
default:
throw UnimplementedError(
"No code for type ${_type!.title}",
); );
} }
widget.notifyParent(); break;
Navigator.of(context).pop(); 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();
} }
}, },
icon: Icon(Icons.save), icon: Icon(Icons.save),