コード例 #1
0
        public ActionResult CreateClosedQuestion(ExamTestQuestion question, IEnumerable<HttpPostedFileBase> fileUpload, string variantText)
        {
            JournalContext.ExamTestQuestions.InsertOnSubmit(question);
            JournalContext.SubmitChanges();
            var tVariant = new ExamTestVariant()
                               {
                                   ExamTestQuestionID = question.ExamTestQuestionID,
                                   IsCorrect = true,
                                   VariantText = variantText,
                               };
            JournalContext.ExamTestVariants.InsertOnSubmit(tVariant);

            UploadFiles(fileUpload, question);

            JournalContext.SubmitChanges();
            return RedirectToAction("Index");
        }
コード例 #2
0
 partial void DeleteExamTestQuestion(ExamTestQuestion instance);
コード例 #3
0
 partial void UpdateExamTestQuestion(ExamTestQuestion instance);
コード例 #4
0
 partial void InsertExamTestQuestion(ExamTestQuestion instance);
コード例 #5
0
		private void detach_ExamTestQuestions(ExamTestQuestion entity)
		{
			this.SendPropertyChanging();
			entity.ExamTest = null;
		}
コード例 #6
0
        public ActionResult CreateOpenQuestion(ExamTestQuestion question, IEnumerable<HttpPostedFileBase> fileUpload,
            IEnumerable<string> variants, IEnumerable<int> corrected)
        {
            var correctedCount = corrected.Count();
            if (corrected == null) RedirectToAction("Index"); // ошибка - не выбрано ни одного правильного ответа
            if (correctedCount == 0) RedirectToAction("Index"); // вопрос должен имеять хотя бы один правильный ответ
            question.AllowMultiAnswer = correctedCount > 1 ? true : false;
            //question.ExamTestID = int.Parse(ExamTestID.ToString());
            JournalContext.ExamTestQuestions.InsertOnSubmit(question);
            JournalContext.SubmitChanges();
            //question = JournalContext.ExamTestQuestions.First(q => q.ExamTestQuestionID == question.ExamTestQuestionID);

            var variantsList = variants.ToList();
            for (int i = 0; i < variantsList.Count; ++i)
            {
                if (string.IsNullOrEmpty(variantsList[i])) continue;
                //var nextVariantId = JournalContext.ExamTestVariants.Max(x => x.ExamTestVariantID) + 1;
                var tVariant = new ExamTestVariant()
                                   {
                                       ExamTestQuestionID = question.ExamTestQuestionID,
                                       //ExamTestVariantID = nextVariantId,
                                       IsCorrect = corrected.Contains(i),
                                       VariantText = variantsList[i],
                                   };
                JournalContext.ExamTestVariants.InsertOnSubmit(tVariant);
            }

            UploadFiles(fileUpload, question);

            JournalContext.SubmitChanges();
            return RedirectToAction("Index");
        }
コード例 #7
0
 public ActionResult CreateOpenQuestion(int testId)
 {
     var newQuestion = new ExamTestQuestion {ExamTestID = testId};
     return View(newQuestion);
 }
コード例 #8
0
 public ActionResult ClosedQuestion(ExamTestQuestion question, string userVariant)
 {
     TestSession.Answer(TestSession.GetQuestionById(question.ExamTestQuestionID), userVariant);
     return RedirectToAction("ProcessQuestion", new { testNumber = TestSession.CurrentQuestionNumber });
 }
コード例 #9
0
        private void UploadFiles(IEnumerable<HttpPostedFileBase> fileUpload, ExamTestQuestion question)
        {
            foreach (var file in fileUpload)
            {
                if (file == null) continue;

                var ms = new MemoryStream();
                using (ms)
                {
                    file.InputStream.CopyTo(ms);
                }
                var pictureBuffer = ms.GetBuffer();

                var tPicture = new ExamTestPicture() { Picture = pictureBuffer, ExamTestQuestionID = question.ExamTestQuestionID };
                question.ExamTestPictures.Add(tPicture);
            }
        }
コード例 #10
0
 public ActionResult OpenQuestion(ExamTestQuestion question, int[] correct)
 {
     TestSession.Answer(TestSession.GetQuestionById(question.ExamTestQuestionID), correct);
     return RedirectToAction("ProcessQuestion", new { testNumber = TestSession.CurrentQuestionNumber });
 }