change JobTask to SiteTask
This commit is contained in:
@@ -136,6 +136,6 @@ namespace Oqtane.Repository
|
||||
public virtual DbSet<MigrationHistory> MigrationHistory { get; set; }
|
||||
public virtual DbSet<SiteGroup> SiteGroup { get; set; }
|
||||
public virtual DbSet<SiteGroupMember> SiteGroupMember { get; set; }
|
||||
public virtual DbSet<JobTask> JobTask { get; set; }
|
||||
public virtual DbSet<SiteTask> SiteTask { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface IJobTaskRepository
|
||||
{
|
||||
IEnumerable<JobTask> GetJobTasks(int siteId);
|
||||
JobTask GetJobTask(int jobTaskId);
|
||||
JobTask AddJobTask(JobTask jobTask);
|
||||
JobTask UpdateJobTask(JobTask jobTask);
|
||||
void DeleteJobTask(int jobTaskId);
|
||||
}
|
||||
|
||||
public class JobTaskRepository : IJobTaskRepository
|
||||
{
|
||||
private TenantDBContext _db;
|
||||
|
||||
public JobTaskRepository(TenantDBContext context)
|
||||
{
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<JobTask> GetJobTasks(int siteId)
|
||||
{
|
||||
return _db.JobTask.Where(item => item.SiteId == siteId && !item.IsCompleted).OrderBy(item => item.CreatedOn);
|
||||
}
|
||||
|
||||
public JobTask GetJobTask(int jobTaskId)
|
||||
{
|
||||
return _db.JobTask.SingleOrDefault(item => item.JobTaskId == jobTaskId);
|
||||
}
|
||||
|
||||
public JobTask AddJobTask(JobTask jobTask)
|
||||
{
|
||||
_db.JobTask.Add(jobTask);
|
||||
_db.SaveChanges();
|
||||
return jobTask;
|
||||
}
|
||||
public JobTask UpdateJobTask(JobTask jobTask)
|
||||
{
|
||||
_db.Entry(jobTask).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return jobTask;
|
||||
}
|
||||
|
||||
public void DeleteJobTask(int jobTaskId)
|
||||
{
|
||||
JobTask jobTask = _db.JobTask.Find(jobTaskId);
|
||||
_db.JobTask.Remove(jobTask);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
82
Oqtane.Server/Repository/SiteTaskRepository.cs
Normal file
82
Oqtane.Server/Repository/SiteTaskRepository.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface ISiteTaskRepository
|
||||
{
|
||||
IEnumerable<SiteTask> GetSiteTasks(int siteId);
|
||||
SiteTask GetSiteTask(int siteTaskId);
|
||||
SiteTask AddSiteTask(SiteTask siteTask);
|
||||
SiteTask UpdateSiteTask(SiteTask siteTask);
|
||||
void DeleteSiteTask(int siteTaskId);
|
||||
int DeleteSiteTasks(int siteId, int age);
|
||||
}
|
||||
|
||||
public class SiteTaskRepository : ISiteTaskRepository
|
||||
{
|
||||
private readonly IDbContextFactory<TenantDBContext> _dbContextFactory;
|
||||
|
||||
public SiteTaskRepository(IDbContextFactory<TenantDBContext> dbContextFactory)
|
||||
{
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
public IEnumerable<SiteTask> GetSiteTasks(int siteId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteTask.Where(item => item.SiteId == siteId && !item.IsCompleted).OrderBy(item => item.CreatedOn);
|
||||
}
|
||||
|
||||
public SiteTask GetSiteTask(int siteTaskId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteTask.SingleOrDefault(item => item.SiteTaskId == siteTaskId);
|
||||
}
|
||||
|
||||
public SiteTask AddSiteTask(SiteTask siteTask)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.SiteTask.Add(siteTask);
|
||||
db.SaveChanges();
|
||||
return siteTask;
|
||||
}
|
||||
public SiteTask UpdateSiteTask(SiteTask siteTask)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.Entry(siteTask).State = EntityState.Modified;
|
||||
db.SaveChanges();
|
||||
return siteTask;
|
||||
}
|
||||
|
||||
public void DeleteSiteTask(int siteTaskId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
SiteTask siteTask = db.SiteTask.Find(siteTaskId);
|
||||
db.SiteTask.Remove(siteTask);
|
||||
db.SaveChanges();
|
||||
}
|
||||
|
||||
public int DeleteSiteTasks(int siteId, int age)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
// delete completed tasks in batches of 100 records
|
||||
var count = 0;
|
||||
var purgedate = DateTime.UtcNow.AddDays(-age);
|
||||
var tasks = db.SiteTask.Where(item => item.SiteId == siteId && item.IsCompleted && item.CreatedOn < purgedate)
|
||||
.OrderBy(item => item.CreatedOn).Take(100).ToList();
|
||||
while (tasks.Count > 0)
|
||||
{
|
||||
count += tasks.Count;
|
||||
db.SiteTask.RemoveRange(tasks);
|
||||
db.SaveChanges();
|
||||
tasks = db.SiteTask.Where(item => item.SiteId == siteId && item.IsCompleted && item.CreatedOn < purgedate)
|
||||
.OrderBy(item => item.CreatedOn).Take(100).ToList();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user