51 lines
1017 B
Go
51 lines
1017 B
Go
package helpers
|
|
|
|
import (
|
|
"database/sql"
|
|
"synlotto-website/models"
|
|
)
|
|
|
|
func BuildBallsSlice(t models.Ticket) []int {
|
|
balls := []int{t.Ball1, t.Ball2, t.Ball3, t.Ball4, t.Ball5}
|
|
if t.GameType == "Lotto" && t.Ball6 > 0 {
|
|
balls = append(balls, t.Ball6)
|
|
}
|
|
|
|
return balls
|
|
}
|
|
|
|
func BuildBonusSlice(t models.Ticket) []int {
|
|
var bonuses []int
|
|
if t.Bonus1 != nil {
|
|
bonuses = append(bonuses, *t.Bonus1)
|
|
}
|
|
if t.Bonus2 != nil {
|
|
bonuses = append(bonuses, *t.Bonus2)
|
|
}
|
|
|
|
return bonuses
|
|
}
|
|
|
|
// BuildBallsFromNulls builds main balls from sql.NullInt64 values
|
|
func BuildBallsFromNulls(vals ...sql.NullInt64) []int {
|
|
var result []int
|
|
for _, v := range vals {
|
|
if v.Valid {
|
|
result = append(result, int(v.Int64))
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
|
|
// BuildBonusFromNulls builds bonus balls from two sql.NullInt64 values
|
|
func BuildBonusFromNulls(b1, b2 sql.NullInt64) []int {
|
|
var result []int
|
|
if b1.Valid {
|
|
result = append(result, int(b1.Int64))
|
|
}
|
|
if b2.Valid {
|
|
result = append(result, int(b2.Int64))
|
|
}
|
|
return result
|
|
}
|