User Tools

Site Tools


applications:tpsr:staff:queryservice:listallstaff

TPSR - Betreuer - Abfragen - ListAllStaffMembers

Diese Abfrage listet die Kopfdaten aller Betreuer der Einrichtung auf die der angemeldete User Leserechte hat. Das Recht dazu erhält er entweder

  1. über eine Rechte-Rolle zu der Einrichtung mit Leserechten auf alle Betreuerdaten
  2. über eine Rechte-Rolle in einem Team mit Leserechten auf die Betreuerdaten der anderen Betreuer im Team
  3. per Konvention - er kann immer seine eigenen Kopfdaten sehen.

Der Code für die Abfrage sieht aus wie folgt1):

public IList<StaffListRecord> ListAllStaffMembers(string TenantId, bool WithActives, bool WithInactives, UserAccountIdentity identity)
        {
            // Query Authorizers
            var StaffQueryAuthorizers = new List<QueryAuthorizer<ListStaffOfTenantQuery, StaffListRecord, UserAccountIdentity>>();
            StaffQueryAuthorizers.Add(new QueryAuthorizerTenantPriv(Session));
            // Result Authorizers
            var StaffRecordAuthorizers = new List<RecordAuthorizer<StaffListRecord, UserAccountIdentity>>();
            StaffRecordAuthorizers.Add(new RecordAuthorizerSelfPriv(identity));
            StaffRecordAuthorizers.Add(new RecordAuthorizerTeamPriv(DataBase, identity));
            // Query Execution
            var StaffQuery = new ListStaffOfTenantQuery(identity.TenantId, WithActives, WithInactives);
            var StaffQueryService = new QueryService<ListStaffOfTenantQuery, StaffListRecord, UserAccountIdentity>(Session, new TPSRQueryImplementation.Staff.List.QueryExecuter(Session));
            return StaffQueryService.Execute(StaffQuery, identity, StaffQueryAuthorizers, StaffRecordAuthorizers);
        }
1) Das erste Recht kann für die gesamte Abfrage geprüft werden. Nur wenn es kein allgemeines Recht gibt, werden die Datensatz Autorisierer angewendet
applications/tpsr/staff/queryservice/listallstaff.txt · Last modified: 2014/03/22 17:15 by rtavassoli