Laden...

Wie setze ich dynamische Standardwerte für meine Applikation?

Erstellt von dontc# vor 3 Jahren Letzter Beitrag vor 3 Jahren 501 Views
D
dontc# Themenstarter:in
1 Beiträge seit 2020
vor 3 Jahren
Wie setze ich dynamische Standardwerte für meine Applikation?

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.

4.931 Beiträge seit 2008
vor 3 Jahren

Hallo und willkommen,

dynamisch geht nur, wenn in der Datenbank alle notwendigen Informationen gespeichert sind (also z.B. bei den Einheiten ein Mapping auf eine Grundeinheit, z.B. Tag, festgelegt ist).
Und dann rechnest du in deinem Programm jeweils auf die Grundeinheit bezogen (also z.B. Tage).

5.657 Beiträge seit 2006
vor 3 Jahren

Weeks of programming can save you hours of planning