From 12357e9a915f0bc992ea778fac72016930697061 Mon Sep 17 00:00:00 2001 From: janik Date: Thu, 18 Nov 2021 11:25:31 +0100 Subject: [PATCH] some fixes, added transfer method --- 12fi5/AEuP/Abteilung/abteilung.ps1 | 53 ++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/12fi5/AEuP/Abteilung/abteilung.ps1 b/12fi5/AEuP/Abteilung/abteilung.ps1 index afa9c57..e89aabf 100644 --- a/12fi5/AEuP/Abteilung/abteilung.ps1 +++ b/12fi5/AEuP/Abteilung/abteilung.ps1 @@ -4,23 +4,24 @@ class abteilung { [mitarbeiter]$Abteilungsleiter abteilung([mitarbeiter]$AL) { - $Abteilungsleiter = $AL + $this.Abteilungsleiter = $AL + $this.Mitarbeiter += $AL } [int]einstellen([mitarbeiter]$MA) { - if $MA in $Mitarbeiter { + if ($MA -In $this.Mitarbeiter) { return 1 } - $Mitarbeiter += $MA + $this.Mitarbeiter += $MA return 0 } [int]entlassen([mitarbeiter]$MA) { - if ($MA == $Abteilungsleiter) { + if ($MA -Eq $this.Abteilungsleiter) { return 2 } - if $MA in $Mitarbeiter { - $Mitarbeiter = $Mitarbeiter | Where-Object { $_ -ne $MA } + if ($MA -In $this.Mitarbeiter) { + $this.Mitarbeiter = $this.Mitarbeiter | Where-Object { $_ -ne $MA } return 0 } else { return 1 @@ -28,8 +29,46 @@ class abteilung { } + [int]transfer([mitarbeiter]$MA, [abteilung]$AB) { + $ent = $this.entlassen($MA) + if ($ent -eq 0) { + $ein = $AB.einstellen($MA) + if ($ein -eq 0) { + return 0 + } else { + $this.einstellen($MA) + return 4 + $ein + } + } else { + return 4 + $ent + } + } + } class mitarbeiter { [string]$Name -} \ No newline at end of file + + mitarbeiter($name) { + $this.Name = $name + } +} + +#Tests +$MaA = [mitarbeiter]::new("Anna") +$MaB = [mitarbeiter]::new("Bertha") +$MaC = [mitarbeiter]::new("Christhof") + +$AbA = [abteilung]::new($MaA) +$AbB = [abteilung]::new($MaB) + +$AbB.einstellen($MaC) + + +$AbA +$AbB + +$AbB.transfer($MaC, $AbA) + +$AbA +$AbB \ No newline at end of file