ClearLogAction.cs
1.24 KB
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Quartz;
using WebRepository;
namespace WebMvc
{
[PersistJobDataAfterExecution]
[DisallowConcurrentExecution]
public class ClearLogAction
{
private IJobExecutionContext Context { set; get; }
public ClearLogAction(IJobExecutionContext _Context)
{
Context = _Context;
}
public void Execute(JobContainer jobContainer)
{
var _unitWork = jobContainer._unitWork;
var DynamicObject = JsonConvert.DeserializeObject<dynamic>(jobContainer.MethodParams);
string LogName = DynamicObject.LogName;
int Days = DynamicObject.Days;
#region 执行任务
_unitWork.Delete<SysOperLog>(u => u.CreateTime < DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
_unitWork.Delete<SysJobLog>(u => u.CreateTime < DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
_unitWork.Delete<SysInterfaceLog>(u => u.CreateTime < DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
_unitWork.Delete<SysLoginLog>(u => u.LoginTime < DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
#endregion
}
}
}