From f4146cfb528afc50bc348fa1f96619351ea0e136 Mon Sep 17 00:00:00 2001
From: Sercan Yesildal <sercan.yesildal@gmail.com>
Date: Mon, 17 Apr 2023 14:43:04 +0200
Subject: [PATCH] domain types developed

---
 src/myaktion/main.go           | 30 ++++++++++++++++++++++++++++++
 src/myaktion/model/account.go  |  7 +++++++
 src/myaktion/model/campaign.go | 11 +++++++++++
 src/myaktion/model/donation.go | 14 ++++++++++++++
 4 files changed, 62 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..cd83e9c
--- /dev/null
+++ b/src/myaktion/main.go
@@ -0,0 +1,30 @@
+package main
+
+import "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/model"
+
+func main() {
+	campaign := model.Campaign{
+		Name:               "Spenden für eine bessere Note",
+		OrganizerName:      "Geheimnisvolle Ente",
+		TargetAmount:       5000,
+		DonationMinimum:    10,
+		AmountDonatedSoFar: 0,
+		Account: model.Account{
+			Name:     "Dagobert Duck",
+			BankName: "Dagoberts Bank",
+			Number:   "DE3414022023",
+		},
+	}
+
+	campaign.Donations = append(campaign.Donations, model.Donation{
+		Amount:           10,
+		DonorName:        "Robin Wood",
+		ReceiptRequested: true,
+		Account: model.Account{
+			Name:     "Robin Wood",
+			BankName: "Dagoberts Bank",
+			Number:   "DE3414022000",
+		},
+		Status: model.IN_PROCESS,
+	})
+}
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..2fb5dcf
--- /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
+	Account            Account
+	Donations          []Donation
+}
diff --git a/src/myaktion/model/donation.go b/src/myaktion/model/donation.go
new file mode 100644
index 0000000..4c1b124
--- /dev/null
+++ b/src/myaktion/model/donation.go
@@ -0,0 +1,14 @@
+package model
+
+const TRANSFERRED Status = "überwiesen"
+const IN_PROCESS Status = "in Bearbeitung"
+
+type Donation struct {
+	Amount           float64
+	DonorName        string
+	ReceiptRequested bool
+	Account          Account
+	Status           Status
+}
+
+type Status string
-- 
GitLab