- Timestamp:
- 09/08/11 10:38:36 (13 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs
r6703 r6717 24 24 using System.Linq; 25 25 using System.Linq.Expressions; 26 using HeuristicLab.Services.Hive.Common.DataTransfer; 27 using DT = HeuristicLab.Services.Hive.Common.DataTransfer; 26 using DT = HeuristicLab.Services.Hive.DataTransfer; 28 27 29 28 namespace HeuristicLab.Services.Hive.DataAccess { … … 40 39 public DT.Job GetJob(Guid id) { 41 40 using (var db = CreateContext()) { 42 return Convert.ToDto(db.Jobs.SingleOrDefault(x => x.JobId == id));41 return DT.Convert.ToDto(db.Jobs.SingleOrDefault(x => x.JobId == id)); 43 42 } 44 43 } … … 46 45 public IEnumerable<DT.Job> GetJobs(Expression<Func<Job, bool>> predicate) { 47 46 using (var db = CreateContext()) { 48 return db.Jobs.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();47 return db.Jobs.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 49 48 } 50 49 } … … 52 51 public Guid AddJob(DT.Job dto) { 53 52 using (var db = CreateContext()) { 54 var entity = Convert.ToEntity(dto);53 var entity = DT.Convert.ToEntity(dto); 55 54 db.Jobs.InsertOnSubmit(entity); 56 55 db.SubmitChanges(); … … 66 65 using (var db = CreateContext()) { 67 66 var entity = db.Jobs.FirstOrDefault(x => x.JobId == dto.Id); 68 if (entity == null) db.Jobs.InsertOnSubmit( Convert.ToEntity(dto));69 else Convert.ToEntity(dto, entity);67 if (entity == null) db.Jobs.InsertOnSubmit(DT.Convert.ToEntity(dto)); 68 else DT.Convert.ToEntity(dto, entity); 70 69 foreach (Guid pluginId in dto.PluginsNeededIds) { 71 70 if (db.RequiredPlugins.Count(p => p.PluginId == pluginId) == 0) { … … 108 107 select child).Count() > 0 109 108 orderby ar.Job.Priority descending, db.Random() 110 select Convert.ToDto(ar.Job);109 select DT.Convert.ToDto(ar.Job); 111 110 return count == 0 ? query.ToArray() : query.Take(count).ToArray(); 112 111 } … … 126 125 && ar.Job.MemoryNeeded <= slave.FreeMemory 127 126 orderby ar.Job.Priority descending, db.Random() // take random job to avoid the race condition that occurs when this method is called concurrently (the same job would be returned) 128 select Convert.ToDto(ar.Job);127 select DT.Convert.ToDto(ar.Job); 129 128 var waitingJobs = (count == 0 ? query : query.Take(count)).ToArray(); 130 129 return waitingJobs.Union(waitingParentJobs).OrderByDescending(x => x.Priority); … … 146 145 db.SubmitChanges(); 147 146 job = db.Jobs.SingleOrDefault(x => x.JobId == jobId); 148 return Convert.ToDto(job);147 return DT.Convert.ToDto(job); 149 148 } 150 149 } … … 154 153 public DT.JobData GetJobData(Guid id) { 155 154 using (var db = CreateContext(true)) { 156 return Convert.ToDto(db.JobDatas.SingleOrDefault(x => x.JobId == id));155 return DT.Convert.ToDto(db.JobDatas.SingleOrDefault(x => x.JobId == id)); 157 156 } 158 157 } … … 160 159 public IEnumerable<DT.JobData> GetJobDatas(Expression<Func<JobData, bool>> predicate) { 161 160 using (var db = CreateContext(true)) { 162 return db.JobDatas.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();161 return db.JobDatas.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 163 162 } 164 163 } … … 166 165 public Guid AddJobData(DT.JobData dto) { 167 166 using (var db = CreateContext(true)) { 168 var entity = Convert.ToEntity(dto);167 var entity = DT.Convert.ToEntity(dto); 169 168 db.JobDatas.InsertOnSubmit(entity); 170 169 db.SubmitChanges(); … … 176 175 using (var db = CreateContext(true)) { 177 176 var entity = db.JobDatas.FirstOrDefault(x => x.JobId == dto.JobId); 178 if (entity == null) db.JobDatas.InsertOnSubmit( Convert.ToEntity(dto));179 else Convert.ToEntity(dto, entity);177 if (entity == null) db.JobDatas.InsertOnSubmit(DT.Convert.ToEntity(dto)); 178 else DT.Convert.ToEntity(dto, entity); 180 179 db.SubmitChanges(); 181 180 } … … 194 193 public DT.StateLog GetStateLog(Guid id) { 195 194 using (var db = CreateContext()) { 196 return Convert.ToDto(db.StateLogs.SingleOrDefault(x => x.StateLogId == id));195 return DT.Convert.ToDto(db.StateLogs.SingleOrDefault(x => x.StateLogId == id)); 197 196 } 198 197 } … … 200 199 public IEnumerable<DT.StateLog> GetStateLogs(Expression<Func<StateLog, bool>> predicate) { 201 200 using (var db = CreateContext()) { 202 return db.StateLogs.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();201 return db.StateLogs.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 203 202 } 204 203 } … … 206 205 public Guid AddStateLog(DT.StateLog dto) { 207 206 using (var db = CreateContext()) { 208 var entity = Convert.ToEntity(dto);207 var entity = DT.Convert.ToEntity(dto); 209 208 db.StateLogs.InsertOnSubmit(entity); 210 209 db.SubmitChanges(); … … 216 215 using (var db = CreateContext()) { 217 216 var entity = db.StateLogs.FirstOrDefault(x => x.StateLogId == dto.Id); 218 if (entity == null) db.StateLogs.InsertOnSubmit( Convert.ToEntity(dto));219 else Convert.ToEntity(dto, entity);217 if (entity == null) db.StateLogs.InsertOnSubmit(DT.Convert.ToEntity(dto)); 218 else DT.Convert.ToEntity(dto, entity); 220 219 db.SubmitChanges(); 221 220 } … … 234 233 public DT.HiveExperiment GetHiveExperiment(Guid id) { 235 234 using (var db = CreateContext()) { 236 return AddStatsToExperiment(db, Convert.ToDto(db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == id)));235 return AddStatsToExperiment(db, DT.Convert.ToDto(db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == id))); 237 236 } 238 237 } … … 251 250 public IEnumerable<DT.HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate) { 252 251 using (var db = CreateContext()) { 253 return db.HiveExperiments.Where(predicate).Select(x => AddStatsToExperiment(db, Convert.ToDto(x))).ToArray();252 return db.HiveExperiments.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray(); 254 253 } 255 254 } … … 257 256 public Guid AddHiveExperiment(DT.HiveExperiment dto) { 258 257 using (var db = CreateContext()) { 259 var entity = Convert.ToEntity(dto);258 var entity = DT.Convert.ToEntity(dto); 260 259 db.HiveExperiments.InsertOnSubmit(entity); 261 260 db.SubmitChanges(); … … 267 266 using (var db = CreateContext()) { 268 267 var entity = db.HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == dto.Id); 269 if (entity == null) db.HiveExperiments.InsertOnSubmit( Convert.ToEntity(dto));270 else Convert.ToEntity(dto, entity);268 if (entity == null) db.HiveExperiments.InsertOnSubmit(DT.Convert.ToEntity(dto)); 269 else DT.Convert.ToEntity(dto, entity); 271 270 db.SubmitChanges(); 272 271 } … … 285 284 public DT.HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) { 286 285 using (var db = CreateContext()) { 287 return Convert.ToDto(db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId));286 return DT.Convert.ToDto(db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId)); 288 287 } 289 288 } … … 291 290 public IEnumerable<DT.HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate) { 292 291 using (var db = CreateContext()) { 293 return db.HiveExperimentPermissions.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();292 return db.HiveExperimentPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 294 293 } 295 294 } … … 297 296 public void AddHiveExperimentPermission(DT.HiveExperimentPermission dto) { 298 297 using (var db = CreateContext()) { 299 var entity = Convert.ToEntity(dto);298 var entity = DT.Convert.ToEntity(dto); 300 299 db.HiveExperimentPermissions.InsertOnSubmit(entity); 301 300 db.SubmitChanges(); … … 306 305 using (var db = CreateContext()) { 307 306 var entity = db.HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == dto.HiveExperimentId && x.GrantedUserId == dto.GrantedUserId); 308 if (entity == null) db.HiveExperimentPermissions.InsertOnSubmit( Convert.ToEntity(dto));309 else Convert.ToEntity(dto, entity);307 if (entity == null) db.HiveExperimentPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto)); 308 else DT.Convert.ToEntity(dto, entity); 310 309 db.SubmitChanges(); 311 310 } … … 350 349 public DT.Plugin GetPlugin(Guid id) { 351 350 using (var db = CreateContext()) { 352 return Convert.ToDto(db.Plugins.SingleOrDefault(x => x.PluginId == id));351 return DT.Convert.ToDto(db.Plugins.SingleOrDefault(x => x.PluginId == id)); 353 352 } 354 353 } … … 356 355 public IEnumerable<DT.Plugin> GetPlugins(Expression<Func<Plugin, bool>> predicate) { 357 356 using (var db = CreateContext()) { 358 return db.Plugins.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();357 return db.Plugins.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 359 358 } 360 359 } … … 362 361 public Guid AddPlugin(DT.Plugin dto) { 363 362 using (var db = CreateContext()) { 364 var entity = Convert.ToEntity(dto);363 var entity = DT.Convert.ToEntity(dto); 365 364 db.Plugins.InsertOnSubmit(entity); 366 365 db.SubmitChanges(); … … 372 371 using (var db = CreateContext()) { 373 372 var entity = db.Plugins.FirstOrDefault(x => x.PluginId == dto.Id); 374 if (entity == null) db.Plugins.InsertOnSubmit( Convert.ToEntity(dto));375 else Convert.ToEntity(dto, entity);373 if (entity == null) db.Plugins.InsertOnSubmit(DT.Convert.ToEntity(dto)); 374 else DT.Convert.ToEntity(dto, entity); 376 375 db.SubmitChanges(); 377 376 } … … 390 389 public DT.PluginData GetPluginData(Guid id) { 391 390 using (var db = CreateContext()) { 392 return Convert.ToDto(db.PluginDatas.SingleOrDefault(x => x.PluginDataId == id));391 return DT.Convert.ToDto(db.PluginDatas.SingleOrDefault(x => x.PluginDataId == id)); 393 392 } 394 393 } … … 396 395 public IEnumerable<DT.PluginData> GetPluginDatas(Expression<Func<PluginData, bool>> predicate) { 397 396 using (var db = CreateContext()) { 398 return db.PluginDatas.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();397 return db.PluginDatas.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 399 398 } 400 399 } … … 402 401 public Guid AddPluginData(DT.PluginData dto) { 403 402 using (var db = CreateContext()) { 404 var entity = Convert.ToEntity(dto);403 var entity = DT.Convert.ToEntity(dto); 405 404 db.PluginDatas.InsertOnSubmit(entity); 406 405 db.SubmitChanges(); … … 412 411 using (var db = CreateContext()) { 413 412 var entity = db.PluginDatas.FirstOrDefault(x => x.PluginId == dto.PluginId); 414 if (entity == null) db.PluginDatas.InsertOnSubmit( Convert.ToEntity(dto));415 else Convert.ToEntity(dto, entity);413 if (entity == null) db.PluginDatas.InsertOnSubmit(DT.Convert.ToEntity(dto)); 414 else DT.Convert.ToEntity(dto, entity); 416 415 db.SubmitChanges(); 417 416 } … … 430 429 public DT.Slave GetSlave(Guid id) { 431 430 using (var db = CreateContext()) { 432 return Convert.ToDto(db.Resources.OfType<Slave>().SingleOrDefault(x => x.ResourceId == id));431 return DT.Convert.ToDto(db.Resources.OfType<Slave>().SingleOrDefault(x => x.ResourceId == id)); 433 432 } 434 433 } … … 436 435 public IEnumerable<DT.Slave> GetSlaves(Expression<Func<Slave, bool>> predicate) { 437 436 using (var db = CreateContext()) { 438 return db.Resources.OfType<Slave>().Where(predicate).Select(x => Convert.ToDto(x)).ToArray();437 return db.Resources.OfType<Slave>().Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 439 438 } 440 439 } … … 442 441 public Guid AddSlave(DT.Slave dto) { 443 442 using (var db = CreateContext()) { 444 var entity = Convert.ToEntity(dto);443 var entity = DT.Convert.ToEntity(dto); 445 444 db.Resources.InsertOnSubmit(entity); 446 445 db.SubmitChanges(); … … 452 451 using (var db = CreateContext()) { 453 452 var entity = db.Resources.OfType<Slave>().FirstOrDefault(x => x.ResourceId == dto.Id); 454 if (entity == null) db.Resources.InsertOnSubmit( Convert.ToEntity(dto));455 else Convert.ToEntity(dto, entity);453 if (entity == null) db.Resources.InsertOnSubmit(DT.Convert.ToEntity(dto)); 454 else DT.Convert.ToEntity(dto, entity); 456 455 db.SubmitChanges(); 457 456 } … … 470 469 public DT.SlaveGroup GetSlaveGroup(Guid id) { 471 470 using (var db = CreateContext()) { 472 return Convert.ToDto(db.Resources.OfType<SlaveGroup>().SingleOrDefault(x => x.ResourceId == id));471 return DT.Convert.ToDto(db.Resources.OfType<SlaveGroup>().SingleOrDefault(x => x.ResourceId == id)); 473 472 } 474 473 } … … 476 475 public IEnumerable<DT.SlaveGroup> GetSlaveGroups(Expression<Func<SlaveGroup, bool>> predicate) { 477 476 using (var db = CreateContext()) { 478 return db.Resources.OfType<SlaveGroup>().Where(predicate).Select(x => Convert.ToDto(x)).ToArray();477 return db.Resources.OfType<SlaveGroup>().Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 479 478 } 480 479 } … … 484 483 if (dto.Id == Guid.Empty) 485 484 dto.Id = Guid.NewGuid(); 486 var entity = Convert.ToEntity(dto);485 var entity = DT.Convert.ToEntity(dto); 487 486 db.Resources.InsertOnSubmit(entity); 488 487 db.SubmitChanges(); … … 494 493 using (var db = CreateContext()) { 495 494 var entity = db.Resources.OfType<SlaveGroup>().FirstOrDefault(x => x.ResourceId == dto.Id); 496 if (entity == null) db.Resources.InsertOnSubmit( Convert.ToEntity(dto));497 else Convert.ToEntity(dto, entity);495 if (entity == null) db.Resources.InsertOnSubmit(DT.Convert.ToEntity(dto)); 496 else DT.Convert.ToEntity(dto, entity); 498 497 db.SubmitChanges(); 499 498 } … … 517 516 public DT.Resource GetResource(Guid id) { 518 517 using (var db = CreateContext()) { 519 return Convert.ToDto(db.Resources.SingleOrDefault(x => x.ResourceId == id));518 return DT.Convert.ToDto(db.Resources.SingleOrDefault(x => x.ResourceId == id)); 520 519 } 521 520 } … … 523 522 public IEnumerable<DT.Resource> GetResources(Expression<Func<Resource, bool>> predicate) { 524 523 using (var db = CreateContext()) { 525 return db.Resources.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();524 return db.Resources.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 526 525 } 527 526 } … … 529 528 public Guid AddResource(DT.Resource dto) { 530 529 using (var db = CreateContext()) { 531 var entity = Convert.ToEntity(dto);530 var entity = DT.Convert.ToEntity(dto); 532 531 db.Resources.InsertOnSubmit(entity); 533 532 db.SubmitChanges(); … … 539 538 using (var db = CreateContext()) { 540 539 var entity = db.Resources.FirstOrDefault(x => x.ResourceId == dto.Id); 541 if (entity == null) db.Resources.InsertOnSubmit( Convert.ToEntity(dto));542 else Convert.ToEntity(dto, entity);540 if (entity == null) db.Resources.InsertOnSubmit(DT.Convert.ToEntity(dto)); 541 else DT.Convert.ToEntity(dto, entity); 543 542 db.SubmitChanges(); 544 543 } … … 564 563 using (var db = CreateContext()) { 565 564 var job = db.Jobs.Where(x => x.JobId == jobId).Single(); 566 return job.AssignedResources.Select(x => Convert.ToDto(x.Resource)).ToArray();565 return job.AssignedResources.Select(x => DT.Convert.ToDto(x.Resource)).ToArray(); 567 566 } 568 567 } … … 575 574 var resources = new List<Resource>(); 576 575 CollectParentResources(resources, db.Resources.Where(r => r.ResourceId == resourceId).Single()); 577 return resources.Select(r => Convert.ToDto(r)).ToArray();576 return resources.Select(r => DT.Convert.ToDto(r)).ToArray(); 578 577 } 579 578 } … … 592 591 var childs = new List<DT.Resource>(); 593 592 foreach (var child in db.Resources.Where(x => x.ParentResourceId == resourceId)) { 594 childs.Add( Convert.ToDto(child));593 childs.Add(DT.Convert.ToDto(child)); 595 594 childs.AddRange(GetChildResources(child.ResourceId)); 596 595 } … … 608 607 j.StateLogs.OrderByDescending(x => x.DateTime).First().SlaveId.HasValue && 609 608 resources.Contains(j.StateLogs.OrderByDescending(x => x.DateTime).First().SlaveId.Value)); 610 return jobs.Select(j => Convert.ToDto(j)).ToArray();609 return jobs.Select(j => DT.Convert.ToDto(j)).ToArray(); 611 610 } 612 611 } … … 664 663 public DT.Downtime GetDowntime(Guid id) { 665 664 using (var db = CreateContext()) { 666 return Convert.ToDto(db.Downtimes.SingleOrDefault(x => x.DowntimeId == id));665 return DT.Convert.ToDto(db.Downtimes.SingleOrDefault(x => x.DowntimeId == id)); 667 666 } 668 667 } … … 670 669 public IEnumerable<DT.Downtime> GetDowntimes(Expression<Func<Downtime, bool>> predicate) { 671 670 using (var db = CreateContext()) { 672 return db.Downtimes.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();671 return db.Downtimes.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 673 672 } 674 673 } … … 676 675 public Guid AddDowntime(DT.Downtime dto) { 677 676 using (var db = CreateContext()) { 678 var entity = Convert.ToEntity(dto);677 var entity = DT.Convert.ToEntity(dto); 679 678 db.Downtimes.InsertOnSubmit(entity); 680 679 db.SubmitChanges(); … … 686 685 using (var db = CreateContext()) { 687 686 var entity = db.Downtimes.FirstOrDefault(x => x.DowntimeId == dto.Id); 688 if (entity == null) db.Downtimes.InsertOnSubmit( Convert.ToEntity(dto));689 else Convert.ToEntity(dto, entity);687 if (entity == null) db.Downtimes.InsertOnSubmit(DT.Convert.ToEntity(dto)); 688 else DT.Convert.ToEntity(dto, entity); 690 689 db.SubmitChanges(); 691 690 } … … 704 703 public DT.Statistics GetStatistic(Guid id) { 705 704 using (var db = CreateContext()) { 706 return Convert.ToDto(db.Statistics.SingleOrDefault(x => x.StatisticsId == id));705 return DT.Convert.ToDto(db.Statistics.SingleOrDefault(x => x.StatisticsId == id)); 707 706 } 708 707 } … … 710 709 public IEnumerable<DT.Statistics> GetStatistics(Expression<Func<Statistics, bool>> predicate) { 711 710 using (var db = CreateContext()) { 712 return db.Statistics.Where(predicate).Select(x => Convert.ToDto(x)).ToArray();711 return db.Statistics.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray(); 713 712 } 714 713 } … … 716 715 public Guid AddStatistics(DT.Statistics dto) { 717 716 using (var db = CreateContext()) { 718 var entity = Convert.ToEntity(dto);717 var entity = DT.Convert.ToEntity(dto); 719 718 db.Statistics.InsertOnSubmit(entity); 720 719 db.SubmitChanges(); 721 720 foreach (var slaveStat in dto.SlaveStatistics) { 722 721 slaveStat.Id = entity.StatisticsId; 723 db.SlaveStatistics.InsertOnSubmit( Convert.ToEntity(slaveStat));722 db.SlaveStatistics.InsertOnSubmit(DT.Convert.ToEntity(slaveStat)); 724 723 } 725 724 foreach (var userStat in dto.UserStatistics) { 726 725 userStat.Id = entity.StatisticsId; 727 db.UserStatistics.InsertOnSubmit( Convert.ToEntity(userStat));726 db.UserStatistics.InsertOnSubmit(DT.Convert.ToEntity(userStat)); 728 727 } 729 728 db.SubmitChanges();
Note: See TracChangeset
for help on using the changeset viewer.