From 3cef5bea7105b68f29aa7e464e28623984b6d42f Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 30 May 2024 13:03:12 +0100 Subject: [PATCH] Add CardStrorageLocation database operations --- sevenkeys/database/cardstoragelocation.go | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sevenkeys/database/cardstoragelocation.go diff --git a/sevenkeys/database/cardstoragelocation.go b/sevenkeys/database/cardstoragelocation.go new file mode 100644 index 0000000..2be221a --- /dev/null +++ b/sevenkeys/database/cardstoragelocation.go @@ -0,0 +1,42 @@ +package database + +import "database/sql" + +type CardStorageLocation struct { + Id int + CardPrintingId int + StorageBox string + Position int + Source string +} + +func GetLastPositionInBox(db *sql.DB, storageBox string) (int, error) { + query := "SELECT Position FROM CardStorageLocation WHERE StorageBox = ? ORDER BY Position DESC LIMIT 1" + + var lastPosition int + err := db.QueryRow(query, storagebox).Scan(&lastPosition) + + if err == sql.ErrNoRows { + return 0, nil + } else { + return 0, err + } + + return lastPosition, nil +} + +func InsertCardStorageLocation(db *sql.DB, location CardStorageLocation) error { + query := `INSERT INTO CardStorageLocation + (CardPrintingId, StorageBox, Position, Source) + VALUES (?, ?, ?, ?);` + + insert, err := db.Prepare(query) + if err != nil { + return err + } + + _, err := insert.Exec(location.CardPrintingId, location.StorageBox, location.Position, location.Source) + if err != nil { + return err + } +}