diff --git a/12fi5/AEuP/Bank/bank.ps1 b/12fi5/AEuP/Bank/bank.ps1 index 98fbfc6..b99dac4 100644 --- a/12fi5/AEuP/Bank/bank.ps1 +++ b/12fi5/AEuP/Bank/bank.ps1 @@ -4,6 +4,10 @@ class kunde { kunde([string]$name) { $this.name = $name } + + kunde([string]$vorname, [string]$nachname) { + $this.name = $vorname + " " + $nachname + } } class konto { @@ -11,7 +15,7 @@ class konto { [double]$guthaben [datetime]$erstelldatum - static ueberweisen([konto]$von, [konto]$nach, [double]$menge) { + static überweisen([konto]$von, [konto]$nach, [double]$menge) { $stand_von = $von.guthaben $stand_nach = $nach.guthaben try { @@ -25,8 +29,8 @@ class konto { } } - ueberweisen([konto]$nach, [double]$menge) { - [konto]::ueberweisen($this, $nach, $menge) + überweisen([konto]$nach, [double]$menge) { + [konto]::überweisen($this, $nach, $menge) } konto([kunde]$kunde) { @@ -58,8 +62,8 @@ class konto { class bank { [string]$name - [System.Collections.Generic.List[konto]]$konten - [System.Collections.Generic.List[kunde]]$kunden + [System.Collections.Generic.List[konto]]$konten = @() + [System.Collections.Generic.List[kunde]]$kunden = @() bank([string]$name) { $this.name = $name @@ -73,8 +77,8 @@ class bank { $konto.einzahlen($menge) } - überweisen([konto]$von, [konto]$nach, [double]menge) { - $konto.überweisen($nach, $menge) + überweisen([konto]$von, [konto]$nach, [double]$menge) { + $von.überweisen($nach, $menge) } [kunde]neukunde([string]$vorname, [string]$nachname) { @@ -89,4 +93,60 @@ class bank { return $konto } -} \ No newline at end of file + [void]übersicht() { + foreach ($kunde in $this.kunden) { + Write-Host $kunde.name + foreach ($konto in $this.konten) { + if ($konto.kunde -eq $kunde) { + Write-Host $konto.guthaben + } + } + } + } + +} + +class cui { + [int]$state = 0 + [bank]$bank + + cui() { + $this.bank = [bank]::new("defaultbank") + } + + [konto]select_konto([string]$use) { + Write-Host "Wähle ein Konto" $use + for ($i = 0; $i -lt $this.bank.konten.count; $i += 1) { + Write-Host "Konto" $i "("$this.bank.konten[$i].guthaben") von" $this.bank.konten[$i].kunde.name + } + return $this.bank.konten[$(Read-Host "Auswahl")] + } + + run() { + $bname = Read-Host "Wähle einen Banknamen:" + $this.bank = [bank]::new($bname) + while ($this.state -ne -1) { + Write-Host "Wähle eine Aktion aus:" + Write-Host "1: Kunde anlegen" + Write-Host "2: Konto anlegen" + Write-Host "3: Einzahlen" + Write-Host "4: Auszahlen" + Write-Host "5: Überweißen" + Write-Host "0: Beenden" + } + } +} + +#Tests +$bank = [bank]::new("Benannte Bank") +$kunde1 = $bank.neukunde("Kunde", "Kundengesicht") +$konto1 = $bank.konto_erstellen($kunde1) +$kunde2 = $bank.neukunde("Anderes", "Kundengesicht") +$konto2 = $bank.konto_erstellen($kunde2) + +$bank.überweisen($konto1, $konto2, 150) +$bank.übersicht() + +$cui = [cui]::new() +$cui.bank = $bank +$cui.select_konto("Test") \ No newline at end of file