In den Platzhaltern wird häufig mehr Funktionalität zur Berechnung benötigt. Diese können mit Hilfe von eigenen berechneten Eigenschaften umgesetzt werden. Die Berechneten Eigenschaften stehen Grundsätzlich auf allen Datensätzen zur Verfügung und müssen daher so implementiert werden, dass sie mit beliebigen Datensätzen umgehen können.

Dazu wird eine statische Klasse definiert. Diese erhält das Attribut CalculatedProperties.

[CalculatedProperties]
public static class MyCalculatedProperties
{ ... }

Die Methoden werden als C# Erweiterungsmethoden auf OrmBABase implementiert und erhalten ein IReadOnlyDictionary<string, string> mit den Argumenten. Bei der Benamung der Methode, muss vermieden werden mit anderen Namen zu kollidieren. Daher müssen sie ein Projekt spezifisches Präfix erhalten.

[DisplayName("Meine Methode")]
public static string Bat_MyMethod(this OrmBABase Orm, IReadOnlyDictionary<string, string> args)
{
    return "Place holder value";
}

HTML einbetten

Um generiertes HTML interpretiert einzubetten. Kann an Jedem Platzhalter der Parameter type="html" angegeben werden. Falls die eigene Methode HTML generiert und auch ohne die Angabe des Parameters das HTML interpretiert eingebettet werden soll, muss man das Attribut [HTMLResult] an der Methode angeben.