This commit is contained in:
Florian Baumann 2022-01-06 12:14:45 +01:00
parent bcdf6769bc
commit 0ab6953c26
2 changed files with 32 additions and 1 deletions

View File

@ -126,6 +126,7 @@ func ShowSet(setname string) error {
sort := bson.D{{"collectornumber", 1}} sort := bson.D{{"collectornumber", 1}}
filter := bson.D{{"set", setname}} filter := bson.D{{"set", setname}}
cards, err := coll.storage_find(filter, sort) cards, err := coll.storage_find(filter, sort)
if (err != nil) || len(cards) == 0 { if (err != nil) || len(cards) == 0 {
LogMessage(fmt.Sprintf("Error: Set %s not found or no card in your collection.", setname), "red") LogMessage(fmt.Sprintf("Error: Set %s not found or no card in your collection.", setname), "red")
@ -133,10 +134,23 @@ func ShowSet(setname string) error {
} }
// print // print
fmt.Printf("%s\n", cards[0].SetName) var eur_sum float64
var card_count int64
for _, card := range cards { for _, card := range cards {
fmt.Printf("%dx %d %s %.2f\n", card.SerraCount, card.CollectorNumber, card.Name, card.Prices.Eur) fmt.Printf("%dx %d %s %.2f\n", card.SerraCount, card.CollectorNumber, card.Name, card.Prices.Eur)
eur_sum = eur_sum + card.Prices.Eur*float64(card.SerraCount)
card_count = card_count + card.SerraCount
} }
setcoll := &Collection{client.Database("serra").Collection("sets")}
sets, _ := setcoll.storage_find_set(bson.D{{"code", setname}}, bson.D{{"_id", 1}})
LogMessage(fmt.Sprintf("\n%s\n", sets[0].Name), "green")
LogMessage(fmt.Sprintf("Set Cards: %d/%d", len(cards), sets[0].CardCount), "normal")
LogMessage(fmt.Sprintf("Total Cards: %d", card_count), "normal")
LogMessage(fmt.Sprintf("Value: %.2f Eur", eur_sum), "normal")
storage_disconnect(client) storage_disconnect(client)
return nil return nil

View File

@ -71,6 +71,23 @@ func (coll Collection) storage_find(filter, sort bson.D) ([]Card, error) {
} }
func (coll Collection) storage_find_set(filter, sort bson.D) ([]Set, error) {
opts := options.Find().SetSort(sort)
cursor, err := coll.Find(context.TODO(), filter, opts)
if err != nil {
log.Fatal(err)
}
var results []Set
if err = cursor.All(context.TODO(), &results); err != nil {
log.Fatal(err)
return []Set{}, err
}
return results, nil
}
func (coll Collection) storage_remove(filter bson.M) error { func (coll Collection) storage_remove(filter bson.M) error {
_, err := coll.DeleteOne(context.TODO(), filter) _, err := coll.DeleteOne(context.TODO(), filter)