private void GetStatisticsForLoggedUser() { using (var ctx = new TestingSystemModel()) { IRepository <Test> testRepository = RepositoryFactory.Get <Test>(); IRepository <Discipline> disciplineRepository = RepositoryFactory.Get <Discipline>(); IQueryable <Test> query = testRepository.FindBy(test => test.user_id == MainWindowVM.CurrentUser.id, ctx); Statistics.TestsCount = query.Count(); List <Test> testList = query.ToList(); var dict = new Dictionary <Test, int>(); foreach (Test test in testList) { if (test.questions.Count > 0) { dict.Add(test, test.questions.ElementAt(0).discipline_id); } } var res = dict.GroupBy(x => x.Value).ToDictionary(x => x.Key, x => x.Count()); var result = res.OrderByDescending(r => r.Value).First(); Statistics.MostTestedDiscipline = disciplineRepository.FindById(result.Key).name; } }
public int SubmitTest() { int testId; using (var ctx = new TestingSystemModel()) { IRepository <Test> testRepository = RepositoryFactory.Get <Test>(); Test newTest = new Test(); newTest.questions = QuestionInfo.TestQuestions; foreach (Question q in newTest.questions) { ctx.Questions.Attach(q); } newTest.user_id = MainWindowVM.CurrentUser.id; newTest.score = results.TestScore; testRepository.Add(newTest, ctx); testId = testRepository.FindBy(test => test.user_id == newTest.user_id, ctx).OrderByDescending(test => test.id).FirstOrDefault().id; } timer.Stop(); return(testId); }
private List <Discipline> PopulateComboBox() { IRepository <Discipline> disciplineRepository = RepositoryFactory.Get <Discipline>(); using (var ctx = new TestingSystemModel()) { return(disciplineRepository.FindBy(discipline => true, ctx).ToList()); } }
private void GetQuestionsByDiscipline(int selectionID) { IRepository <Question> questionRepository = RepositoryFactory.Get <Question>(); using (var ctx = new TestingSystemModel()) { QuestionInfo.Questions = questionRepository .FindBy((question => question.discipline_id == selectionID), ctx) .ToList(); } QuestionInfo.TestQuestions = new List <Question>(); }
public void SaveQuestions() { IRepository <Question> questionRepository = RepositoryFactory.Get <Question>(); using (var ctx = new TestingSystemModel()) { foreach (UnsavedQuestion u in AddQuestionInfo.Questions) { ctx.Disciplines.Attach(u.SelectedDiscipline); questionRepository.Add(ConvertToQuestion(u), ctx); } } }
public void PrintTest(int id) { Test test = null; IRepository <Test> testRepository = RepositoryFactory.Get <Test>(); using (var ctx = new TestingSystemModel()) { test = ctx.Tests.Find(id); ctx.Entry(test).Collection(t => t.questions).Load(); } using (StreamWriter file = new StreamWriter(fileName)) { file.WriteLine("==============================="); foreach (Question q in test.questions) { file.WriteLine(q.ToString()); file.WriteLine("==============================="); } } }
public BaseVM Authenticate(LoginModel loginInfo) { loginInfo.Password = BoundPasswordBox.Password; IRepository <User> userRepository = RepositoryFactory.Get <User>(); User userInDB = null; using (var ctx = new TestingSystemModel()) { userInDB = userRepository.FindBy(user => user.nickname.Equals(loginInfo.Username), ctx).FirstOrDefault(); } if (userInDB != null && userInDB.password.Equals(loginInfo.Password)) { MainWindowVM.CurrentUser = userInDB; BaseVM result = new TestSetupVM(); result.ResourceName = "setup"; return(result); } else { BaseVM result = new LoginVM(loginInfo, "Проблем с автентикацията на потребителя!!!"); result.ResourceName = "login"; return(result); } }