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
Location:
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Maintenance/3.3/WebApi
Files:
4 edited

Legend:

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

    r12777 r12858  
    3636
    3737    public DT.FactClientInfo GetFactClientInfo(DateTime start, DateTime end) {
    38       using (var pm = PersistenceManager) {
    39         var factClientInfo = pm.FactClientInfoDao;
    40         var query = factClientInfo.GetAll().Where(x => x.Time >= start && x.Time <= end);
    41         return new DT.FactClientInfo {
    42           Rows = query.Count(),
    43           Clients = query.Select(x => x.ClientId).Distinct().Count()
    44         };
    45       }
     38      var pm = PersistenceManager;
     39      var factClientInfo = pm.FactClientInfoDao;
     40      var query = factClientInfo.GetAll().Where(x => x.Time >= start && x.Time <= end);
     41      return new DT.FactClientInfo {
     42        Rows = query.Count(),
     43        Clients = query.Select(x => x.ClientId).Distinct().Count()
     44      };
    4645    }
    4746
    4847    public void Aggregate(DateTime start, DateTime end, int entries) {
    49       using (var pm = PersistenceManager) {
    50         var factClientInfoDao = pm.FactClientInfoDao;
    51         var dimTimeDao = pm.DimTimeDao;
    52         var clientIds = pm.UseTransaction(() => factClientInfoDao.GetAll()
    53           .Where(x => x.Time >= start && x.Time <= end)
    54           .Select(x => x.ClientId)
    55           .Distinct()
    56         );
    57         foreach (var id in clientIds) {
    58           AggregateClient(pm, id, start, end, entries);
    59         }
    60         dimTimeDao.DeleteUnusedTimes();
     48      var pm = PersistenceManager;
     49      var factClientInfoDao = pm.FactClientInfoDao;
     50      var dimTimeDao = pm.DimTimeDao;
     51      var clientIds = pm.UseTransaction(() => factClientInfoDao.GetAll()
     52        .Where(x => x.Time >= start && x.Time <= end)
     53        .Select(x => x.ClientId)
     54        .Distinct()
     55      );
     56      foreach (var id in clientIds) {
     57        AggregateClient(pm, id, start, end, entries);
    6158      }
     59      dimTimeDao.DeleteUnusedTimes();
    6260    }
    6361
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Maintenance/3.3/WebApi/FactTaskController.cs

    r12761 r12858  
    3535
    3636    public DT.JobPage GetJobs(DateTime start, DateTime end, int page, int size) {
    37       using (var pm = PersistenceManager) {
    38         var dimJobDao = pm.DimJobDao;
    39         var factTaskDao = pm.FactTaskDao;
    40         return pm.UseTransaction(() => {
    41           var query = dimJobDao.GetAll().Where(x => x.DateCreated >= start && x.DateCreated <= end);
    42           return new DT.JobPage {
    43             TotalJobs = query.Count(),
    44             Jobs = query.OrderBy(x => x.DateCreated)
    45               .Skip((page - 1) * size)
    46               .Take(size)
    47               .Select(x => new DT.Job {
    48                 Id = x.JobId,
    49                 Name = x.JobName,
    50                 Username = x.UserName,
    51                 DateCreated = x.DateCreated,
    52                 Tasks = x.TotalTasks,
    53                 Aggregated = !(factTaskDao.GetAll().Count(y => y.JobId == x.JobId) > 1)
    54               })
    55               .ToList()
    56           };
    57         });
    58       }
     37      var pm = PersistenceManager;
     38      var dimJobDao = pm.DimJobDao;
     39      var factTaskDao = pm.FactTaskDao;
     40      return pm.UseTransaction(() => {
     41        var query = dimJobDao.GetAll().Where(x => x.DateCreated >= start && x.DateCreated <= end);
     42        return new DT.JobPage {
     43          TotalJobs = query.Count(),
     44          Jobs = query.OrderBy(x => x.DateCreated)
     45            .Skip((page - 1) * size)
     46            .Take(size)
     47            .Select(x => new DT.Job {
     48              Id = x.JobId,
     49              Name = x.JobName,
     50              Username = x.UserName,
     51              DateCreated = x.DateCreated,
     52              Tasks = x.TotalTasks,
     53              Aggregated = !(factTaskDao.GetAll().Count(y => y.JobId == x.JobId) > 1)
     54            })
     55            .ToList()
     56        };
     57      });
    5958    }
    6059
    6160    [HttpPost]
    6261    public void AggregateJob(Guid id) {
    63       using (var pm = PersistenceManager) {
    64         AggregateJob(pm, id);
    65       }
     62      var pm = PersistenceManager;
     63      AggregateJob(pm, id);
    6664    }
    6765
    6866    [HttpPost]
    6967    public void AggregateAllJobs(DateTime start, DateTime end) {
    70       using (var pm = PersistenceManager) {
    71         var dimJobDao = pm.DimJobDao;
    72         var jobIds = pm.UseTransaction(() => dimJobDao.GetAll()
    73           .Where(x => x.DateCreated >= start && x.DateCreated <= end)
    74           .Select(x => x.JobId)
    75           .ToList()
    76         );
    77         foreach (var id in jobIds) {
    78           AggregateJob(pm, id);
    79         }
     68      var pm = PersistenceManager;
     69      var dimJobDao = pm.DimJobDao;
     70      var jobIds = pm.UseTransaction(() => dimJobDao.GetAll()
     71        .Where(x => x.DateCreated >= start && x.DateCreated <= end)
     72        .Select(x => x.JobId)
     73        .ToList()
     74      );
     75      foreach (var id in jobIds) {
     76        AggregateJob(pm, id);
    8077      }
    8178    }
  • 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  }
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Maintenance/3.3/WebApi/SpaceUsageController.cs

    r12761 r12858  
    5151        "UserPriority"
    5252      };
    53       using (var pm = PersistenceManager) {
    54         return pm.UseTransaction(() => (
     53      var pm = PersistenceManager;
     54      return pm.UseTransaction(() => (
    5555          from table in tables
    5656          select pm.GetTableInformation(table) into tableInformation
     
    5959          ).ToList()
    6060        );
    61       }
    6261    }
    6362
     
    7170        "statistics.FactTask"
    7271      };
    73       using (var pm = PersistenceManager) {
    74         return pm.UseTransaction(() => (
     72      var pm = PersistenceManager;
     73      return pm.UseTransaction(() => (
    7574          from table in tables
    7675          select pm.GetTableInformation(table) into tableInformation
     
    7978          ).ToList()
    8079        );
    81       }
    8280    }
    8381
Note: See TracChangeset for help on using the changeset viewer.