Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/08/11 10:38:36 (13 years ago)
Author:
ascheibe
Message:

#1233

  • moved DTO's to Services.Hive project
  • removed Services.Hive.Common project
  • some cleanups
  • added DTO's for enums
File:
1 copied

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs

    r6703 r6717  
    2424using System.Linq;
    2525using System.Linq.Expressions;
    26 using HeuristicLab.Services.Hive.Common.DataTransfer;
    27 using DT = HeuristicLab.Services.Hive.Common.DataTransfer;
     26using DT = HeuristicLab.Services.Hive.DataTransfer;
    2827
    2928namespace HeuristicLab.Services.Hive.DataAccess {
     
    4039    public DT.Job GetJob(Guid id) {
    4140      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));
    4342      }
    4443    }
     
    4645    public IEnumerable<DT.Job> GetJobs(Expression<Func<Job, bool>> predicate) {
    4746      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();
    4948      }
    5049    }
     
    5251    public Guid AddJob(DT.Job dto) {
    5352      using (var db = CreateContext()) {
    54         var entity = Convert.ToEntity(dto);
     53        var entity = DT.Convert.ToEntity(dto);
    5554        db.Jobs.InsertOnSubmit(entity);
    5655        db.SubmitChanges();
     
    6665      using (var db = CreateContext()) {
    6766        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);
    7069        foreach (Guid pluginId in dto.PluginsNeededIds) {
    7170          if (db.RequiredPlugins.Count(p => p.PluginId == pluginId) == 0) {
     
    108107                           select child).Count() > 0
    109108                    orderby ar.Job.Priority descending, db.Random()
    110                     select Convert.ToDto(ar.Job);
     109                    select DT.Convert.ToDto(ar.Job);
    111110        return count == 0 ? query.ToArray() : query.Take(count).ToArray();
    112111      }
     
    126125                       && ar.Job.MemoryNeeded <= slave.FreeMemory
    127126                    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);
    129128        var waitingJobs = (count == 0 ? query : query.Take(count)).ToArray();
    130129        return waitingJobs.Union(waitingParentJobs).OrderByDescending(x => x.Priority);
     
    146145        db.SubmitChanges();
    147146        job = db.Jobs.SingleOrDefault(x => x.JobId == jobId);
    148         return Convert.ToDto(job);
     147        return DT.Convert.ToDto(job);
    149148      }
    150149    }
     
    154153    public DT.JobData GetJobData(Guid id) {
    155154      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));
    157156      }
    158157    }
     
    160159    public IEnumerable<DT.JobData> GetJobDatas(Expression<Func<JobData, bool>> predicate) {
    161160      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();
    163162      }
    164163    }
     
    166165    public Guid AddJobData(DT.JobData dto) {
    167166      using (var db = CreateContext(true)) {
    168         var entity = Convert.ToEntity(dto);
     167        var entity = DT.Convert.ToEntity(dto);
    169168        db.JobDatas.InsertOnSubmit(entity);
    170169        db.SubmitChanges();
     
    176175      using (var db = CreateContext(true)) {
    177176        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);
    180179        db.SubmitChanges();
    181180      }
     
    194193    public DT.StateLog GetStateLog(Guid id) {
    195194      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));
    197196      }
    198197    }
     
    200199    public IEnumerable<DT.StateLog> GetStateLogs(Expression<Func<StateLog, bool>> predicate) {
    201200      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();
    203202      }
    204203    }
     
    206205    public Guid AddStateLog(DT.StateLog dto) {
    207206      using (var db = CreateContext()) {
    208         var entity = Convert.ToEntity(dto);
     207        var entity = DT.Convert.ToEntity(dto);
    209208        db.StateLogs.InsertOnSubmit(entity);
    210209        db.SubmitChanges();
     
    216215      using (var db = CreateContext()) {
    217216        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);
    220219        db.SubmitChanges();
    221220      }
     
    234233    public DT.HiveExperiment GetHiveExperiment(Guid id) {
    235234      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)));
    237236      }
    238237    }
     
    251250    public IEnumerable<DT.HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate) {
    252251      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();
    254253      }
    255254    }
     
    257256    public Guid AddHiveExperiment(DT.HiveExperiment dto) {
    258257      using (var db = CreateContext()) {
    259         var entity = Convert.ToEntity(dto);
     258        var entity = DT.Convert.ToEntity(dto);
    260259        db.HiveExperiments.InsertOnSubmit(entity);
    261260        db.SubmitChanges();
     
    267266      using (var db = CreateContext()) {
    268267        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);
    271270        db.SubmitChanges();
    272271      }
     
    285284    public DT.HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
    286285      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));
    288287      }
    289288    }
     
    291290    public IEnumerable<DT.HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate) {
    292291      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();
    294293      }
    295294    }
     
    297296    public void AddHiveExperimentPermission(DT.HiveExperimentPermission dto) {
    298297      using (var db = CreateContext()) {
    299         var entity = Convert.ToEntity(dto);
     298        var entity = DT.Convert.ToEntity(dto);
    300299        db.HiveExperimentPermissions.InsertOnSubmit(entity);
    301300        db.SubmitChanges();
     
    306305      using (var db = CreateContext()) {
    307306        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);
    310309        db.SubmitChanges();
    311310      }
     
    350349    public DT.Plugin GetPlugin(Guid id) {
    351350      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));
    353352      }
    354353    }
     
    356355    public IEnumerable<DT.Plugin> GetPlugins(Expression<Func<Plugin, bool>> predicate) {
    357356      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();
    359358      }
    360359    }
     
    362361    public Guid AddPlugin(DT.Plugin dto) {
    363362      using (var db = CreateContext()) {
    364         var entity = Convert.ToEntity(dto);
     363        var entity = DT.Convert.ToEntity(dto);
    365364        db.Plugins.InsertOnSubmit(entity);
    366365        db.SubmitChanges();
     
    372371      using (var db = CreateContext()) {
    373372        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);
    376375        db.SubmitChanges();
    377376      }
     
    390389    public DT.PluginData GetPluginData(Guid id) {
    391390      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));
    393392      }
    394393    }
     
    396395    public IEnumerable<DT.PluginData> GetPluginDatas(Expression<Func<PluginData, bool>> predicate) {
    397396      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();
    399398      }
    400399    }
     
    402401    public Guid AddPluginData(DT.PluginData dto) {
    403402      using (var db = CreateContext()) {
    404         var entity = Convert.ToEntity(dto);
     403        var entity = DT.Convert.ToEntity(dto);
    405404        db.PluginDatas.InsertOnSubmit(entity);
    406405        db.SubmitChanges();
     
    412411      using (var db = CreateContext()) {
    413412        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);
    416415        db.SubmitChanges();
    417416      }
     
    430429    public DT.Slave GetSlave(Guid id) {
    431430      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));
    433432      }
    434433    }
     
    436435    public IEnumerable<DT.Slave> GetSlaves(Expression<Func<Slave, bool>> predicate) {
    437436      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();
    439438      }
    440439    }
     
    442441    public Guid AddSlave(DT.Slave dto) {
    443442      using (var db = CreateContext()) {
    444         var entity = Convert.ToEntity(dto);
     443        var entity = DT.Convert.ToEntity(dto);
    445444        db.Resources.InsertOnSubmit(entity);
    446445        db.SubmitChanges();
     
    452451      using (var db = CreateContext()) {
    453452        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);
    456455        db.SubmitChanges();
    457456      }
     
    470469    public DT.SlaveGroup GetSlaveGroup(Guid id) {
    471470      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));
    473472      }
    474473    }
     
    476475    public IEnumerable<DT.SlaveGroup> GetSlaveGroups(Expression<Func<SlaveGroup, bool>> predicate) {
    477476      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();
    479478      }
    480479    }
     
    484483        if (dto.Id == Guid.Empty)
    485484          dto.Id = Guid.NewGuid();
    486         var entity = Convert.ToEntity(dto);
     485        var entity = DT.Convert.ToEntity(dto);
    487486        db.Resources.InsertOnSubmit(entity);
    488487        db.SubmitChanges();
     
    494493      using (var db = CreateContext()) {
    495494        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);
    498497        db.SubmitChanges();
    499498      }
     
    517516    public DT.Resource GetResource(Guid id) {
    518517      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));
    520519      }
    521520    }
     
    523522    public IEnumerable<DT.Resource> GetResources(Expression<Func<Resource, bool>> predicate) {
    524523      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();
    526525      }
    527526    }
     
    529528    public Guid AddResource(DT.Resource dto) {
    530529      using (var db = CreateContext()) {
    531         var entity = Convert.ToEntity(dto);
     530        var entity = DT.Convert.ToEntity(dto);
    532531        db.Resources.InsertOnSubmit(entity);
    533532        db.SubmitChanges();
     
    539538      using (var db = CreateContext()) {
    540539        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);
    543542        db.SubmitChanges();
    544543      }
     
    564563      using (var db = CreateContext()) {
    565564        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();
    567566      }
    568567    }
     
    575574        var resources = new List<Resource>();
    576575        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();
    578577      }
    579578    }
     
    592591        var childs = new List<DT.Resource>();
    593592        foreach (var child in db.Resources.Where(x => x.ParentResourceId == resourceId)) {
    594           childs.Add(Convert.ToDto(child));
     593          childs.Add(DT.Convert.ToDto(child));
    595594          childs.AddRange(GetChildResources(child.ResourceId));
    596595        }
     
    608607          j.StateLogs.OrderByDescending(x => x.DateTime).First().SlaveId.HasValue &&
    609608          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();
    611610      }
    612611    }
     
    664663    public DT.Downtime GetDowntime(Guid id) {
    665664      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));
    667666      }
    668667    }
     
    670669    public IEnumerable<DT.Downtime> GetDowntimes(Expression<Func<Downtime, bool>> predicate) {
    671670      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();
    673672      }
    674673    }
     
    676675    public Guid AddDowntime(DT.Downtime dto) {
    677676      using (var db = CreateContext()) {
    678         var entity = Convert.ToEntity(dto);
     677        var entity = DT.Convert.ToEntity(dto);
    679678        db.Downtimes.InsertOnSubmit(entity);
    680679        db.SubmitChanges();
     
    686685      using (var db = CreateContext()) {
    687686        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);
    690689        db.SubmitChanges();
    691690      }
     
    704703    public DT.Statistics GetStatistic(Guid id) {
    705704      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));
    707706      }
    708707    }
     
    710709    public IEnumerable<DT.Statistics> GetStatistics(Expression<Func<Statistics, bool>> predicate) {
    711710      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();
    713712      }
    714713    }
     
    716715    public Guid AddStatistics(DT.Statistics dto) {
    717716      using (var db = CreateContext()) {
    718         var entity = Convert.ToEntity(dto);
     717        var entity = DT.Convert.ToEntity(dto);
    719718        db.Statistics.InsertOnSubmit(entity);
    720719        db.SubmitChanges();
    721720        foreach (var slaveStat in dto.SlaveStatistics) {
    722721          slaveStat.Id = entity.StatisticsId;
    723           db.SlaveStatistics.InsertOnSubmit(Convert.ToEntity(slaveStat));
     722          db.SlaveStatistics.InsertOnSubmit(DT.Convert.ToEntity(slaveStat));
    724723        }
    725724        foreach (var userStat in dto.UserStatistics) {
    726725          userStat.Id = entity.StatisticsId;
    727           db.UserStatistics.InsertOnSubmit(Convert.ToEntity(userStat));
     726          db.UserStatistics.InsertOnSubmit(DT.Convert.ToEntity(userStat));
    728727        }
    729728        db.SubmitChanges();
Note: See TracChangeset for help on using the changeset viewer.