Konfi-Castle-Kasino/getList.go

61 lines
1.3 KiB
Go
Raw Normal View History

2017-06-15 09:30:32 +00:00
package main
import (
2017-08-30 20:23:35 +00:00
"fmt"
2017-06-15 09:30:32 +00:00
"github.com/labstack/echo"
"net/http"
)
func getList(c echo.Context) error {
//Datenbankverbindung aufbauen
db := DBinit()
2017-06-15 09:30:32 +00:00
2017-08-31 16:37:43 +00:00
//Config
SiteConf := initConfig()
if SiteConf.Mode == 0 {
//Daten holen und anzeigen
var kofi []Kofi
asc := c.QueryParam("asc")
if asc == "" {
err := db.OrderBy("KCoins DESC").Find(&kofi)
if err != nil {
fmt.Println(err)
}
} else {
err := db.OrderBy("Name ASC").Find(&kofi)
if err != nil {
fmt.Println(err)
}
}
2017-08-31 16:37:43 +00:00
//Template
return c.JSON(http.StatusOK, kofi)
} else if SiteConf.Mode == 1 {
//Daten holen und anzeigen
var gemeinden []Gemeinde
asc := c.QueryParam("asc")
if asc == "" {
err := db.Select("Gemeinde.*, (cast(KCoins AS FLOAT) / cast(KonfiCount AS FLOAT)) as CoinsQuota").OrderBy("CoinsQuota DESC").Find(&gemeinden)
2017-08-31 16:37:43 +00:00
if err != nil {
fmt.Println(err)
}
} else {
err := db.Select("*, (cast(KCoins AS FLOAT) / cast(KonfiCount AS FLOAT)) AS CoinsQuota").OrderBy("Name ASC").Find(&gemeinden)
2017-08-31 16:37:43 +00:00
if err != nil {
fmt.Println(err)
}
}
2017-08-31 16:37:43 +00:00
// Alles durchgehen und den Schnitt ausrechnen
for i, gem := range gemeinden{
gemeinden[i].CoinsQuota = float64(gem.KCoins) / float64(gem.KonfiCount)
}
2017-08-31 16:37:43 +00:00
//Template
return c.JSON(http.StatusOK, gemeinden)
2017-06-15 09:30:32 +00:00
}
2017-08-31 16:37:43 +00:00
return c.HTML(http.StatusInternalServerError, "Error. (Wrong mode)")
2017-06-15 09:30:32 +00:00
}