public RoleDomainPermissions Put(RoleDomainPermissions request) { SetRoleLevelLists(request); GetRoleLevelLists(request); return request; }
private static void GetRoleLevelLists(RoleDomainPermissions request) { RoleEntity roleEntity = GenericRepository.GetItemTopById<RoleEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, request.RoleId); int[] assigned = new int[] { }; request.Assigned.Clear(); request.UnAssigned.Clear(); if (roleEntity != null) { if (roleEntity.DomainPermissionIds != null) { assigned = new int[roleEntity.DomainPermissionIds.Count]; //Set assigned roles for (int i = 0; i < roleEntity.DomainPermissionIds.Count; i++) { var obj = GenericRepository.GetItemTopById<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection, roleEntity.DomainPermissionIds[i]); if (obj == null) continue; request.Assigned.Add(obj.TranslateToResponse()); assigned[i] = obj.Id; } } //Set unassigned roles var domainPermissions = GenericRepository.GetList<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection); for (int i = 0; i < domainPermissions.Count; i++) { if (roleEntity.DomainPermissionIds == null || !assigned.Contains(domainPermissions[i].Id)) { request.UnAssigned.Add(domainPermissions[i].TranslateToResponse()); } } } }
private static void SetRoleLevelLists(RoleDomainPermissions request) { RoleEntity entity = GenericRepository.GetItemTopById<RoleEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, request.RoleId); int[] assigned; if (entity != null) { assigned = new int[request.Assigned.Count]; for (int i = 0; i < request.Assigned.Count; i++) { var obj = request.Assigned[i]; assigned[i] = obj.Id; } entity.DomainPermissionIds = assigned.ToList(); GenericRepository.Add(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, entity); } }