some fixes, added transfer method
This commit is contained in:
@ -4,23 +4,24 @@ class abteilung {
|
|||||||
[mitarbeiter]$Abteilungsleiter
|
[mitarbeiter]$Abteilungsleiter
|
||||||
|
|
||||||
abteilung([mitarbeiter]$AL) {
|
abteilung([mitarbeiter]$AL) {
|
||||||
$Abteilungsleiter = $AL
|
$this.Abteilungsleiter = $AL
|
||||||
|
$this.Mitarbeiter += $AL
|
||||||
}
|
}
|
||||||
|
|
||||||
[int]einstellen([mitarbeiter]$MA) {
|
[int]einstellen([mitarbeiter]$MA) {
|
||||||
if $MA in $Mitarbeiter {
|
if ($MA -In $this.Mitarbeiter) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
$Mitarbeiter += $MA
|
$this.Mitarbeiter += $MA
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
[int]entlassen([mitarbeiter]$MA) {
|
[int]entlassen([mitarbeiter]$MA) {
|
||||||
if ($MA == $Abteilungsleiter) {
|
if ($MA -Eq $this.Abteilungsleiter) {
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
if $MA in $Mitarbeiter {
|
if ($MA -In $this.Mitarbeiter) {
|
||||||
$Mitarbeiter = $Mitarbeiter | Where-Object { $_ -ne $MA }
|
$this.Mitarbeiter = $this.Mitarbeiter | Where-Object { $_ -ne $MA }
|
||||||
return 0
|
return 0
|
||||||
} else {
|
} else {
|
||||||
return 1
|
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 {
|
class mitarbeiter {
|
||||||
[string]$Name
|
[string]$Name
|
||||||
}
|
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user