- Timestamp:
- 02/12/18 18:10:42 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive/3.3/HiveService.cs
r15737 r15760 880 880 } 881 881 882 private void GrantProjectPermissions(Guid projectId, List<Guid> grantedUserIds, bool cascading) {883 throw new NotImplementedException();884 }885 886 private void RevokeProjectPermissions(Guid projectId, List<Guid> grantedUserIds, bool cascading) {887 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);888 if (projectId == null || grantedUserIds == null || !grantedUserIds.Any()) return;889 AuthorizationManager.AuthorizeForProjectAdministration(projectId, false);890 var pm = PersistenceManager;891 using (new PerformanceLogger("RevokeProjectPermissions")) {892 var projectPermissionDao = pm.ProjectPermissionDao;893 var projectDao = pm.ProjectDao;894 var assignedJobResourceDao = pm.AssignedJobResourceDao;895 pm.UseTransaction(() => {896 if (cascading) {897 var childProjectIds = projectDao.GetChildProjectIdsById(projectId).ToList();898 projectPermissionDao.DeleteByProjectIdsAndGrantedUserIds(childProjectIds, grantedUserIds);899 assignedJobResourceDao.DeleteByProjectIdsAndUserIds(childProjectIds, grantedUserIds);900 }901 projectPermissionDao.DeleteByProjectIdAndGrantedUserIds(projectId, grantedUserIds);902 assignedJobResourceDao.DeleteByProjectIdAndUserIds(projectId, grantedUserIds);903 pm.SubmitChanges();904 });905 }906 }882 //private void GrantProjectPermissions(Guid projectId, List<Guid> grantedUserIds, bool cascading) { 883 // throw new NotImplementedException(); 884 //} 885 886 //private void RevokeProjectPermissions(Guid projectId, List<Guid> grantedUserIds, bool cascading) { 887 // RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 888 // if (projectId == null || grantedUserIds == null || !grantedUserIds.Any()) return; 889 // AuthorizationManager.AuthorizeForProjectAdministration(projectId, false); 890 // var pm = PersistenceManager; 891 // using (new PerformanceLogger("RevokeProjectPermissions")) { 892 // var projectPermissionDao = pm.ProjectPermissionDao; 893 // var projectDao = pm.ProjectDao; 894 // var assignedJobResourceDao = pm.AssignedJobResourceDao; 895 // pm.UseTransaction(() => { 896 // if (cascading) { 897 // var childProjectIds = projectDao.GetChildProjectIdsById(projectId).ToList(); 898 // projectPermissionDao.DeleteByProjectIdsAndGrantedUserIds(childProjectIds, grantedUserIds); 899 // assignedJobResourceDao.DeleteByProjectIdsAndUserIds(childProjectIds, grantedUserIds); 900 // } 901 // projectPermissionDao.DeleteByProjectIdAndGrantedUserIds(projectId, grantedUserIds); 902 // assignedJobResourceDao.DeleteByProjectIdAndUserIds(projectId, grantedUserIds); 903 // pm.SubmitChanges(); 904 // }); 905 // } 906 //} 907 907 908 908 public IEnumerable<DT.ProjectPermission> GetProjectPermissions(Guid projectId) { … … 1001 1001 } 1002 1002 1003 private void AssignProjectResources(Guid projectId, List<Guid> resourceIds, bool cascading) { 1004 throw new NotImplementedException(); 1005 } 1006 1007 // basic: unassign resourceIds from project and depending jobs 1008 // cascading: unassign resourceIds from all child-projects and their depending jobs 1009 private void UnassignProjectResources(Guid projectId, List<Guid> resourceIds, bool cascading) { 1010 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 1011 if (projectId == null || resourceIds == null || !resourceIds.Any()) return; 1012 AuthorizationManager.AuthorizeForProjectResourceAdministration(projectId, resourceIds); 1013 var pm = PersistenceManager; 1014 using (new PerformanceLogger("UnassignProjectResources")) { 1015 var assignedProjectResourceDao = pm.AssignedProjectResourceDao; 1016 var assignedJobResourceDao = pm.AssignedJobResourceDao; 1017 var projectDao = pm.ProjectDao; 1018 pm.UseTransaction(() => { 1019 if (cascading) { 1020 var childProjectIds = projectDao.GetChildProjectIdsById(projectId).ToList(); 1021 assignedProjectResourceDao.DeleteByProjectIdsAndResourceIds(childProjectIds, resourceIds); 1022 assignedJobResourceDao.DeleteByProjectIdsAndResourceIds(childProjectIds, resourceIds); 1023 } 1024 assignedProjectResourceDao.DeleteByProjectIdAndResourceIds(projectId, resourceIds); 1025 assignedJobResourceDao.DeleteByProjectIdAndResourceIds(projectId, resourceIds); 1026 pm.SubmitChanges(); 1027 }); 1028 } 1029 } 1003 //private void AssignProjectResources(Guid projectId, List<Guid> resourceIds, bool cascading) { 1004 // throw new NotImplementedException(); 1005 //} 1006 1007 //private void UnassignProjectResources(Guid projectId, List<Guid> resourceIds, bool cascading) { 1008 // RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 1009 // if (projectId == null || resourceIds == null || !resourceIds.Any()) return; 1010 // AuthorizationManager.AuthorizeForProjectResourceAdministration(projectId, resourceIds); 1011 // var pm = PersistenceManager; 1012 // using (new PerformanceLogger("UnassignProjectResources")) { 1013 // var assignedProjectResourceDao = pm.AssignedProjectResourceDao; 1014 // var assignedJobResourceDao = pm.AssignedJobResourceDao; 1015 // var projectDao = pm.ProjectDao; 1016 // pm.UseTransaction(() => { 1017 // if (cascading) { 1018 // var childProjectIds = projectDao.GetChildProjectIdsById(projectId).ToList(); 1019 // assignedProjectResourceDao.DeleteByProjectIdsAndResourceIds(childProjectIds, resourceIds); 1020 // assignedJobResourceDao.DeleteByProjectIdsAndResourceIds(childProjectIds, resourceIds); 1021 // } 1022 // assignedProjectResourceDao.DeleteByProjectIdAndResourceIds(projectId, resourceIds); 1023 // assignedJobResourceDao.DeleteByProjectIdAndResourceIds(projectId, resourceIds); 1024 // pm.SubmitChanges(); 1025 // }); 1026 // } 1027 //} 1030 1028 1031 1029 public IEnumerable<DT.AssignedProjectResource> GetAssignedResourcesForProject(Guid projectId) {
Note: See TracChangeset
for help on using the changeset viewer.