public DomainPermissionFunctionalPermissions Put(DomainPermissionFunctionalPermissions request) { SetDomainPermissionLists(request); GetDomainPermissionLists(request); return request; }
private static void SetDomainPermissionLists(DomainPermissionFunctionalPermissions request) { DomainPermissionEntity entity = GenericRepository.GetItemTopById<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection, request.DomainPermissionId); 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.FunctionalPermissionIds = assigned.ToList(); GenericRepository.Add(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection, entity); } }
private static void GetDomainPermissionLists(DomainPermissionFunctionalPermissions request) { DomainPermissionEntity domainPermissionEntity = GenericRepository.GetItemTopById<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection, request.DomainPermissionId); int[] assigned = new int[] { }; request.Assigned.Clear(); request.UnAssigned.Clear(); if (domainPermissionEntity != null) { if (domainPermissionEntity.FunctionalPermissionIds != null) { assigned = new int[domainPermissionEntity.FunctionalPermissionIds.Count]; //Set assigned for (int i = 0; i < domainPermissionEntity.FunctionalPermissionIds.Count; i++) { var obj = GenericRepository.GetItemTopById<FunctionalPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.FunctionalPermissionsCollection, domainPermissionEntity.FunctionalPermissionIds[i]); if (obj == null) continue; request.Assigned.Add(obj.TranslateToResponse()); assigned[i] = obj.Id; } } //Set unassigned var functionalPermissions = GenericRepository.GetList<FunctionalPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.FunctionalPermissionsCollection); for (int i = 0; i < functionalPermissions.Count; i++) { if (domainPermissionEntity.FunctionalPermissionIds == null || !assigned.Contains(functionalPermissions[i].Id)) { request.UnAssigned.Add(functionalPermissions[i].TranslateToResponse()); } } } }