From 0f0e5f7408969fcc4473746919bb0e8aaa89947c Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Sun, 8 Aug 2021 13:00:16 +0530 Subject: half-cleaned the way saving invoices works --- server/database/invoices.go | 6 ++-- server/database/transport.go | 70 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 server/database/transport.go (limited to 'server/database') diff --git a/server/database/invoices.go b/server/database/invoices.go index d6bc015..e743b47 100644 --- a/server/database/invoices.go +++ b/server/database/invoices.go @@ -14,9 +14,9 @@ import ( ) type Invoice struct { - ID int - Items []Item - Transport string + ID int + Items []Item + Transporter Transport } /* diff --git a/server/database/transport.go b/server/database/transport.go new file mode 100644 index 0000000..fd3d96c --- /dev/null +++ b/server/database/transport.go @@ -0,0 +1,70 @@ +/* + * OpenBills - Self hosted browser app to generate and keep track of simple invoices + * Version - 0 + * Licensed under the MIT license - https://opensource.org/licenses/MIT + * Copyright (c) 2021 Vidhu Kant Sharma +*/ + +package database + +import ( + _ "github.com/mattn/go-sqlite3" +) + +type Transport struct { + Name string + VehicleNum string + Method string + GSTIN string + Builty string +} + +/* +func GetAllItems() []Item { + var allItems []Item + rows, _ := myDatabase.Query( + `SELECT Model, Desc, UnitPrice, HSN, TotalGST, Category, Brand FROM Items`, + ) + + var ( + model, desc, cat, brand string + unitPrice, GST float64 + HSN string + ) + + for rows.Next() { + rows.Scan(&model, &desc, &unitPrice, &HSN, &GST, &cat, &brand) + allItems = append(allItems, Item{model, desc, unitPrice, HSN, GST, cat, brand}) + } + + return allItems +} + +func RegisterItem(item Item) bool { + itemNames, _ := myDatabase.Query("SELECT model FROM Items") + + register_item, _ := myDatabase.Prepare( + `INSERT INTO Items + (Model, Desc, UnitPrice, HSN, TotalGST, Category, Brand) + VALUES (?, ?, ?, ?, ?, ?, ?)`, + ) + + // check if item already exists + // probably this should be handled by front end + // so we can check this without need of using api + for itemNames.Next() { + var rModel string + itemNames.Scan(&rModel) + if rModel == item.Model { + return false + } + } + + register_item.Exec( + item.Model, item.Description, item.UnitPrice, item.HSN, + item.TotalGST, item.Category, item.Brand, + ) + + return true +} +*/ -- cgit v1.2.3