Beim Anwendungsstart ist es möglich eigene Funktionalitäten auszuführen. Typischerweise überprüft man an dieser Stelle, ob notwendige Rollen vorhanden sind und legt diese an, falls nicht.

Dazu implementiert man eine Klasse und erweitert InitializationEventBase. In der Methode CreateConfigurationOrms() kann man prüfen, ob notwendige Datensätze vorhanden sind, und diese wenn notwendig erstellen. Dies wird von BA.CRM genutzt, um Rollen anzulegen, die in der Konfiguration verwendet werden. Für diese Funktionalität gibt es eine entsprechende Hilfsmethode EnsureRole(...).

public sealed class CreateRoles : InitializationEventBase
{
    public const string MyRoleGuid = "[INSERT THE ROLE GUID]";

    public override void CreateConfigurationOrms()
    {
        using (UnitOfWork uow = Api.ORM.GetNewUnitOfWork())
        {
            EnsureRole(uow, MyRoleGuid, "Meine Rolle", "Beschreibung meiner Rolle");
            uow.CommitChanges();
        }
    }
}