示例#1
0
 public List <QuestionDTO> GetQuestions()
 {
     using (Entities e = new Entities())
     {
         return(QuestionCasting.QuestionsToDTO(e.questions.ToList()));
     }
 }
 public static QuestionDTO AddQuestion(QuestionDTO question, List <AnswerDTO> answers)
 {
     using (Entities e = new Entities())
     {
         try
         {
             if (e.sub_category.FirstOrDefault(c => c.sub_category_id == question.sub_category_id) == null)
             {
                 throw new Exception("sub category id is not exists");
             }
             var q = e.questions.Add(QuestionCasting.QuestionToDAL(question));
             e.SaveChanges();
             for (int i = 0; i < answers.Count; i++)
             {
                 answers[i].question_id = q.question_id;
             }
             e.answers.AddRange(AnswerCasting.AnswersToDAL(answers).ToList());
             e.SaveChanges();
             return(QuestionCasting.QuestionToDTO(q));
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
示例#3
0
 //create a simple test
 public static WebResult AddSimpleTest(SimpleTest newtest)
 {
     using (Entities e = new Entities())
     {
         WebResult wb = new WebResult();
         try
         {
             //add new test
             var t = e.tests.Add(TestCasting.TestToDAL(newtest.test));
             //add classes o the new test
             t.classes = ClassCasting.ClassesToDAL(newtest.classes);
             //add questions to the new test
             t.questions = QuestionCasting.QuestionsToDAL(newtest.questions);
             wb.status   = true;
             wb.message  = "succeed";
             wb.value    = TestCasting.TestToDTO(t);
             e.SaveChanges();
             return(wb);
         }
         catch (Exception ex)
         {
             wb.status  = false;
             wb.message = ex.Message;
             return(wb);
         }
     }
 }
 public static List <QuestionDTO> GetQuestionsForTeacher(int teacherId)
 {
     using (Entities e = new Entities())
     {
         var ques = e.questions.ToList();
         var q    = ques.Where(qu => qu.sub_category.category.teacher_id == teacherId);
         return(QuestionCasting.QuestionsToDTO(q.ToList()));
     }
 }
 public static List <QuestionDTO> GetQuestions(int subCategoryId, int level)
 {
     using (Entities e = new Entities())
     {
         return(QuestionCasting.QuestionsToDTO
                    (e.questions.Where(q => q.question_level == level &&
                                       q.sub_category_id == subCategoryId).ToList()));
     }
 }
示例#6
0
 public QuestionDTO GetQuestion(int teacherId, int sub_categoryId, int level = 0, int typeId = 0)
 {
     using (Entities e = new Entities())
     {
         return(QuestionCasting.QuestionToDTO(e.questions.FirstOrDefault(q => ((q.sub_category_id == sub_categoryId
                                                                                ) && (level == 0 || q.question_level == level
                                                                                      ) && (typeId == 0 || q.type_id == typeId
                                                                                            ) && (q.sub_category.category.teacher_id == teacherId)))));
     }
 }
示例#7
0
 public static QuestionDTO AddQuestion(QuestionDTO question)
 {
     using (Entities e = new Entities())
     {
         try
         {
             if (e.sub_category.FirstOrDefault(c => c.sub_category_id == question.sub_category_id) == null)
             {
                 throw new Exception("sub category id is not exists");
             }
             var q = e.questions.Add(QuestionCasting.QuestionToDAL(question));
             e.SaveChanges();
             return(QuestionCasting.QuestionToDTO(q));
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
示例#8
0
        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;
                }
            }
        }