public ActionResult Add(ExamPrepareViewModel model) { QuestionBankDbContext Db = new QuestionBankDbContext(); PostUserLessonAndPeriod(); if (string.IsNullOrWhiteSpace(model.SinavAdi) || model.SeciliSorular == null) { if (Db.Exam.SingleOrDefault(x => x.ExamName.Equals(model.SinavAdi)) == null) { ViewBag.ErrorMessage = "Bu isimde sınav mevcuttur lütfen başka sınav ismi giriniz."; return(View()); } ViewBag.ErrorMessage = "Lütfen Sınav adı belirleyin veya soru seçiniz..."; return(View()); } else { Exam exam = new Exam() { ExamName = model.SinavAdi }; Db.Exam.Add(exam); List <ExamQuestions> lstQuestions = new List <ExamQuestions>(); foreach (var item in model.SeciliSorular) { ExamQuestions examquestions = new ExamQuestions() { QuestionID = item, ExamID = exam.ID, }; lstQuestions.Add(examquestions); } Db.ExamQuestions.AddRange(lstQuestions); Db.SaveChanges(); ViewBag.Message = exam.ExamName + " Sınavı başarıyla oluşturulmuştur..."; } return(View()); }
public ActionResult LessonPeriodQuestions(ExamPrepareViewModel model) { if (model.DersID == 0 || model.DonemID == 0) { PostUserLessonAndPeriod(); ViewBag.ErrorMessage = "Hata! Lütfen ders ve soru dönemini seçiniz "; return(View("Add")); } else { PostUserLessonAndPeriod(); QuestionBankDbContext Db = new QuestionBankDbContext(); List <ExamPrepareViewModel> lstquestions = new List <ExamPrepareViewModel>(); foreach (var item in Db.Question.Where(x => x.Topic.LessonID.Equals(model.DersID) && x.QuestionPeriodID.Equals(model.DonemID)).ToList()) { ExamPrepareViewModel newquestions = new ExamPrepareViewModel(); newquestions.questions = item; lstquestions.Add(newquestions); } return(View("Add", lstquestions)); } }
public ActionResult OtoAdd(ExamPrepareViewModel model) { QuestionBankDbContext Db = new QuestionBankDbContext(); PostUserLessonAndPeriod(); ModelState.Remove("SeciliSorular"); ModelState.Remove("SoruPuani"); ModelState.Remove("questions"); if (ModelState.IsValid) { if (Db.Exam.SingleOrDefault(x => x.ExamName.Equals(model.SinavAdi)) == null) { List <Question> questions = new List <Question>(); var sorular = Db.Question.ToList().Where(x => x.Topic.LessonID.Equals(model.DersID) && x.QuestionPeriodID.Equals(model.DonemID)).ToList(); foreach (var item in sorular) { int puan = 0; if (item.QuestionType.QuestionTypeName.Equals("Klasik")) { puan = model.KlasikSoruPuan; } else if (item.QuestionType.QuestionTypeName.Equals("Test")) { puan = model.TestSoruPuan; } else if (item.QuestionType.QuestionTypeName.Equals("Boşluk Doldurma")) { puan = model.BoslukSoruPuan; } questions.Add(item); } List <Question> SeciliAdetSoru = new List <Question>(); SeciliAdetSoru.AddRange(sorular.Where(x => x.QuestionType.QuestionTypeName.Equals("Klasik")).OrderBy(x => Guid.NewGuid()).Take(model.KlasikSoruAdet)); SeciliAdetSoru.AddRange(sorular.Where(x => x.QuestionType.QuestionTypeName.Equals("Test")).OrderBy(x => Guid.NewGuid()).Take(model.TestSoruAdet)); SeciliAdetSoru.AddRange(sorular.Where(x => x.QuestionType.QuestionTypeName.Equals("Boşluk Doldurma")).OrderBy(x => Guid.NewGuid()).Take(model.BoslukSoruAdet)); Exam exam = new Exam() { ExamName = model.SinavAdi }; Db.Exam.Add(exam); List <ExamQuestions> SecilmisEklenecekSorular = new List <ExamQuestions>(); foreach (var item in SeciliAdetSoru) { ExamQuestions examQuestions = new ExamQuestions() { QuestionID = item.ID, ExamID = exam.ID, }; SecilmisEklenecekSorular.Add(examQuestions); } Db.ExamQuestions.AddRange(SecilmisEklenecekSorular); Db.SaveChanges(); ViewBag.Message = exam.ExamName + " Sınavı başarıyla oluşturulmuştur..."; } else { ViewBag.EMessage = $"<div class='alert alert-danger'><strong>Böyle bir sınav mevcuttur lütfen yeni bir sınav adı giriniz...!</strong> </div>"; } } else { ViewBag.EMessage = $"<div class='alert alert-danger'><strong>Hata!</strong> </div>"; } return(View("Add")); }