Changeset 15503 for branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourceDao.cs
- Timestamp:
- 12/07/17 18:14:13 (6 years ago)
- File:
-
- 1 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 }
Note: See TracChangeset
for help on using the changeset viewer.