Changeset 15527 for branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourceDao.cs
- Timestamp:
- 12/14/17 15:08:38 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourceDao.cs
r15503 r15527 41 41 } 42 42 43 public IEnumerable<Resource> Get ResourcesByParentId(Guid id) {44 return DataContext.ExecuteQuery<Resource>(Get ResourcesByParentIdQuery, id);43 public IEnumerable<Resource> GetChildResourcesById(Guid id) { 44 return DataContext.ExecuteQuery<Resource>(GetChildResourcesByIdQuery, id); 45 45 } 46 46 47 public IEnumerable<Guid> Get ResourceIdsByParentId(Guid id) {48 return DataContext.ExecuteQuery<Guid>(Get ResourceIdsByParentIdQuery, id);47 public IEnumerable<Guid> GetChildResourceIdsById(Guid id) { 48 return DataContext.ExecuteQuery<Guid>(GetChildResourceIdsByIdQuery, id); 49 49 } 50 50 51 public IEnumerable<Resource> Get ResourcesByChildId(Guid id) {52 return DataContext.ExecuteQuery<Resource>(Get ResourcesByChildIdQuery, id);51 public IEnumerable<Resource> GetParentResourcesById(Guid id) { 52 return DataContext.ExecuteQuery<Resource>(GetParentResourcesByIdQuery, id); 53 53 } 54 54 55 public IEnumerable<Guid> GetResourceIdsByChildId(Guid id) { 56 return DataContext.ExecuteQuery<Guid>(GetResourceIdsByChildIdQuery, id); 55 public IEnumerable<Guid> GetParentResourceIdsById(Guid id) { 56 return DataContext.ExecuteQuery<Guid>(GetParentResourceIdsByIdQuery, id); 57 } 58 59 public IEnumerable<Resource> GetCurrentAndParentResourcesById(Guid id) { 60 return DataContext.ExecuteQuery<Resource>(GetCurrentAndParentResourcesByIdQuery, id); 61 } 62 63 public IEnumerable<Guid> GetCurrentAndParentResourceIdsById(Guid id) { 64 return DataContext.ExecuteQuery<Guid>(GetCurrentAndParentResourceIdsByIdQuery, id); 57 65 } 58 66 … … 72 80 73 81 #region String queries 74 private const string Get ResourcesByParentIdQuery = @"82 private const string GetChildResourcesByIdQuery = @" 75 83 WITH rtree AS 76 84 ( … … 84 92 SELECT DISTINCT res.* 85 93 FROM rtree, [Resource] res 86 WHERE rtree.ParentResourceId = ({0})94 WHERE rtree.ParentResourceId = {0} 87 95 AND rtree.ResourceId = res.ResourceId 88 96 "; 89 private const string Get ResourceIdsByParentIdQuery = @"97 private const string GetChildResourceIdsByIdQuery = @" 90 98 WITH rtree AS 91 99 ( … … 99 107 SELECT DISTINCT rtree.ResourceId 100 108 FROM rtree 101 WHERE rtree.ParentResourceId = ({0})109 WHERE rtree.ParentResourceId = {0} 102 110 "; 103 private const string Get ResourcesByChildIdQuery = @"104 WITH r treeAS111 private const string GetParentResourcesByIdQuery = @" 112 WITH rbranch AS 105 113 ( 106 114 SELECT ResourceId, ParentResourceId 107 115 FROM [Resource] 108 116 UNION ALL 109 SELECT r t.ResourceId, r.ParentResourceId117 SELECT rb.ResourceId, r.ParentResourceId 110 118 FROM [Resource] r 111 JOIN r tree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId119 JOIN rbranch rb ON rb.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rb.ParentResourceId <> rb.ResourceId 112 120 ) 113 121 SELECT DISTINCT res.* 114 FROM r tree, [Resource] res115 WHERE r tree.ResourceId = ({0})116 AND r tree.ParentResourceId = res.ResourceId122 FROM rbranch, [Resource] res 123 WHERE rbranch.ResourceId = {0} 124 AND rbranch.ParentResourceId = res.ResourceId 117 125 "; 118 private const string Get ResourceIdsByChildIdQuery = @"119 WITH r treeAS126 private const string GetParentResourceIdsByIdQuery = @" 127 WITH rbranch AS 120 128 ( 121 129 SELECT ResourceId, ParentResourceId 122 130 FROM [Resource] 123 131 UNION ALL 124 SELECT r t.ResourceId, r.ParentResourceId132 SELECT rb.ResourceId, r.ParentResourceId 125 133 FROM [Resource] r 126 JOIN r tree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId134 JOIN rbranch rb ON rb.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rb.ParentResourceId <> rb.ResourceId 127 135 ) 128 SELECT DISTINCT rtree.ParentResourceId 129 FROM rtree 130 WHERE rtree.ResourceId = ({0}) 136 SELECT DISTINCT rbranch.ParentResourceId 137 FROM rbranch 138 WHERE rbranch.ResourceId = {0} 139 "; 140 private const string GetCurrentAndParentResourcesByIdQuery = @" 141 WITH rbranch AS 142 ( 143 SELECT ResourceId, ParentResourceId 144 FROM [Resource] 145 WHERE ResourceId = {0} 146 UNION ALL 147 SELECT r.ResourceId, r.ParentResourceId 148 FROM [Resource] r 149 JOIN rbranch rb ON rb.ParentResourceId = r.ResourceId 150 ) 151 SELECT DISTINCT res.* 152 FROM rbranch, [Resource] res 153 WHERE rbranch.ResourceId = res.ResourceId 154 "; 155 private const string GetCurrentAndParentResourceIdsByIdQuery = @" 156 WITH rbranch AS 157 ( 158 SELECT ResourceId, ParentResourceId 159 FROM [Resource] 160 WHERE ResourceId = {0} 161 UNION ALL 162 SELECT r.ResourceId, r.ParentResourceId 163 FROM [Resource] r 164 JOIN rbranch rb ON rb.ParentResourceId = r.ResourceId 165 ) 166 SELECT DISTINCT rbranch.ResourceId 167 FROM rbranch 131 168 "; 132 169 #endregion
Note: See TracChangeset
for help on using the changeset viewer.