Compare commits
3 Commits
e5e85b68ff
...
8d7591b766
Author | SHA1 | Date | |
---|---|---|---|
8d7591b766 | |||
88d57e217f | |||
7d08f6c5cf |
@ -1,4 +1,5 @@
|
|||||||
// 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 {
|
||||||
@ -6,6 +7,7 @@ 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,
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
// 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,
|
||||||
|
@ -103,12 +103,17 @@ 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)} ${Frequency.monthly.title}";
|
: "$estimateSymbolMonthly${itemMonthAmount.toStringAsFixed(2)}$monthlyTitle";
|
||||||
final String itemBottomText = itemYearAmount < 0
|
final String itemBottomText = itemYearAmount < 0
|
||||||
? ""
|
? ""
|
||||||
: "$estimateSymbolYearly${itemYearAmount.toStringAsFixed(2)} ${Frequency.yearly.title}";
|
: "$estimateSymbolYearly${itemYearAmount.toStringAsFixed(2)} ${Frequency.yearly.title}";
|
||||||
@ -468,69 +473,71 @@ 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) {
|
() {
|
||||||
case ItemType.expense:
|
switch (_type) {
|
||||||
Expense expense = Expense(
|
case ItemType.expense:
|
||||||
id: _id,
|
Expense expense = Expense(
|
||||||
name: _name,
|
id: _id,
|
||||||
amount: _amount,
|
name: _name,
|
||||||
frequency: _freq,
|
amount: _amount,
|
||||||
description: _desc,
|
frequency: _freq,
|
||||||
);
|
description: _desc,
|
||||||
if (_id != null) {
|
|
||||||
DatabaseHelper.instance.updateExpense(
|
|
||||||
expense,
|
|
||||||
);
|
);
|
||||||
} else {
|
if (_id != null) {
|
||||||
DatabaseHelper.instance.addExpense(
|
DatabaseHelper.instance.updateExpense(
|
||||||
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) {
|
||||||
break;
|
DatabaseHelper.instance.updateIncome(
|
||||||
case ItemType.income:
|
income,
|
||||||
Income income = Income(
|
);
|
||||||
id: _id,
|
} else {
|
||||||
name: _name,
|
DatabaseHelper.instance.addIncome(
|
||||||
amount: _amount,
|
income,
|
||||||
frequency: _freq,
|
);
|
||||||
description: _desc,
|
}
|
||||||
);
|
break;
|
||||||
if (_id != null) {
|
case ItemType.asset:
|
||||||
DatabaseHelper.instance.updateIncome(
|
Asset asset = Asset(
|
||||||
income,
|
id: _id,
|
||||||
|
name: _name,
|
||||||
|
amount: _amount,
|
||||||
|
description: _desc,
|
||||||
);
|
);
|
||||||
} else {
|
if (_id != null) {
|
||||||
DatabaseHelper.instance.addIncome(
|
DatabaseHelper.instance.updateAsset(
|
||||||
income,
|
asset,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
DatabaseHelper.instance.addAsset(
|
||||||
|
asset,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw UnimplementedError(
|
||||||
|
"No code for type ${_type!.title}",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
widget.notifyParent();
|
||||||
case ItemType.asset:
|
Navigator.of(context).pop();
|
||||||
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),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user