- Timestamp:
- 12/16/08 17:26:43 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/UserAdapter.cs
r972 r995 30 30 31 31 namespace HeuristicLab.Hive.Server.ADODataAccess { 32 class UserAdapter : DataAdapterBase, IUserAdapter { 33 private dsHiveServerTableAdapters.HiveUserTableAdapter adapter = 34 new dsHiveServerTableAdapters.HiveUserTableAdapter(); 35 36 private dsHiveServer.HiveUserDataTable data = 32 class UserAdapter : 33 DataAdapterBase< 34 dsHiveServerTableAdapters.HiveUserTableAdapter, 35 User, 36 dsHiveServer.HiveUserRow>, 37 IUserAdapter { 38 #region Fields 39 dsHiveServer.HiveUserDataTable data = 37 40 new dsHiveServer.HiveUserDataTable(); 38 41 … … 52 55 private IUserGroupAdapter UserGroupAdapter { 53 56 get { 54 if (userGroupAdapter == null) {57 if (userGroupAdapter == null) 55 58 userGroupAdapter = ServiceLocator.GetUserGroupAdapter(); 56 }57 59 58 60 return userGroupAdapter; … … 64 66 private IJobAdapter JobAdapter { 65 67 get { 66 if (jobAdapter == null) {68 if (jobAdapter == null) 67 69 jobAdapter = ServiceLocator.GetJobAdapter(); 68 }69 70 70 71 return jobAdapter; 71 72 } 72 73 } 74 #endregion 73 75 74 public UserAdapter() { 75 adapter.Fill(data); 76 } 77 78 protected override void Update() { 79 this.adapter.Update(this.data); 80 } 81 82 private User Convert(dsHiveServer.HiveUserRow row, 76 #region Overrides 77 protected override User Convert(dsHiveServer.HiveUserRow row, 83 78 User user) { 84 79 if (row != null && user != null) { 85 80 /*Parent - PermissionOwner*/ 86 user. PermissionOwnerId = row.PermissionOwnerId;87 PermOwnerAdapter.Get PermissionOwnerById(user);81 user.Id = row.PermissionOwnerId; 82 PermOwnerAdapter.GetById(user); 88 83 89 84 /*User*/ … … 98 93 } 99 94 100 pr ivate dsHiveServer.HiveUserRow Convert(User user,95 protected override dsHiveServer.HiveUserRow Convert(User user, 101 96 dsHiveServer.HiveUserRow row) { 102 97 if (user != null && row != null) { 103 row.Password = user.Password; 98 if (user.Password == null) 99 row.SetPasswordNull(); 100 else 101 row.Password = user.Password; 104 102 105 103 return row; 106 104 } else 107 return null; 105 return null; 108 106 } 107 108 protected override dsHiveServer.HiveUserRow 109 InsertNewRow(User user) { 110 dsHiveServer.HiveUserRow row = 111 data.NewHiveUserRow(); 112 113 row.PermissionOwnerId = user.Id; 114 115 data.AddHiveUserRow(row); 116 117 return row; 118 } 119 120 protected override void 121 UpdateRow(dsHiveServer.HiveUserRow row) { 122 adapter.Update(row); 123 } 124 125 protected override IEnumerable<dsHiveServer.HiveUserRow> 126 FindById(long id) { 127 return adapter.GetDataById(id); 128 } 129 130 protected override IEnumerable<dsHiveServer.HiveUserRow> 131 FindAll() { 132 return adapter.GetData(); 133 } 134 #endregion 109 135 110 136 #region IUserAdapter Members 111 137 112 138 [MethodImpl(MethodImplOptions.Synchronized)] 113 public void UpdateUser(User user) {139 public override void Update(User user) { 114 140 if (user != null) { 115 PermOwnerAdapter.Update PermissionOwner(user);141 PermOwnerAdapter.Update(user); 116 142 117 dsHiveServer.HiveUserRow row = 118 data.FindByPermissionOwnerId(user.PermissionOwnerId); 119 if (row == null) { 120 row = data.NewHiveUserRow(); 121 row.PermissionOwnerId = user.PermissionOwnerId; 122 data.AddHiveUserRow(row); 123 } 124 125 Convert(user, row); 143 base.Update(user); 126 144 } 127 145 } 128 146 129 public User GetUserById(long userId) { 130 User user = new User(); 131 132 dsHiveServer.HiveUserRow row = 133 data.FindByPermissionOwnerId(userId); 134 135 if(row != null) { 136 Convert(row, user); 137 138 return user; 139 } else { 140 return null; 141 } 142 } 143 144 public User GetUserByName(String name) { 145 User user = new User(); 146 147 PermissionOwner permOwner = 148 PermOwnerAdapter.GetPermissionOwnerByName(name); 149 150 if (permOwner != null) { 151 dsHiveServer.HiveUserRow row = 152 data.FindByPermissionOwnerId(permOwner.PermissionOwnerId); 153 154 if (row != null) { 155 Convert(row, user); 156 157 return user; 158 } 147 public User GetByName(String name) { 148 if (name != null) { 149 return base.FindSingle( 150 delegate() { 151 return adapter.GetDataByName(name); 152 }); 159 153 } 160 154 … … 162 156 } 163 157 164 public ICollection<User> GetAllUsers() { 165 ICollection<User> allUsers = 166 new List<User>(); 158 [MethodImpl(MethodImplOptions.Synchronized)] 159 public override bool Delete(User user) { 160 if (user != null) { 161 //Referential integrity with user groups 162 ICollection<UserGroup> userGroups = 163 UserGroupAdapter.MemberOf(user); 164 foreach (UserGroup group in userGroups) { 165 group.Members.Remove(user); 166 UserGroupAdapter.Update(group); 167 } 167 168 168 foreach (dsHiveServer.HiveUserRow row in data) { 169 User user = new User(); 170 Convert(row, user); 171 allUsers.Add(user); 172 } 169 //Referential integrity with jobs 170 ICollection<Job> jobs = 171 JobAdapter.GetJobsOf(user); 172 foreach (Job job in jobs) { 173 JobAdapter.Delete(job); 174 } 173 175 174 return allUsers; 175 } 176 177 [MethodImpl(MethodImplOptions.Synchronized)] 178 public bool DeleteUser(User user) { 179 if (user != null) { 180 dsHiveServer.HiveUserRow row = 181 data.FindByPermissionOwnerId(user.PermissionOwnerId); 182 183 if (row != null) { 184 //Referential integrity with user groups 185 ICollection<UserGroup> userGroups = 186 UserGroupAdapter.MemberOf(user); 187 foreach (UserGroup group in userGroups) { 188 group.Members.Remove(user); 189 UserGroupAdapter.UpdateUserGroup(group); 190 } 191 192 //Referential integrity with jobs 193 ICollection<Job> jobs = 194 JobAdapter.GetJobsOf(user); 195 foreach (Job job in jobs) { 196 JobAdapter.DeleteJob(job); 197 } 198 199 row.Delete(); 200 adapter.Update(row); 201 202 return PermOwnerAdapter.DeletePermissionOwner(user); 203 } 176 return base.Delete(user) && 177 PermOwnerAdapter.Delete(user); 204 178 } 205 179
Note: See TracChangeset
for help on using the changeset viewer.