diff --git a/data.go b/data.go index c37574c..97a1a68 100644 --- a/data.go +++ b/data.go @@ -2,14 +2,14 @@ package main // struct für das Einbinden von Items, die gekauft wurden type Itemb struct { - Id uint64 `json:"id"` - Bezeichnung string `json:"bezeichnung"` - Kurzbeschreibung string `json:"kurzbeschreibung"` - Groesse string `json:"groesse"` - Farbe string `json:"farbe"` - TypId uint `json:"typid"` - Material string `json:"material"` - AbmessungenId uint64 `json:"abmessungenid"` + Id uint64 `json:"id"` + Bezeichnung string `json:"bezeichnung"` + Kurzbeschreibung string `json:"kurzbeschreibung"` + Groesse string `json:"groesse"` + Farbe string `json:"farbe"` + Type Typ `json:"type"` + Material string `json:"material"` + Abmessungen Measure `json:"abmessungen"` } // struct für die Fotos, die im Filesystem abgelegt werden sollen diff --git a/wdm.go b/wdm.go index c806ecf..9566426 100644 --- a/wdm.go +++ b/wdm.go @@ -529,8 +529,8 @@ func createItemBHandler(writer http.ResponseWriter, req *http.Request) { itemB.Groesse = req.FormValue("groesse") itemB.Farbe = req.FormValue("farbe") itbtyp, _ := strconv.ParseUint(req.FormValue("typid"), 10, 0) - itemB.TypId = uint(itbtyp) - itemB.AbmessungenId, _ = strconv.ParseUint(req.FormValue("abmessungenid"), 10, 0) + itemB.Type.Id = uint(itbtyp) + itemB.Abmessungen.Id, _ = strconv.ParseUint(req.FormValue("abmessungenid"), 10, 0) for formKey, formValue := range req.Form { log.WithFields(log.Fields{formKey: formValue}).Info("parsing from Form: ") @@ -644,8 +644,8 @@ func updateItemBHandler(writer http.ResponseWriter, req *http.Request) { itemB.Groesse = req.FormValue("groesse") itemB.Farbe = req.FormValue("farbe") itbtyp, _ := strconv.ParseUint(req.FormValue("typid"), 10, 0) - itemB.TypId = uint(itbtyp) - itemB.AbmessungenId, _ = strconv.ParseUint(req.FormValue("abmessungenid"), 10, 0) + itemB.Type.Id = uint(itbtyp) + itemB.Abmessungen.Id, _ = strconv.ParseUint(req.FormValue("abmessungenid"), 10, 0) for formKey, formValue := range req.Form { log.WithFields(log.Fields{formKey: formValue}).Info("parsing from Form: ") diff --git a/wdmdb.go b/wdmdb.go index f188d08..6a67fcc 100644 --- a/wdmdb.go +++ b/wdmdb.go @@ -295,7 +295,7 @@ func CreateItemB(itemB Itemb) (resItemb Itemb, err error) { log.Println("Verbindung hergestellt (ItemB Create)") log.Println("Name = ", itemB.Bezeichnung) defer conn.Close() - res, err := conn.Exec("INSERT INTO itemb VALUES(?,?,?,?,?,?,?,?)", itemB.Id, itemB.Bezeichnung, itemB.Kurzbeschreibung, itemB.Groesse, itemB.Farbe, itemB.TypId, itemB.Material, itemB.AbmessungenId) + res, err := conn.Exec("INSERT INTO itemb VALUES(?,?,?,?,?,?,?,?)", itemB.Id, itemB.Bezeichnung, itemB.Kurzbeschreibung, itemB.Groesse, itemB.Farbe, itemB.Type.Id, itemB.Material, itemB.Abmessungen.Id) if err != nil { log.Println("Error while executing insert statement", err) } @@ -332,7 +332,7 @@ func ShowItemB() (itemBArray []Itemb, err error) { } var itemB Itemb for results.Next() { - err = results.Scan(&itemB.Id, &itemB.Bezeichnung, &itemB.Kurzbeschreibung, &itemB.Groesse, &itemB.Farbe, &itemB.TypId, &itemB.Material, &itemB.AbmessungenId) + err = results.Scan(&itemB.Id, &itemB.Bezeichnung, &itemB.Kurzbeschreibung, &itemB.Groesse, &itemB.Farbe, &itemB.Type.Id, &itemB.Material, &itemB.Abmessungen.Id) if err != nil { log.Fatal("Error: ", err) } @@ -348,12 +348,15 @@ func GetItemB(id uint64) (itemB Itemb, err error) { } log.Println("DB Verbindung hergestellt (ItemB SHOW)") defer conn.Close() - results, err := conn.Query("SELECT * FROM itemb WHERE id=?", id) + results, err := conn.Query("SELECT a.*, b.* FROM itemb a, measure b WHERE a.id=? AND b.id=a.abmessungenid", id) if err != nil { log.Fatal("Error while executing SELECt statement", err) } for results.Next() { - err = results.Scan(&itemB.Id, &itemB.Bezeichnung, &itemB.Kurzbeschreibung, &itemB.Groesse, &itemB.Farbe, &itemB.TypId, &itemB.Material, &itemB.AbmessungenId) + err = results.Scan(&itemB.Id, &itemB.Bezeichnung, &itemB.Kurzbeschreibung, &itemB.Groesse, &itemB.Farbe, &itemB.Type.Id, &itemB.Material, + &itemB.Abmessungen.Id, &itemB.Abmessungen.Brust, &itemB.Abmessungen.LaengeT, &itemB.Abmessungen.Schulterbreite, &itemB.Abmessungen.TaillenumfangT, &itemB.Abmessungen.Hueftumfang, + &itemB.Abmessungen.LaengeB, &itemB.Abmessungen.TaillenumfangB, &itemB.Abmessungen.Kurz) + if err != nil { log.Fatal("Error: ", err) }