我試圖創建具有兩個主要部分程序的所有頁面上運行直到完成(它們都是預設的)。獲取代碼,以基於日期
我需要在項目完成前一天創建審計。
到目前爲止沒有什麼大不了的。
我預見並正與該怎麼回答掙扎的問題是:
我怎樣纔能有效地維護這個?我正在使用MVC4並嘗試了Action Filter。我在每個頁面上運行代碼 - 以覆蓋訪問該網站的任何自定義網址。但是,這似乎大大減緩了事態。這是我到目前爲止:
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
}
}
任何幫助表示讚賞。