In dieser Übung wird eine Datentabelle und eine Teil-Datentabelle erstellt, die Anwendung wird Konfiguriert und es wird ein Event und ein Validator implementiert
XPO Wizard einrichten
Erstellen sie einen neuen Ordner “DB” und fügen Sie einen XPO Wizard hinzu.
Es wird keine Verbindung zu einer Datenbank hergestellt.
Modifizieren Sie den “Namespace” (Rechter Klick / Eigenschaften auf die Fläche), beispielsweise auf “BA.Training.DB”.
Fügen sie die Basis-Klasse OrmBABase
hinzu. Dazu wählen Sie “Add Assembly”, wechseln Sie in den “bin” Ordner (Anwendung muss mindestens einmal erstellt worden sein) und wählen dort die BA.dll aus.
Neue Datentabelle
Erstellen Sie eine neue Datentabelle (Toolbox/Persistent Object), die die OrmBABase
erweitert. Als Name setzen Sie “OrmEngine”.
Fügen Sie folgende Felder (Persistent Property) hinzu.
Name
String Länge 100 (default).
Setzen sie das Validator Attribut “BA.Core.CustomAttributes.Validations.BARequired”Type
Auswahlliste “Engine Types”Responsible
String Länge 200DepreciatedCost
BooleanImplementingDate
DatumswertMaintenanceInterval
Wiederholendes Datum
Neue Teil-Datentabelle
Erstellen Sie eine Neue Teil-Datentabelle “OrmSubService”.
- Fügen Sie die BA Tabelle
OrmSubBABase
dem Wizard hinzu - Erstellen Sie die Teil-Datentabelle und erweitern Sie
OrmSubBABase
- Fügen Sie zwei Felder hinzu
ServiceDate
als DatumsfeldRemark
als String mit Länge 1.000.
Fügen Sie die neue Teil-Datentabelle als Feld “Services” zur Maschine hinzu. Die verwendete Teil-Datentabelle (Eigenschaft) erhält den Namen “OrmSubServices”.
Grundkonfiguration
Konfigurieren Sie die Anwendung
- Belegen Sie das gemeinsame Feld “EntityTitle” mit “[Name]”
- Legen Sie eine Ribbon bar Navigation für die “Engine” Ansicht an.
- Aktion Ansicht aktualisieren
- Legen Sie eine Ribbon bar Navigation für die “Engine” Maske an.
- Aktion Bearbeiten
- Aktion Speichern
- Aktion Speichern und Schließen
- Aktion Lesen
- Aktion Datensatzprotokoll
- Legen Sie eine Maske für “Engine” an
- Legen Sie die Felder an
- Legen Sie die Maske in der Datentabelle als Vorgabemaske fest.
- Legen Sie eine Ansicht für “Engine” an
- Legen Sie die Felder an
- Legen Sie eine Applikationsnavigation an.
- Mit der “Engine” Ansicht
- Tragen Sie die Navigation in den Anwendungseinstellungen ein.
- Fügen sie der Ansicht- und der Maskennavigation eine Aktion Erstellen Maschine (Icon: “industrial_machine”) hinzu
- Starten Sie die Anwendung neu
Feldvorbelegung durch Event
Erstellen Sie einen neuen Ordner “OrmEvents” und erstellen Sie eine neue Event Klasse SetDefaultEngineType
Belegen Sie das Feld Type
mit einem Wert als Vorgabe.
Stellen Sie in der Event Klasse sicher das Type
einen Wert hat und setzen Sie im Fehler Fall einen Validierungsfehler
Programmatischer Validator
Erstellen Sie einen Ordner “CustomAttributes” und dort drunter einen weiteren Ordner “Validations”.
Dort erstellen Sie ein eigenes Validierungsattribut, um zu prüfen ob ImplementingDate
im Jahr 2021 oder Später liegt.
Werfen Sie einen Validierungsfehler, wenn dies nicht der Fall ist.
Setzen sie eine Drag & Drop Regel zwischen OrmDateTimeField
und YearAndLaterValidator
für EnumConfigurationType.OrmEntityConfigurationGuid
Konfigurieren Sie im Designer den Validator an dem Feld MaintenanceInterval
Validator Steuerelement
Der Validator ist schon aktiv, wird aber in der Konfiguration nicht angezeigt. Dafür wird optional ein Steuerelement benötigt.
Implementieren Sie ein Steuerelement für den Validator und lassen sie das Jahr konfigurieren. Setzen sie für das Jahr selbst einen Validator, so dass man nur Zahlen zwischen 2021 und 2100 eintragen kann.
Erstellen Sie einen Ordner “Configuration” und dort einen weiteren Ordner “Validators”. Erstellen Sie dort das Steuerelement.
Fügen Sie im Validator-Attribut die Methode CreateValidatorControl()
hinzu, um das in der Datentabelle gesetzt Attribut im Designer anzuzeigen.