根据日期获取所有页面上 运行 的代码
Getting code to run on all pages based on date
我正在尝试创建一个包含两个主要部分的程序:项目和审计
一个项目将有一个开始日期和一个数字,它会告诉它距离完成还有多少天(它们都是预设的)。
我需要在项目完成前一天创建审计。
到目前为止没什么大不了的。
我预见并正在努力解决的问题是:
我怎样才能有效地维护它?我正在使用 MVC4 并尝试过 Action Filters。我在每个页面上都有代码 运行 - 以涵盖访问该站点的任何自定义 url。但是,这似乎大大减慢了速度。这是我目前所拥有的:
public class CreateAuditsController : ActionFilterAttribute
{
private QAAPPEntities db = new QAAPPEntities();
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
CreateAuditsFromProjects();
base.OnActionExecuted(filterContext);
}
public void CreateAuditsFromProjects()
{
// Generate list of Research Projects
List<ResearchProject> allResearchProjects = db.ResearchProjects.Include(a => a.ResearchProjectStatus).ToList();
// Cycle through those to see which ones need audits created
for (int i = 0; i < allResearchProjects.Count; i++)
{
// Get current looped project for further use
ResearchProject currentLoopedProject = allResearchProjects[i];
if (currentLoopedProject.Description == "Some Description")
{
Audit auditToAdd = new Audit();
auditToAdd.ResearchProjectID = currentLoopedProject.ResearchProjectID;
auditToAdd.Name = "Some Name";
auditToAdd.AssignedQAID = 1;
auditToAdd.CreatedDate = DateTime.Now;
auditToAdd.AuditStatusID = 1;
auditToAdd.AuditTypeID = 1;
db.Audits.Add(auditToAdd);
db.SaveChanges();
}
}
db.SaveChanges();
// Create audits
}
}
感谢任何帮助。
我正在尝试创建一个包含两个主要部分的程序:项目和审计
一个项目将有一个开始日期和一个数字,它会告诉它距离完成还有多少天(它们都是预设的)。
我需要在项目完成前一天创建审计。
到目前为止没什么大不了的。
我预见并正在努力解决的问题是:
我怎样才能有效地维护它?我正在使用 MVC4 并尝试过 Action Filters。我在每个页面上都有代码 运行 - 以涵盖访问该站点的任何自定义 url。但是,这似乎大大减慢了速度。这是我目前所拥有的:
public class CreateAuditsController : ActionFilterAttribute
{
private QAAPPEntities db = new QAAPPEntities();
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
CreateAuditsFromProjects();
base.OnActionExecuted(filterContext);
}
public void CreateAuditsFromProjects()
{
// Generate list of Research Projects
List<ResearchProject> allResearchProjects = db.ResearchProjects.Include(a => a.ResearchProjectStatus).ToList();
// Cycle through those to see which ones need audits created
for (int i = 0; i < allResearchProjects.Count; i++)
{
// Get current looped project for further use
ResearchProject currentLoopedProject = allResearchProjects[i];
if (currentLoopedProject.Description == "Some Description")
{
Audit auditToAdd = new Audit();
auditToAdd.ResearchProjectID = currentLoopedProject.ResearchProjectID;
auditToAdd.Name = "Some Name";
auditToAdd.AssignedQAID = 1;
auditToAdd.CreatedDate = DateTime.Now;
auditToAdd.AuditStatusID = 1;
auditToAdd.AuditTypeID = 1;
db.Audits.Add(auditToAdd);
db.SaveChanges();
}
}
db.SaveChanges();
// Create audits
}
}
感谢任何帮助。