Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/13/15 15:22:51 (9 years ago)
Author:
ascheibe
Message:

#2388

  • prevent disposing of hive data context
  • more cleanups
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Maintenance/3.3/WebApi/PluginController.cs

    r12769 r12858  
    3434
    3535    public DT.PluginPage GetUnusedPlugins(int page, int size) {
    36       using (var pm = PersistenceManager) {
    37         var pluginDao = pm.PluginDao;
    38         var requiredPluginDao = pm.RequiredPluginDao;
    39         var taskDao = pm.TaskDao;
    40         return pm.UseTransaction(() => {
    41           var taskIds = taskDao.GetAll().Select(x => x.TaskId);
    42           var usedPluginIds = requiredPluginDao.GetAll()
    43             .Where(x => taskIds.Contains(x.TaskId))
    44             .Select(x => x.PluginId)
    45             .Distinct();
    46           var query = pluginDao.GetAll().Where(x => !usedPluginIds.Any(y => y == x.PluginId));
    47           return new DT.PluginPage {
    48             TotalPlugins = query.Count(),
    49             Plugins = query.OrderBy(x => x.DateCreated).ThenBy(x => x.Name)
    50               .Skip((page - 1) * size)
    51               .Take(size).Select(x => new DT.Plugin {
    52                 Id = x.PluginId,
    53                 Name = x.Name,
    54                 Version = x.Version,
    55                 DateCreated = x.DateCreated
    56               })
    57               .ToList()
    58           };
    59         });
    60       }
     36      var pm = PersistenceManager;
     37      var pluginDao = pm.PluginDao;
     38      var requiredPluginDao = pm.RequiredPluginDao;
     39      var taskDao = pm.TaskDao;
     40      return pm.UseTransaction(() => {
     41        var taskIds = taskDao.GetAll().Select(x => x.TaskId);
     42        var usedPluginIds = requiredPluginDao.GetAll()
     43          .Where(x => taskIds.Contains(x.TaskId))
     44          .Select(x => x.PluginId)
     45          .Distinct();
     46        var query = pluginDao.GetAll().Where(x => !usedPluginIds.Any(y => y == x.PluginId));
     47        return new DT.PluginPage {
     48          TotalPlugins = query.Count(),
     49          Plugins = query.OrderBy(x => x.DateCreated).ThenBy(x => x.Name)
     50            .Skip((page - 1) * size)
     51            .Take(size).Select(x => new DT.Plugin {
     52              Id = x.PluginId,
     53              Name = x.Name,
     54              Version = x.Version,
     55              DateCreated = x.DateCreated
     56            })
     57            .ToList()
     58        };
     59      });
    6160    }
    6261
    6362    [HttpPost]
    6463    public void DeletePlugin(Guid id) {
    65       using (var pm = PersistenceManager) {
    66         var pluginDao = pm.PluginDao;
    67         pm.UseTransaction(() => {
    68           pluginDao.Delete(id);
    69           pm.SubmitChanges();
    70         });
    71       }
     64      var pm = PersistenceManager;
     65      var pluginDao = pm.PluginDao;
     66      pm.UseTransaction(() => {
     67        pluginDao.Delete(id);
     68        pm.SubmitChanges();
     69      });
    7270    }
    7371
    7472    [HttpPost]
    7573    public void DeleteUnusedPlugins() {
    76       using (var pm = PersistenceManager) {
    77         var pluginDao = pm.PluginDao;
    78         pm.UseTransaction(() => {
    79           pluginDao.DeleteUnusedPlugins();
    80           pm.SubmitChanges();
    81         });
    82       }
     74      var pm = PersistenceManager;
     75      var pluginDao = pm.PluginDao;
     76      pm.UseTransaction(() => {
     77        pluginDao.DeleteUnusedPlugins();
     78        pm.SubmitChanges();
     79      });
    8380    }
    8481  }
Note: See TracChangeset for help on using the changeset viewer.