- Timestamp:
- 12/07/08 18:03:51 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/PermissionOwnerAdapter.cs
r905 r925 27 27 using HeuristicLab.Hive.Server.Core.InternalInterfaces.DataAccess; 28 28 using HeuristicLab.Hive.Contracts.BusinessObjects; 29 using System.Runtime.CompilerServices; 29 30 30 31 namespace HeuristicLab.Hive.Server.ADODataAccess { 31 class PermissionOwnerAdapter: IPermissionOwner { 32 #region IPermissionOwner Members 32 class PermissionOwnerAdapter: DataAdapterBase, IPermissionOwnerAdapter { 33 33 private dsHiveServerTableAdapters.PermissionOwnerTableAdapter adapter = 34 34 new dsHiveServerTableAdapters.PermissionOwnerTableAdapter(); 35 35 36 private PermissionOwner Convert(dsHiveServer.PermissionOwnerRow row, 36 private dsHiveServer.PermissionOwnerDataTable data = 37 new dsHiveServer.PermissionOwnerDataTable(); 38 39 public PermissionOwnerAdapter() { 40 adapter.Fill(data); 41 } 42 43 protected override void Update() { 44 this.adapter.Update(this.data); 45 } 46 47 private PermissionOwner Convert(dsHiveServer.PermissionOwnerRow row, 37 48 PermissionOwner permOwner) { 38 49 if (row != null && permOwner != null) { … … 52 63 dsHiveServer.PermissionOwnerRow row) { 53 64 if (row != null && permOwner != null) { 54 row.PermissionOwnerId = permOwner.PermissionOwnerId;55 65 row.Name = permOwner.Name; 56 66 … … 59 69 return null; 60 70 } 61 71 72 #region IPermissionOwner Members 73 [MethodImpl(MethodImplOptions.Synchronized)] 62 74 public void UpdatePermissionOwner(PermissionOwner permOwner) { 63 75 if (permOwner != null) { 64 dsHiveServer.PermissionOwnerDataTable data = 65 adapter.GetDataById(permOwner.PermissionOwnerId); 66 67 dsHiveServer.PermissionOwnerRow row; 68 if (data.Count == 0) { 76 dsHiveServer.PermissionOwnerRow row = 77 data.FindByPermissionOwnerId(permOwner.PermissionOwnerId); 78 79 if (row == null) { 69 80 row = data.NewPermissionOwnerRow(); 70 81 data.AddPermissionOwnerRow(row); 71 } else { 72 row = data[0]; 82 83 //write row to db to get primary key 84 adapter.Update(row); 73 85 } 74 86 75 row.Name = permOwner.Name; 76 77 adapter.Update(data); 78 87 Convert(permOwner, row); 79 88 permOwner.PermissionOwnerId = row.PermissionOwnerId; 80 89 } 81 90 } 82 91 83 internal bool FillPermissionOwner(PermissionOwner permOwner) {92 public bool GetPermissionOwnerById(PermissionOwner permOwner) { 84 93 if (permOwner != null) { 85 dsHiveServer.PermissionOwnerDataTable data =86 adapter.GetDataById(permOwner.PermissionOwnerId);87 if (data.Count == 1) {88 94 dsHiveServer.PermissionOwnerRow row = 89 data[0]; 95 data.FindByPermissionOwnerId(permOwner.PermissionOwnerId); 96 97 if(row != null) { 90 98 Convert(row, permOwner); 91 99 … … 101 109 permOwner.PermissionOwnerId = permOwnerId; 102 110 103 if ( FillPermissionOwner(permOwner))111 if (GetPermissionOwnerById(permOwner)) 104 112 return permOwner; 105 113 else … … 107 115 } 108 116 117 public PermissionOwner GetPermissionOwnerByName(String name) { 118 PermissionOwner permOwner = new PermissionOwner(); 119 120 dsHiveServer.PermissionOwnerRow row = 121 data.Single<dsHiveServer.PermissionOwnerRow>( 122 r => !r.IsNameNull() && r.Name == name); 123 124 if (row != null) { 125 Convert(row, permOwner); 126 127 return permOwner; 128 } else { 129 return null; 130 } 131 } 132 109 133 public ICollection<PermissionOwner> GetAllPermissionOwners() { 110 134 ICollection<PermissionOwner> allPermissionOwners = 111 135 new List<PermissionOwner>(); 112 113 dsHiveServer.PermissionOwnerDataTable data =114 adapter.GetData();115 136 116 137 foreach (dsHiveServer.PermissionOwnerRow row in data) { … … 123 144 } 124 145 146 [MethodImpl(MethodImplOptions.Synchronized)] 125 147 public bool DeletePermissionOwner(PermissionOwner permOwner) { 126 148 if (permOwner != null) { 127 dsHiveServer.PermissionOwnerDataTable data =128 adapter.GetDataById(permOwner.PermissionOwnerId);149 dsHiveServer.PermissionOwnerRow row = 150 data.FindByPermissionOwnerId(permOwner.PermissionOwnerId); 129 151 130 if (data.Count == 1) {131 dsHiveServer.PermissionOwnerRow row = data[0];152 if(row != null) { 153 data.RemovePermissionOwnerRow(row); 132 154 133 row.Delete();134 return adapter.Update(data) > 0;155 return true; 156 } 135 157 } 136 }137 158 138 159 return false;
Note: See TracChangeset
for help on using the changeset viewer.