- Timestamp:
- 12/07/17 18:14:13 (6 years ago)
- Location:
- branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourceDao.cs
r15497 r15503 41 41 } 42 42 43 public IEnumerable<Resource> GetResourcesByParentId(Guid id) { 44 return DataContext.ExecuteQuery<Resource>(GetResourcesByParentIdQuery, id); 45 } 46 43 47 public IEnumerable<Guid> GetResourceIdsByParentId(Guid id) { 44 48 return DataContext.ExecuteQuery<Guid>(GetResourceIdsByParentIdQuery, id); 45 49 } 46 50 47 public IEnumerable<Resource> GetResourcesByParentId(Guid id) { 48 return DataContext.ExecuteQuery<Resource>(GetResourcesByParentIdQuery, id); 51 public IEnumerable<Resource> GetResourcesByChildId(Guid id) { 52 return DataContext.ExecuteQuery<Resource>(GetResourcesByChildIdQuery, id); 53 } 54 55 public IEnumerable<Guid> GetResourceIdsByChildId(Guid id) { 56 return DataContext.ExecuteQuery<Guid>(GetResourceIdsByChildIdQuery, id); 49 57 } 50 58 … … 65 73 #region String queries 66 74 private const string GetResourcesByParentIdQuery = @" 67 WITH rtree AS68 (69 SELECT ResourceId, ParentResourceId70 FROM [Resource]71 UNION ALL72 SELECT rt.ResourceId, r.ParentResourceId73 FROM [Resource] r74 JOIN rtree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId75 )76 SELECT DISTINCT rtree.ResourceId77 FROM rtree78 WHERE rtree.ParentResourceId = ({0})79 ";80 private const string GetResourceIdsByParentIdQuery = @"81 75 WITH rtree AS 82 76 ( … … 93 87 AND rtree.ResourceId = res.ResourceId 94 88 "; 89 private const string GetResourceIdsByParentIdQuery = @" 90 WITH rtree AS 91 ( 92 SELECT ResourceId, ParentResourceId 93 FROM [Resource] 94 UNION ALL 95 SELECT rt.ResourceId, r.ParentResourceId 96 FROM [Resource] r 97 JOIN rtree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId 98 ) 99 SELECT DISTINCT rtree.ResourceId 100 FROM rtree 101 WHERE rtree.ParentResourceId = ({0}) 102 "; 103 private const string GetResourcesByChildIdQuery = @" 104 WITH rtree AS 105 ( 106 SELECT ResourceId, ParentResourceId 107 FROM [Resource] 108 UNION ALL 109 SELECT rt.ResourceId, r.ParentResourceId 110 FROM [Resource] r 111 JOIN rtree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId 112 ) 113 SELECT DISTINCT res.* 114 FROM rtree, [Resource] res 115 WHERE rtree.ResourceId = ({0}) 116 AND rtree.ParentResourceId = res.ResourceId 117 "; 118 private const string GetResourceIdsByChildIdQuery = @" 119 WITH rtree AS 120 ( 121 SELECT ResourceId, ParentResourceId 122 FROM [Resource] 123 UNION ALL 124 SELECT rt.ResourceId, r.ParentResourceId 125 FROM [Resource] r 126 JOIN rtree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId 127 ) 128 SELECT DISTINCT rtree.ParentResourceId 129 FROM rtree 130 WHERE rtree.ResourceId = ({0}) 131 "; 95 132 #endregion 96 133 } -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourcePermissionDao.cs
r15500 r15503 43 43 } 44 44 45 public void DeleteByResourceIdAndGrantedUserId(Guid resourceId, IEnumerable<Guid> grantedUserId) { 46 string paramIds = string.Join(",", grantedUserId.Select(x => string.Format("'{0}'", x))); 47 if (!string.IsNullOrWhiteSpace(paramIds)) { 48 string query = string.Format(DeleteByGrantedUserQuery, resourceId, paramIds); 49 DataContext.ExecuteCommand(query); 50 } 51 } 52 45 53 #region Compiled queries 46 54 private static readonly Func<DataContext, Guid, IEnumerable<ResourcePermission>> GetByResourceIdQuery = … … 71 79 ;"; 72 80 81 private const string DeleteByGrantedUserQuery = @" 82 DELETE FROM [ResourcePermission] 83 WHERE ResourceId = '{0}' 84 AND GrantedUserId IN ({1}) 85 ;"; 73 86 #endregion 74 87 }
Note: See TracChangeset
for help on using the changeset viewer.