Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/07/17 18:14:13 (6 years ago)
Author:
jzenisek
Message:

#2839 added ResourcePermission handling (still in progress)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/ResourceDao.cs

    r15497 r15503  
    4141    }
    4242
     43    public IEnumerable<Resource> GetResourcesByParentId(Guid id) {
     44      return DataContext.ExecuteQuery<Resource>(GetResourcesByParentIdQuery, id);
     45    }
     46
    4347    public IEnumerable<Guid> GetResourceIdsByParentId(Guid id) {
    4448      return DataContext.ExecuteQuery<Guid>(GetResourceIdsByParentIdQuery, id);
    4549    }
    4650
    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);
    4957    }
    5058
     
    6573    #region String queries
    6674    private const string GetResourcesByParentIdQuery = @"
    67       WITH rtree AS
    68       (
    69         SELECT ResourceId, ParentResourceId
    70         FROM [Resource]
    71         UNION ALL
    72         SELECT rt.ResourceId, r.ParentResourceId
    73         FROM [Resource] r
    74         JOIN rtree rt ON rt.ParentResourceId = r.ResourceId AND r.ParentResourceId <> r.ResourceId AND rt.ParentResourceId <> rt.ResourceId
    75       )
    76       SELECT DISTINCT rtree.ResourceId
    77       FROM rtree
    78       WHERE rtree.ParentResourceId = ({0})
    79     ";
    80     private const string GetResourceIdsByParentIdQuery = @"
    8175      WITH rtree AS
    8276      (
     
    9387      AND rtree.ResourceId = res.ResourceId
    9488    ";
     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    ";
    95132    #endregion
    96133  }
Note: See TracChangeset for help on using the changeset viewer.