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);
}

