- Timestamp:
- 01/23/18 15:42:13 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive/3.3/HiveService.cs
r15630 r15643 507 507 } else { 508 508 var addedJobResourceIds = resourceIds.Except(job.AssignedJobResources.Select(x => x.ResourceId)); 509 var removedJobResourceIds = job.AssignedJobResources.Select(x => x.ResourceId).Except(resourceIds); 509 var removedJobResourceIds = job.AssignedJobResources 510 .Select(x => x.ResourceId) 511 .Except(resourceIds) 512 .ToArray(); 510 513 511 514 // remove resource assignments … … 855 858 AuthorizationManager.AuthorizeForProjectAdministration(projectId); 856 859 var pm = PersistenceManager; 857 using (new PerformanceLogger(" GrantProjectPermissions")) {860 using (new PerformanceLogger("SaveProjectPermissions")) { 858 861 var projectDao = pm.ProjectDao; 859 862 var projectPermissionDao = pm.ProjectPermissionDao; … … 863 866 var project = projectDao.GetById(projectId); 864 867 if (project == null) return; 865 //if (project.ProjectPermissions == null) project.ProjectPermissions = new System.Data.Linq.EntitySet<DA.ProjectPermission>(); 866 var projectPermissions = project.ProjectPermissions.Select(x => x.GrantedUserId); 867 var addedPermissions = grantedUserIds.Except(projectPermissions); 868 var projectPermissions = project.ProjectPermissions.Select(x => x.GrantedUserId).ToArray(); 869 //var addedPermissions = grantedUserIds.Except(projectPermissions); 868 870 var removedPermissions = projectPermissions.Except(grantedUserIds); 869 871 … … 874 876 } else { 875 877 assignedJobResourceDao.DeleteByProjectIdAndUserIds(project.ProjectId, removedPermissions); 876 foreach(var item in project.ProjectPermissions.ToList().Where(x => removedPermissions.Contains(x.GrantedUserId))) { 878 foreach(var item in project.ProjectPermissions 879 .Where(x => removedPermissions.Contains(x.GrantedUserId)) 880 .ToList()) { 877 881 project.ProjectPermissions.Remove(item); 878 882 } … … 907 911 p.ProjectPermissions.Clear(); 908 912 } else { 909 foreach(var item in p.ProjectPermissions.ToList().Where(x => removedPermissions.Contains(x.GrantedUserId))) { 913 foreach(var item in p.ProjectPermissions 914 .Where(x => removedPermissions.Contains(x.GrantedUserId)) 915 .ToList()) { 910 916 p.ProjectPermissions.Remove(item); 911 917 } … … 979 985 AuthorizationManager.AuthorizeForProjectResourceAdministration(projectId, resourceIds); 980 986 var pm = PersistenceManager; 981 using (new PerformanceLogger(" AssignProjectResources")) {987 using (new PerformanceLogger("SaveProjectResourceAssignments")) { 982 988 var projectDao = pm.ProjectDao; 983 989 var assignedProjectResourceDao = pm.AssignedProjectResourceDao; … … 985 991 pm.UseTransaction(() => { 986 992 var project = projectDao.GetById(projectId); 987 var assignedResources = project.AssignedProjectResources.Select(x => x.ResourceId) ;988 var addedAssignments = resourceIds.Except(assignedResources);993 var assignedResources = project.AssignedProjectResources.Select(x => x.ResourceId).ToArray(); 994 //var addedAssignments = resourceIds.Except(assignedResources); 989 995 var removedAssignments = assignedResources.Except(resourceIds); 990 996 … … 992 998 if (reassign) { 993 999 assignedJobResourceDao.DeleteByProjectId(project.ProjectId); 994 //assignedProjectResourceDao.DeleteByProjectIds(new List<Guid> { projectId });995 1000 project.AssignedProjectResources.Clear(); 996 1001 } else { 997 1002 assignedJobResourceDao.DeleteByProjectIdAndResourceIds(projectId, removedAssignments); 998 //assignedProjectResourceDao.DeleteByProjectIdAndResourceIds(projectId, removedAssignments); 999 foreach (var item in project.AssignedProjectResources.ToList().Where(x => removedAssignments.Contains(x.ResourceId))) { 1003 foreach (var item in project.AssignedProjectResources 1004 .Where(x => removedAssignments.Contains(x.ResourceId)) 1005 .ToList()) { 1000 1006 project.AssignedProjectResources.Remove(item); 1001 1007 } … … 1030 1036 } else { 1031 1037 //assignedProjectResourceDao.DeleteByProjectIdAndResourceIds(p.ProjectId, removedAssignments); 1032 foreach (var item in p.AssignedProjectResources.ToList().Where(x => removedAssignments.Contains(x.ResourceId))) { 1038 //for(int i = p.AssignedProjectResources.Count -1; i >= 0; i--) { 1039 // if(removedAssignments.Contains(p.AssignedProjectResources[i].ResourceId)) { 1040 // p.AssignedProjectResources.RemoveAt(i); 1041 // } 1042 //} 1043 foreach (var item in p.AssignedProjectResources 1044 .Where(x => removedAssignments.Contains(x.ResourceId)) 1045 .ToList()) { 1033 1046 p.AssignedProjectResources.Remove(item); 1034 1047 }
Note: See TracChangeset
for help on using the changeset viewer.