Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Security.ADODataAccess/3.2/TableAdapterWrapper/GrantedPermissionsAdapterWrapper.cs @ 1720

Last change on this file since 1720 was 1720, checked in by svonolfe, 15 years ago

Implemented the security DAL (#597)

File size: 2.5 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using HeuristicLab.DataAccess.ADOHelper;
6using System.Data.SqlClient;
7using HeuristicLab.Security.Contracts.BusinessObjects;
8using System.Data.Common;
9
10namespace HeuristicLab.Security.ADODataAccess.TableAdapterWrapper {
11  class GrantedPermissionsAdapterWrapper :
12   TableAdapterWrapperBase<
13       dsSecurityTableAdapters.GrantedPermissionsTableAdapter,
14       GrantedPermission,
15       dsSecurity.GrantedPermissionsRow> {
16    public override void UpdateRow(dsSecurity.GrantedPermissionsRow row) {
17      TransactionalAdapter.Update(row);
18    }
19
20    public override dsSecurity.GrantedPermissionsRow
21      InsertNewRow(GrantedPermission relation) {
22      dsSecurity.GrantedPermissionsDataTable data =
23        new dsSecurity.GrantedPermissionsDataTable();
24
25      dsSecurity.GrantedPermissionsRow row = data.NewGrantedPermissionsRow();
26      row.PermissionOwnerId = relation.PermissionOwnerId;
27      row.PermissionId = relation.PermissionId;
28      row.EntityId = relation.EntityId;
29
30      data.AddGrantedPermissionsRow(row);
31
32      return row;
33    }
34
35    public bool DeleteRow(GrantedPermission perm) {
36      dsSecurity.GrantedPermissionsRow row =
37        FindByPermissionPermissionOwnerEntityId(perm.PermissionId, perm.PermissionOwnerId, perm.EntityId);
38
39      if (row != null) {
40        row.Delete();
41        UpdateRow(row);
42
43        return true;
44      } else {
45        return false;
46      }
47    }
48
49    public override IEnumerable<dsSecurity.GrantedPermissionsRow>
50      FindById(Guid id) {
51      return TransactionalAdapter.GetDataByPermissionOwnerId(id);
52    }
53
54    public dsSecurity.GrantedPermissionsRow
55      FindByPermissionPermissionOwnerEntityId(Guid permissionId,
56      Guid permissionOwnerId, Guid entityId) {
57      IEnumerable<dsSecurity.GrantedPermissionsRow> result =
58        TransactionalAdapter.GetDataByPermissionPermissionOwnerEntityId(
59          permissionId, permissionOwnerId, entityId);
60
61      if(result.Count() == 1)
62        return result.GetEnumerator().Current;
63      else
64        return null;
65    }
66
67    public override IEnumerable<dsSecurity.GrantedPermissionsRow>
68      FindAll() {
69      return TransactionalAdapter.GetData();
70    }
71
72    protected override void SetConnection(DbConnection connection) {
73      adapter.Connection = connection as SqlConnection;
74    }
75
76    protected override void SetTransaction(DbTransaction transaction) {
77      adapter.Transaction = transaction as SqlTransaction;
78    }
79  }
80}
Note: See TracBrowser for help on using the repository browser.