- Timestamp:
- 09/08/11 14:37:52 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs
r6721 r6723 231 231 232 232 #region HiveExperiment Methods 233 public DT. HiveExperimentGetHiveExperiment(Guid id) {234 using (var db = CreateContext()) { 235 return AddStatsToExperiment(db, DT.Convert.ToDto(db. HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == id)));236 } 237 } 238 239 private DT. HiveExperiment AddStatsToExperiment(HiveDataContext db, DT.HiveExperimentexp) {233 public DT.Job GetHiveExperiment(Guid id) { 234 using (var db = CreateContext()) { 235 return AddStatsToExperiment(db, DT.Convert.ToDto(db.Jobs.SingleOrDefault(x => x.JobId == id))); 236 } 237 } 238 239 private DT.Job AddStatsToExperiment(HiveDataContext db, DT.Job exp) { 240 240 if (exp == null) 241 241 return null; 242 242 243 var jobs = db.Tasks.Where(j => j. HiveExperimentId == exp.Id);243 var jobs = db.Tasks.Where(j => j.JobId == exp.Id); 244 244 exp.JobCount = jobs.Count(); 245 245 exp.CalculatingCount = jobs.Count(j => j.State == TaskState.Calculating); … … 248 248 } 249 249 250 public IEnumerable<DT. HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate) {251 using (var db = CreateContext()) { 252 return db. HiveExperiments.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray();253 } 254 } 255 256 public Guid AddHiveExperiment(DT. HiveExperimentdto) {257 using (var db = CreateContext()) { 258 var entity = DT.Convert.ToEntity(dto); 259 db. HiveExperiments.InsertOnSubmit(entity);260 db.SubmitChanges(); 261 return entity. HiveExperimentId;262 } 263 } 264 265 public void UpdateHiveExperiment(DT. HiveExperimentdto) {266 using (var db = CreateContext()) { 267 var entity = db. HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == dto.Id);268 if (entity == null) db. HiveExperiments.InsertOnSubmit(DT.Convert.ToEntity(dto));250 public IEnumerable<DT.Job> GetHiveExperiments(Expression<Func<Job, bool>> predicate) { 251 using (var db = CreateContext()) { 252 return db.Jobs.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray(); 253 } 254 } 255 256 public Guid AddHiveExperiment(DT.Job dto) { 257 using (var db = CreateContext()) { 258 var entity = DT.Convert.ToEntity(dto); 259 db.Jobs.InsertOnSubmit(entity); 260 db.SubmitChanges(); 261 return entity.JobId; 262 } 263 } 264 265 public void UpdateHiveExperiment(DT.Job dto) { 266 using (var db = CreateContext()) { 267 var entity = db.Jobs.FirstOrDefault(x => x.JobId == dto.Id); 268 if (entity == null) db.Jobs.InsertOnSubmit(DT.Convert.ToEntity(dto)); 269 269 else DT.Convert.ToEntity(dto, entity); 270 270 db.SubmitChanges(); … … 274 274 public void DeleteHiveExperiment(Guid id) { 275 275 using (var db = CreateContext()) { 276 var entity = db. HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == id);277 if (entity != null) db. HiveExperiments.DeleteOnSubmit(entity);278 db.SubmitChanges(); 279 } 280 } 281 #endregion 282 283 #region HiveExperimentPermission Methods284 public DT. HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {285 using (var db = CreateContext()) { 286 return DT.Convert.ToDto(db. HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId));287 } 288 } 289 290 public IEnumerable<DT. HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate) {291 using (var db = CreateContext()) { 292 return db. HiveExperimentPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray();293 } 294 } 295 296 public void AddHiveExperimentPermission(DT. HiveExperimentPermission dto) {297 using (var db = CreateContext()) { 298 var entity = DT.Convert.ToEntity(dto); 299 db. HiveExperimentPermissions.InsertOnSubmit(entity);300 db.SubmitChanges(); 301 } 302 } 303 304 public void UpdateHiveExperimentPermission(DT. HiveExperimentPermission dto) {305 using (var db = CreateContext()) { 306 var entity = db. HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == dto.HiveExperimentId && x.GrantedUserId == dto.GrantedUserId);307 if (entity == null) db. HiveExperimentPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto));276 var entity = db.Jobs.FirstOrDefault(x => x.JobId == id); 277 if (entity != null) db.Jobs.DeleteOnSubmit(entity); 278 db.SubmitChanges(); 279 } 280 } 281 #endregion 282 283 #region JobPermission Methods 284 public DT.JobPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) { 285 using (var db = CreateContext()) { 286 return DT.Convert.ToDto(db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId)); 287 } 288 } 289 290 public IEnumerable<DT.JobPermission> GetHiveExperimentPermissions(Expression<Func<JobPermission, bool>> predicate) { 291 using (var db = CreateContext()) { 292 return db.JobPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 293 } 294 } 295 296 public void AddHiveExperimentPermission(DT.JobPermission dto) { 297 using (var db = CreateContext()) { 298 var entity = DT.Convert.ToEntity(dto); 299 db.JobPermissions.InsertOnSubmit(entity); 300 db.SubmitChanges(); 301 } 302 } 303 304 public void UpdateHiveExperimentPermission(DT.JobPermission dto) { 305 using (var db = CreateContext()) { 306 var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == dto.JobId && x.GrantedUserId == dto.GrantedUserId); 307 if (entity == null) db.JobPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto)); 308 308 else DT.Convert.ToEntity(dto, entity); 309 309 db.SubmitChanges(); … … 313 313 public void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) { 314 314 using (var db = CreateContext()) { 315 var entity = db. HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);316 if (entity != null) db. HiveExperimentPermissions.DeleteOnSubmit(entity);315 var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId); 316 if (entity != null) db.JobPermissions.DeleteOnSubmit(entity); 317 317 db.SubmitChanges(); 318 318 } … … 324 324 public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission) { 325 325 using (var db = CreateContext()) { 326 HiveExperimentPermission hiveExperimentPermission = db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);326 JobPermission hiveExperimentPermission = db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId); 327 327 if (hiveExperimentPermission != null) { 328 328 if (permission == Permission.NotAllowed) { 329 329 // not allowed, delete 330 db. HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);330 db.JobPermissions.DeleteOnSubmit(hiveExperimentPermission); 331 331 } else { 332 332 // update … … 337 337 // insert 338 338 if (permission != Permission.NotAllowed) { 339 hiveExperimentPermission = new HiveExperimentPermission() { HiveExperimentId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };340 db. HiveExperimentPermissions.InsertOnSubmit(hiveExperimentPermission);339 hiveExperimentPermission = new JobPermission() { JobId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission }; 340 db.JobPermissions.InsertOnSubmit(hiveExperimentPermission); 341 341 } 342 342 } … … 621 621 public Permission GetPermissionForExperiment(Guid experimentId, Guid userId) { 622 622 using (var db = CreateContext()) { 623 HiveExperiment hiveExperiment = db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == experimentId);623 Job hiveExperiment = db.Jobs.SingleOrDefault(x => x.JobId == experimentId); 624 624 if (hiveExperiment == null) return Permission.NotAllowed; 625 625 if (hiveExperiment.OwnerUserId == userId) return Permission.Full; 626 HiveExperimentPermission permission = db.HiveExperimentPermissions.SingleOrDefault(p => p.HiveExperimentId == experimentId && p.GrantedUserId == userId);626 JobPermission permission = db.JobPermissions.SingleOrDefault(p => p.JobId == experimentId && p.GrantedUserId == userId); 627 627 return permission != null ? permission.Permission : Permission.NotAllowed; 628 628 } … … 631 631 public Guid GetExperimentForJob(Guid jobId) { 632 632 using (var db = CreateContext()) { 633 return db.Tasks.Single(j => j.TaskId == jobId). HiveExperimentId;633 return db.Tasks.Single(j => j.TaskId == jobId).JobId; 634 634 } 635 635 } … … 745 745 var usedCoresByUser = from job in db.Tasks 746 746 where job.State == TaskState.Calculating 747 group job by job. HiveExperiment.OwnerUserId into g747 group job by job.Job.OwnerUserId into g 748 748 select new { UserId = g.Key, UsedCores = g.Count() }; 749 749 … … 756 756 757 757 var executionTimesByUser = from job in db.Tasks 758 group job by job. HiveExperiment.OwnerUserId into g758 group job by job.Job.OwnerUserId into g 759 759 select new { UserId = g.Key, ExecutionTime = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) }; 760 760 foreach (var item in executionTimesByUser) { … … 768 768 var executionTimesFinishedJobs = from job in db.Tasks 769 769 where job.State == TaskState.Finished 770 group job by job. HiveExperiment.OwnerUserId into g770 group job by job.Job.OwnerUserId into g 771 771 select new { UserId = g.Key, ExecutionTimeFinishedJobs = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) }; 772 772 … … 781 781 var startToEndTimesFinishedJobs = from job in db.Tasks 782 782 where job.State == TaskState.Finished 783 group job by job. HiveExperiment.OwnerUserId into g783 group job by job.Job.OwnerUserId into g 784 784 select new { 785 785 UserId = g.Key,
Note: See TracChangeset
for help on using the changeset viewer.