Konfiguration
Vor dem Starten der Anwendung, müssen einige Konfigurationen in der appsettings.json vorgenommen werden.
SspID
Um mehrere Asset SSPs gleichzeitig auf einer SspDynamicColumns-Tabelle laufen zu lassen, benötigt jedes Asset SSP seine eigene ID.
Diese ID muss unter Ssp bei der Property SspID angegeben werden.
Beispiel: "SspID": "c466c26e-7954-41da-8ad8-8d7f26806af2",
SQL Query
In der appsettings.json kann man unter Ssp die Property SqlQuery finden.
Dieser Query wird dafür verwendet, um die Spalten zu definieren, welche von User zu sehen sind, die keine Adminrechte haben.
Beispiel: "SqlQuery": "SELECT [__id], [IsDamaged], [PurchasePrice] FROM PckBase1Assets WHERE [User] like '{USER}'",
SqlAdminQuery
Während der SqlQuery auf die User ohne Adminrecht zugeschnitten ist, ist der SqlAdminQuery für die Administratoren bestimmt.
Dieser Query muss mindestens die gleichen Spalten aufweisen, wie die des SqlQuerys.
Zusätzlich muss ein INNER JOIN auf die User-Tabelle geschrieben werden, um alle Assets der Mitarbeiter einsehen zu können, die dem Administrator (Abteilungsleiter) zugeordneten sind.
Beispiel: "SqlAdminQuery": "SELECT a.[__id], a.[IsDamaged], a.[PurchasePrice], u.[Department] FROM PckBase1Assets a INNER JOIN PckBase1Users U ON a.[User] = U.[User] WHERE U.[Department] IN (SELECT [Department] FROM PckBase1Users WHERE [User] = '{USER}')",
DepartmentAdminQuery
Um den User als Admin identifizieren zu können, wird der Query DepartmentAdminQuery benötigt.
Beispiel: "DepartmentAdminQuery": "Select [__id], [User], [Department], [IsAdmin] From PckBase1Users Where [User] like '{USER}'",
Tabellennamen
Zum Schluss müssen die Namen der Tabellen angegeben werden.
Dabei wird unter ExternalTable die Tabelle angegeben, aus der die Datensätze für die Haupttabelle entnommen werden, und unter SqlUserTable jene Tabelle angegeben, aus der unteranderem die Administratoren bestimmt werden.
Beispiel: "ExternalTable": "PckBase1Assets",
"SqlUserTable": "PckBase1Users",