summaryrefslogtreecommitdiffstats
path: root/src/database/database.vala
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2018-07-16 16:49:27 +0200
committerSebastian Reichel <sre@ring0.de>2018-07-17 12:17:08 +0200
commita79d89ad7a6d51ba36a79a74f969c5076862e338 (patch)
tree39322afac696862b535b2d743f28b76a0f99256b /src/database/database.vala
parentf097216aa6edaa5e9bcc1c6a785631978cfe3953 (diff)
downloadserial-barcode-scanner-a79d89ad7a6d51ba36a79a74f969c5076862e338.tar.bz2
database: add add_category(name)
Diffstat (limited to 'src/database/database.vala')
-rw-r--r--src/database/database.vala18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/database/database.vala b/src/database/database.vala
index cd2b947..ab9c5d2 100644
--- a/src/database/database.vala
+++ b/src/database/database.vala
@@ -127,6 +127,7 @@ public class DataBase : Object {
queries["user_disable"] = "UPDATE users SET disabled = ? WHERE id = ?";
queries["last_timestamp"] = "SELECT timestamp FROM sales ORDER BY timestamp DESC LIMIT 1";
queries["category_list"] = "SELECT id, name FROM categories";
+ queries["category_add"] = "INSERT INTO categories('name') VALUES (?)";
queries["supplier_list"] = "SELECT id, name, postal_code, city, street, phone, website FROM supplier";
queries["supplier_get"] = "SELECT id, name, postal_code, city, street, phone, website FROM supplier WHERE id = ?";
queries["supplier_add"] = "INSERT INTO supplier('name', 'postal_code', 'city', 'street', 'phone', 'website') VALUES (?, ?, ?, ?, ?, ?)";
@@ -966,6 +967,23 @@ public class DataBase : Object {
return result;
}
+ public void add_category(string name) throws DBusError, IOError, DatabaseError {
+ /* check if category already exists */
+ foreach(var c in get_category_list()) {
+ if(name == c.name) {
+ return;
+ }
+ }
+
+ statements["category_add"].reset();
+ statements["category_add"].bind_text(1, name);
+ int rc = statements["category_add"].step();
+
+ if(rc != Sqlite.DONE) {
+ throw new DatabaseError.INTERNAL_ERROR(_("internal error: %d"), rc);
+ }
+ }
+
public Supplier[] get_supplier_list() throws DBusError, IOError, DatabaseError {
Supplier[] result = {};