private static void ReCompile(List <TblUserAnswers> answersForReCompilation) { foreach (var n in answersForReCompilation) { CompilationTestManager.GetNewManager(n).ReCompile(); } }
public void ReCompileButtonClick(object sender, EventArgs e) { var selectedGroup = ServerModel.DB.Load <TblGroups>(int.Parse(GroupDropDownList.SelectedItem.Value)); var usersIds = ServerModel.DB.LookupMany2ManyIds <TblUsers>(selectedGroup, null); var users = ServerModel.DB.Load <TblUsers>(usersIds); if (ThemeDropDownList.SelectedItem != null) { var selectedTheme = ServerModel.DB.Load <TblThemes>(int.Parse(ThemeDropDownList.SelectedItem.Value)); var pagesIds = ServerModel.DB.LookupIds <TblPages>(selectedTheme, null); var pages = ServerModel.DB.Load <TblPages>(pagesIds); var answersForReCompilation = new List <TblUserAnswers>(); foreach (var page in pages) { var questionsIds = ServerModel.DB.LookupIds <TblQuestions>(page, null); foreach (var u in users) { var userAnswerIds = ServerModel.DB.LookupIds <TblUserAnswers>(u, null); var userAnswers = ServerModel.DB.Load <TblUserAnswers>(userAnswerIds); var compiledAnswers = new List <TblUserAnswers>(); foreach (var ua in userAnswers) { if (ua.IsCompiledAnswer) { compiledAnswers.Add(ua); } } foreach (var q in questionsIds) { var answersForQuestion = new List <TblUserAnswers>(); foreach (var c in compiledAnswers) { if (c.QuestionRef == q) { answersForQuestion.Add(c); } } var lstUserAnswer = StatisticManager.FindLatestUserAnswer(answersForQuestion); if (lstUserAnswer != null) { answersForReCompilation.Add(lstUserAnswer); } } } } foreach (var n in answersForReCompilation) { CompilationTestManager.GetNewManager(n).ReCompile(); } Description.Value = "ReCompilation is started"; } else { Description.Value = "Theme not selected !!!"; } }