Anlegen einer neuen Gruppe

In diesem Beispiel wird eine Datenbank geöffnet und eine neue Gruppe unterhalb der Hauptgruppe angelegt. Die neue Gruppe erbt alle Zugriffsrechte von ihrer übergeordneten Gruppe - in diesem Fall die der Hauptgruppe. Danach werden dem Benutzer "system" Schreibrechte (AR_WRITE) eingeräumt.

 

Database DemoDB = ArisanMain.EasyOpenDatabase(

    "LOCAL",        // Servername

    "de",           // Methodenname

    "Demo62",       // Datenbank

    "system",       // User

    "manager",      // Passwort

    "Deutsch (Deutschland)",    // Sprache

    "Gesamtmethode"             // Filter

    );

 

// Hauptgruppe laden

Group Hauptgruppe = DemoDB.GetMainGroup();

 

// Neue Gruppe anlegen, dabei Zugriffsrechte

// der übergeordneten Gruppe vererben

Group newGroup = Hauptgruppe.CreateNewSubGroup("Neu", true);

 

// User laden

User user_system = DemoDB.GetUser("system");

 

// Zugriffsrechte ändern. Dabei neue

// Rechte dabei auf Untergruppen vererben.

Hauptgruppe.SetUserAccessRight(

    user_system, ArisAccessRight.AR_WRITE, true);       

 

// DB und Arisan schliessen

DemoDB.Close();

ArisanMain.ShutDown();

 

 

Gruppenüberblick

Nach dem Öffnen der Datenbank wird mittels Angabe eines vollständigen Pfades auf eine Gruppe zugegriffen. Aus dieser Gruppe werden dann die Namen aller Modelle und Objektdefinitionen angezeigt.

 

// Demo-Datenbank öffnen

[wie zuvor]

 

// Direkter Zugriff auf Gruppe

Group gAML = DemoDB.GetGroupByFullPath("/Hauptgruppe/AML");

 

// Alle Modelle anzeigen

IList<Model> allModels = gAML.GetModels(ArisSortOrder.Ascending);

foreach (Model model in allModels)

    Console.WriteLine(model);

 

// Alle Objekt-Definitionen anzeigen

IList<ObjDef> allObjDefs = gAML.GetObjDefs(ArisSortOrder.Ascending);

foreach (ObjDef def in allObjDefs)

    Console.WriteLine(def);

 

// DB und Arisan schliessen

DemoDB.Close();

ArisanMain.ShutDown();

 

 

Gruppenstruktur anzeigen

Nach dem Öffnen der Datenbank wird die Hauptgruppe geladen. Ausgehend von dort werden die Namen aller Gruppen als Baumstruktur ausgegeben.

 

public static void Start()

{

    // Demo-Datenbank öffnen

    [wie zuvor]

 

    // Hauptgruppe laden

    Group Hauptgruppe = DemoDB.GetMainGroup();

 

    // Gruppen rekursiv anzeigen

    ShowGroupRecursive(Hauptgruppe, 0);

 

    // DB und Arisan schliessen

    DemoDB.Close();

    ArisanMain.ShutDown();

}

 

private static void ShowGroupRecursive(Group currentGroup, int tabdepth)

{

    // Gruppennamen anzeigen

    Console.WriteLine("".PadLeft(tabdepth)+currentGroup.Name);

 

     // Untergruppen laden und Anzeigen

     IList<Group> SubGroups = currentGroup.GetSubgroups();

     foreach (Group group in SubGroups)

        ShowGroupRecursive(group, tabdepth + 2);

}