public static SolveTest GetTest(int studentId, DateTime time)
        {
            using (Entities e = new Entities())
            {
                try
                {
                    SolveTest sTest   = new SolveTest();
                    test      testDal = new test();


                    var student = e.students.FirstOrDefault(s => s.userId == studentId);
                    if (student != null)
                    {
                        var teacherId = [email protected]_id;
                        var test      = e.tests.FirstOrDefault(t => t.teacherId == teacherId &&
                                                               t.test_date == time.Date && t.test_start_time <time.TimeOfDay && t.test_end_time> time.TimeOfDay);
                        var TTT = e.tests.ToList();
                        if (test != null)
                        {
                            sTest.test = TestCasting.TestToDTO(test);

                            sTest.questions = QuestionCasting.QuestionsToDTO((test.questions).ToList());
                            var x            = e.answers.ToList();
                            var questionsIds = sTest.questions.Select(t => t.question_id).ToList();
                            var y            = x.Where(a => questionsIds.Contains(a.question_id)).ToList();
                            sTest.answers = AnswerCasting.AnswersToDTO(y);
                            return(sTest);
                        }
                        throw new Exception("no test0");
                    }
                    throw new Exception("no student");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Exemple #2
0
        public Solve()
        {
            InitializeComponent();

            Closing += (s, e) => ViewModelLocator.Cleanup();
            Messenger.Default.Register <OpenWindowMessage>(
                this,
                message =>
            {
                switch (message.Type)
                {
                    #region solve test
                case WindowType.kSolveTest:

                    var solveTestVM     = SimpleIoc.Default.GetInstance <SolveTestViewModel>();
                    var solveTestWindow = new SolveTest()
                    {
                        DataContext = solveTestVM
                    };
                    string[] parsedMessage = message.Argument.Split('+');
                    solveTestVM.ClearWindow();
                    solveTestVM.Test.Id  = Int32.Parse(parsedMessage[0]);
                    solveTestVM.UserName = parsedMessage[1];
                    solveTestVM.RefreshDAO();
                    solveTestVM.LoadData();

                    if (solveTestVM.FillWindow())
                    {
                        var result = solveTestWindow.ShowDialog();

                        if (result.HasValue && result.Value)
                        {
                            result = true;
                        }
                        else
                        {
                            solveTestVM.Timer.Stop();
                        }
                    }
                    else
                    {
                        solveTestVM.Timer.Stop();
                        MessageBox.Show("This test does not have any question!");
                    }

                    break;
                    #endregion

                    #region solve single test
                case WindowType.kSolveSingleTest:

                    var solveSingleTestVM     = SimpleIoc.Default.GetInstance <SolveTestViewModel>();
                    var solveSingleTestWindow = new SolveSingleTest()
                    {
                        DataContext = solveSingleTestVM
                    };
                    parsedMessage = message.Argument.Split('+');
                    solveSingleTestVM.ClearWindow();
                    solveSingleTestVM.Test.Id  = Int32.Parse(parsedMessage[0]);
                    solveSingleTestVM.UserName = parsedMessage[1];
                    solveSingleTestVM.RefreshDAO();
                    solveSingleTestVM.LoadData();

                    if (solveSingleTestVM.FillWindow())
                    {
                        var result = solveSingleTestWindow.ShowDialog();

                        if (result.HasValue && result.Value)
                        {
                            result = true;
                        }
                        else
                        {
                            solveSingleTestVM.Timer.Stop();
                        }
                    }
                    else
                    {
                        solveSingleTestVM.Timer.Stop();
                        MessageBox.Show("This test does not have any question!");
                    }

                    break;
                    #endregion
                }
            });
        }