diff --git a/12fi5/AEuP/Abteilung/UML MA Abt 1116.uxf b/12fi5/AEuP/Abteilung/UML MA Abt 1116.uxf new file mode 100644 index 0000000..7a0a8de --- /dev/null +++ b/12fi5/AEuP/Abteilung/UML MA Abt 1116.uxf @@ -0,0 +1,60 @@ + + + 10 + + UMLClass + + 270 + 220 + 190 + 190 + + Abteilung +-- +Name: string +Mitarbeiter: Mitarbeiter[] + + + + UMLClass + + 620 + 220 + 160 + 180 + + Mitarbeiter +-- +Name: string +Abteilung: Abteilung + + + + Relation + + 450 + 280 + 190 + 50 + + lt=-> +m1=1 +m2=* +< arbeitet in + 10.0;20.0;170.0;20.0 + + + Relation + + 450 + 330 + 190 + 50 + + lt=-> +m1=1 +m2=1 +< leitet + 10.0;20.0;170.0;20.0 + + diff --git a/12fi5/AEuP/Abteilung/abteilung.ps1 b/12fi5/AEuP/Abteilung/abteilung.ps1 new file mode 100644 index 0000000..afa9c57 --- /dev/null +++ b/12fi5/AEuP/Abteilung/abteilung.ps1 @@ -0,0 +1,35 @@ +class abteilung { + [string]$Name + [mitarbeiter[]]$Mitarbeiter = @() + [mitarbeiter]$Abteilungsleiter + + abteilung([mitarbeiter]$AL) { + $Abteilungsleiter = $AL + } + + [int]einstellen([mitarbeiter]$MA) { + if $MA in $Mitarbeiter { + return 1 + } + $Mitarbeiter += $MA + return 0 + } + + [int]entlassen([mitarbeiter]$MA) { + if ($MA == $Abteilungsleiter) { + return 2 + } + if $MA in $Mitarbeiter { + $Mitarbeiter = $Mitarbeiter | Where-Object { $_ -ne $MA } + return 0 + } else { + return 1 + } + + } + +} + +class mitarbeiter { + [string]$Name +} \ No newline at end of file