나는 두 가지 주요 부분으로 프로그램을 작성하려고에 따라 모든 페이지에 실행 완료 될 때까지 (모두 사전 설정 됨).얻기 코드는 날짜
프로젝트가 완료되기 하루 전으로 말하면 감사를 만들어야합니다.
지금까지 별거 아니야.
난을 forsee과 답변을하는 방법을 고민하고 문제는 다음과 같습니다
I 효율적이 어떻게 유지할 수 있습니다? 나는 MVC4를 사용하고 Action Filter를 시도했다. 모든 페이지에서 코드 실행 - 사이트에 액세스하는 모든 사용자 정의 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
}
}
어떤 도움을 주시면 감사하겠습니다.