From 1d421a1e13962bfbce2501bec8228ee1f15f473f Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Mon, 17 Apr 2023 14:50:20 +0200 Subject: [PATCH] Added domain types --- src/myaktion/main.go | 34 ++++++++++++++++++++++++++++++++++ src/myaktion/model/account.go | 7 +++++++ src/myaktion/model/campaign.go | 11 +++++++++++ src/myaktion/model/donation.go | 16 ++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 src/myaktion/main.go create mode 100644 src/myaktion/model/account.go create mode 100644 src/myaktion/model/campaign.go create mode 100644 src/myaktion/model/donation.go diff --git a/src/myaktion/main.go b/src/myaktion/main.go new file mode 100644 index 0000000..3996468 --- /dev/null +++ b/src/myaktion/main.go @@ -0,0 +1,34 @@ +package main + +import ( + "fmt" + + "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/model" +) + +func main() { + c := model.Campaign{ + Name: "Kinder helfen", + OrganizerName: "Hans Schmidt", + TargetAmount: 10000.0, + DonationMinimum: 10.0, + Account: model.Account{ + Name: "Kinder helfen", + BankName: "Raiffeisen", + Number: "1234567890", + }, + } + c.Donations = append(c.Donations, model.Donation{ + Amount: 100.0, + DonorName: "Hans Muster", + ReceiptRequested: true, + Status: model.IN_PROCESS, + Account: model.Account{ + Name: "Hans Muster", + BankName: "Raiffeisen", + Number: "1234567890", + }, + }) + fmt.Printf("%+v\n", c) + +} diff --git a/src/myaktion/model/account.go b/src/myaktion/model/account.go new file mode 100644 index 0000000..d2e74b4 --- /dev/null +++ b/src/myaktion/model/account.go @@ -0,0 +1,7 @@ +package model + +type Account struct { + Name string + BankName string + Number string +} diff --git a/src/myaktion/model/campaign.go b/src/myaktion/model/campaign.go new file mode 100644 index 0000000..3074a37 --- /dev/null +++ b/src/myaktion/model/campaign.go @@ -0,0 +1,11 @@ +package model + +type Campaign struct { + Name string + OrganizerName string + TargetAmount float64 + DonationMinimum float64 + AmountDonatedSoFar float64 + Donations []Donation + Account Account +} diff --git a/src/myaktion/model/donation.go b/src/myaktion/model/donation.go new file mode 100644 index 0000000..4bf6af1 --- /dev/null +++ b/src/myaktion/model/donation.go @@ -0,0 +1,16 @@ +package model + +type Status string + +const ( + TRANSFERRED Status = "TRANSFERRED" + IN_PROCESS Status = "IN_PROCESS" +) + +type Donation struct { + Amount float64 + DonorName string + ReceiptRequested bool + Account Account + Status Status +} -- GitLab