Laden...

Forenbeiträge von dontc# Ingesamt 1 Beiträge

29.10.2020 - 09:38 Uhr

Ich hab eine Klasse Schulung.
Je Schulungsobjekt soll das Endedatum auf Basis des Beginndatums automatisiert gesetzt werden.
Zum Beispiel: Schulungsobjekt x:

Endedatum = Beginndatum + 4 Wochen, 
Schulungsobjekt x: Endedatum =  Beginndatum + 8 Wochen, Schulungsobjekt z: Endedatum =  Beginndatum + 3 Tage

(Die Eigenschaften der Objekte kommen aus der Datenbank).

Ich möchte ungern schreiben:

if (Schulungsobjekt == x) {Endedatum = Beginndatum + 4 Wochen} 
else if (Schulungsobjekt == y) {Endedatum = Beginndatum + 8 Wochen} 
else if (Schulungsobjekt == z) {Endedatum = Beginndatum + 3 Tage} 

usw.
Mit einer Lehrgangs-Konfigurationstabelle kann man zwar Dauer und Einheit hinterlegen, aber dann muss ich ja immernoch geprüft werden:

if (Einheit == Wochen) {addiedere Wochen auf Beginndatum }
else if (Einheit == Tage) {addiedere Tage auf Beginndatum }

usw.
Kommt eine neue Einheit hinzu, muss ich Programmcode anpassen. Es soll also dynamsich passieren.

Gibt es hierfür eine elegantere Lösung als die obige? Wie kann in Abhängigkeit von dem jeweiligen Objekt dynamisch konfiguriert werden, dass das
Endedatum standardmäßig x Einheiten beträgt?

Vielen Dank im Voraus.