Compare commits
No commits in common. "029ee8e9a8778e588f8ebe4216dec456a0103a04" and "778b4e2f39d398a0fb66cac8763614ac0d02cffd" have entirely different histories.
029ee8e9a8
...
778b4e2f39
85
lib/db.dart
85
lib/db.dart
@ -3,7 +3,6 @@
|
|||||||
// SQLite
|
// SQLite
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:path/path.dart';
|
import 'package:path/path.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:sqflite/sqflite.dart';
|
import 'package:sqflite/sqflite.dart';
|
||||||
@ -35,26 +34,6 @@ class DatabaseHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future _onCreate(Database db, int version) async {
|
Future _onCreate(Database db, int version) async {
|
||||||
debugPrint(
|
|
||||||
"_onCreate(): version=$version",
|
|
||||||
);
|
|
||||||
_createExpense(db);
|
|
||||||
_createIncome(db);
|
|
||||||
_createAsset(db);
|
|
||||||
}
|
|
||||||
|
|
||||||
Future _onUpgrade(Database db, int previousVersion, int newVersion) async {
|
|
||||||
debugPrint(
|
|
||||||
"_onUpgrade(): previousVersion=$previousVersion, newVersion=$newVersion",
|
|
||||||
);
|
|
||||||
// Added in DB version 2.
|
|
||||||
if (previousVersion < 2 && newVersion >= 2) {
|
|
||||||
_createIncome(db);
|
|
||||||
_createAsset(db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _createExpense(Database db) async {
|
|
||||||
await db.execute("""
|
await db.execute("""
|
||||||
CREATE TABLE expense
|
CREATE TABLE expense
|
||||||
( id INTEGER PRIMARY KEY
|
( id INTEGER PRIMARY KEY
|
||||||
@ -62,45 +41,41 @@ class DatabaseHelper {
|
|||||||
, cost DOUBLE NOT NULL
|
, cost DOUBLE NOT NULL
|
||||||
, frequency TEXT NOT NULL
|
, frequency TEXT NOT NULL
|
||||||
, description TEXT
|
, description TEXT
|
||||||
)""");
|
)
|
||||||
|
""");
|
||||||
}
|
}
|
||||||
|
|
||||||
void _createIncome(Database db) async {
|
Future _onUpgrade(Database db, int previousVersion, int newVersion) async {
|
||||||
await db.execute("""
|
// Added in DB version 2.
|
||||||
CREATE TABLE income
|
if (previousVersion < 2 && newVersion >= 2) {
|
||||||
( id INTEGER PRIMARY KEY
|
await db.execute("""
|
||||||
, name TEXT NOT NULL UNIQUE
|
CREATE TABLE income
|
||||||
, revenue DOUBLE NOT NULL
|
( id INTEGER PRIMARY KEY
|
||||||
, frequency TEXT NOT NULL
|
, name TEXT NOT NULL UNIQUE
|
||||||
, description TEXT
|
, revenue DOUBLE NOT NULL
|
||||||
)""");
|
, frequency TEXT NOT NULL
|
||||||
}
|
, description TEXT
|
||||||
|
)
|
||||||
void _createAsset(Database db) async {
|
""");
|
||||||
await db.execute("""
|
await db.execute("""
|
||||||
CREATE TABLE asset
|
CREATE TABLE asset
|
||||||
( id INTEGER PRIMARY KEY
|
( id INTEGER PRIMARY KEY
|
||||||
, name TEXT NOT NULL UNIQUE
|
, name TEXT NOT NULL UNIQUE
|
||||||
, amount DOUBLE NOT NULL
|
, amount DOUBLE NOT NULL
|
||||||
, description TEXT
|
, description TEXT
|
||||||
)""");
|
)
|
||||||
|
""");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Expense Section
|
/// Expense Section
|
||||||
///
|
///
|
||||||
Future<List<Expense>> getExpenses() async {
|
Future<List<Expense>> getExpenses() async {
|
||||||
debugPrint("getExpenses(): Accessing db.");
|
|
||||||
Database db = await instance.db;
|
Database db = await instance.db;
|
||||||
|
|
||||||
debugPrint("getExpenses(): Querying table.");
|
|
||||||
var expenses = await db.query("expense", orderBy: "name");
|
var expenses = await db.query("expense", orderBy: "name");
|
||||||
|
|
||||||
debugPrint("getExpenses(): Putting into object list.");
|
|
||||||
List<Expense> expenseList = expenses.isNotEmpty
|
List<Expense> expenseList = expenses.isNotEmpty
|
||||||
? expenses.map((c) => Expense.fromMap(c)).toList()
|
? expenses.map((c) => Expense.fromMap(c)).toList()
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
debugPrint("getExpenses(): Returning!");
|
|
||||||
return expenseList;
|
return expenseList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,18 +121,11 @@ class DatabaseHelper {
|
|||||||
/// Income Section
|
/// Income Section
|
||||||
///
|
///
|
||||||
Future<List<Income>> getIncomes() async {
|
Future<List<Income>> getIncomes() async {
|
||||||
debugPrint("getIncomes(): Accessing db.");
|
|
||||||
Database db = await instance.db;
|
Database db = await instance.db;
|
||||||
|
|
||||||
debugPrint("getIncomes(): Querying table.");
|
|
||||||
var incomes = await db.query("income", orderBy: "name");
|
var incomes = await db.query("income", orderBy: "name");
|
||||||
|
|
||||||
debugPrint("getIncomes(): Putting into object list.");
|
|
||||||
List<Income> incomeList = incomes.isNotEmpty
|
List<Income> incomeList = incomes.isNotEmpty
|
||||||
? incomes.map((c) => Income.fromMap(c)).toList()
|
? incomes.map((c) => Income.fromMap(c)).toList()
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
debugPrint("getIncomes(): Returning!");
|
|
||||||
return incomeList;
|
return incomeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,17 +169,10 @@ class DatabaseHelper {
|
|||||||
///
|
///
|
||||||
/// Liquid Asset Section
|
/// Liquid Asset Section
|
||||||
Future<List<Asset>> getAssets() async {
|
Future<List<Asset>> getAssets() async {
|
||||||
debugPrint("getAssets(): Accessing db.");
|
|
||||||
Database db = await instance.db;
|
Database db = await instance.db;
|
||||||
|
|
||||||
debugPrint("getAssets(): Querying table.");
|
|
||||||
var assets = await db.query("asset", orderBy: "name");
|
var assets = await db.query("asset", orderBy: "name");
|
||||||
|
|
||||||
debugPrint("getAssets(): Putting into object list.");
|
|
||||||
List<Asset> assetList =
|
List<Asset> assetList =
|
||||||
assets.isNotEmpty ? assets.map((c) => Asset.fromMap(c)).toList() : [];
|
assets.isNotEmpty ? assets.map((c) => Asset.fromMap(c)).toList() : [];
|
||||||
|
|
||||||
debugPrint("getAssets(): Returning!");
|
|
||||||
return assetList;
|
return assetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,21 +40,9 @@ class _HomePageState extends State<HomePage> {
|
|||||||
type: ItemType.expense,
|
type: ItemType.expense,
|
||||||
);
|
);
|
||||||
case 1:
|
case 1:
|
||||||
page = TrackedItemPage(
|
page = Placeholder();
|
||||||
assetsToLoad: DatabaseHelper.instance.getIncomes(),
|
|
||||||
);
|
|
||||||
dialog = TrackedItemInputDialog(
|
|
||||||
notifyParent: refresh,
|
|
||||||
type: ItemType.income,
|
|
||||||
);
|
|
||||||
case 2:
|
case 2:
|
||||||
page = TrackedItemPage(
|
page = Placeholder();
|
||||||
assetsToLoad: DatabaseHelper.instance.getAssets(),
|
|
||||||
);
|
|
||||||
dialog = TrackedItemInputDialog(
|
|
||||||
notifyParent: refresh,
|
|
||||||
type: ItemType.asset,
|
|
||||||
);
|
|
||||||
case 3:
|
case 3:
|
||||||
page = ProjectionPage();
|
page = ProjectionPage();
|
||||||
case 4:
|
case 4:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user