public async System.Threading.Tasks.Task AddQuestionForTopic() { using var dbContext = this.GetDbContext(); using var unity = new UnitofWork(dbContext); dbContext.Questions.Add(new Models.Questions { Id = Guid.NewGuid(), Question = "question1", Tags = "c#" }); dbContext.Questions.Add(new Models.Questions { Id = Guid.NewGuid(), Question = "question2", Tags = "asp" }); dbContext.Questions.Add(new Models.Questions { Id = Guid.NewGuid(), Question = "question3", Tags = "azure" }); await dbContext.SaveChangesAsync(); Models.Questions newquestion = new Models.Questions() { Question = "question4", Tags = "azure" }; var service = new QuestionsController(unity); var result = await service.AddQuestionsAsync(newquestion); Xunit.Assert.NotNull(result); }
public ActionResult QuestionGridViewPartialUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] Models.Questions item, [ModelBinder(typeof(DevExpressEditorsBinder))] List <string> choicesList) { if (ModelState.IsValid) { try { var question = unitOfWork.QuestionsRepo.Find(m => m.Id == item.Id); question.Question = item.Question; foreach (var i in choicesList) { var id = Convert.ToInt32(i); question.Choices.Add(unitOfWork.ChoicesRepo.Find(m => m.Id == id)); } unitOfWork.Save(); // Insert here a code to update the item in your model } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } var model = unitOfWork.QuestionsRepo.Get(includeProperties: "Campaigns"); return(PartialView("_QuestionGridViewPartial", model)); }
public void Post([FromBody] Models.Questions question) { context.Questions.Add(new Models.Questions() { Text = "test" }); context.SaveChanges(); }
public void EditExam(string formdata, string examDetails, int examID) { Users currentTeacher = new Users(); Exam examToEdit = new Exam(); Exam examBeforeEdit = new Exam(); examToEdit = Database.Session.Load <Exam>(examID); // düzenleyeceğimiz sınavı çekiyoruz. IList <Models.Questions> currentExamsQuestions; var questionsArray = JsonConvert.DeserializeObject <List <FormData> >(formdata); // JSON.Stringify'dan model kullanarak normal array'e çeviriyoruz. var examDetailsArray = JsonConvert.DeserializeObject <List <GetFormData> >(examDetails); // JSON.Stringify'dan model kullanarak normal array'e çeviriyoruz. var examDuration = examDetailsArray[1].Value; // sınav süresi verisi string[] examDateStr = examDetailsArray[2].Value.ToString().Split('-'); // sınav tarih verisini bölüyoruz çünkü sayfada tarih verisi değiştirilmemişse // hata veriyor, arada - olmadığı için. Burda bölünüp bölünmediğine bakıyoruz kısaca. DateTime examFullDate; string dateString; if (examDateStr.Count <string>() == 1) { examFullDate = Convert.ToDateTime(examDateStr[0]); dateString = examFullDate.ToString("dd/MM/yyyy HH:mm"); examFullDate = DateTime.ParseExact(dateString, "dd/MM/yyyy HH:mm", null); } else { var degisken = examDateStr[0].TrimEnd(' ') + " " + examDateStr[1].TrimStart(' '); examFullDate = DateTime.ParseExact(degisken, "dd/MM/yyyy HH:mm", null); dateString = examFullDate.ToString("dd/MM/yyyy HH:mm"); } currentExamsQuestions = examToEdit.ExamQuestions; // int currentQuestionCount = currentExamsQuestions.Count; for (int i = 0; i < currentQuestionCount; i++) { var question = currentExamsQuestions[0]; currentExamsQuestions.Remove(question); // önceki soruların hepsini siliyoruz, yenilerini ekleyip kaydedeceğiz. } Database.Session.Update(examToEdit); foreach (var question in questionsArray) { Models.Questions toAdd = new Models.Questions { QuestName = question.question_string, TrueAnswer = question.correct_answer, Answer1 = question.A, Answer2 = question.B, Answer3 = question.C, Answer4 = question.D, Answer5 = question.E, dept_id = examToEdit.Department }; examToEdit.ExamQuestions.Add(toAdd); Database.Session.Save(toAdd); } ; var deneme = DateTime.ParseExact(examFullDate.ToString("dd/MM/yyyy"), "dd/MM/yyyy", null).ToShortDateString(); examToEdit.ExamName = examDetailsArray[0].Value; examToEdit.ExamDuration = examDetailsArray[1].Value; examToEdit.examDate = Convert.ToDateTime(deneme); examToEdit.examStart = examFullDate; examToEdit.examEnd = examFullDate.AddMinutes(Convert.ToInt32(examDuration)); var examsDetails = examToEdit; var allQuestions = examToEdit.ExamQuestions; Database.Session.Update(examToEdit); Database.Session.Flush(); }
public void CreateExam(string formdata, string examDetails) { var questionsArray = JsonConvert.DeserializeObject <List <FormData> >(formdata); var examDetailsArray = JsonConvert.DeserializeObject <List <GetFormData> >(examDetails); Users currentTeacher = new Users(); currentTeacher = Database.Session.Query <Users>().FirstOrDefault(u => u.SchoolNumber == HttpContext.User.Identity.Name); string[] dateTime; dateTime = examDetailsArray[2].Value.ToString().Split('-'); var examDuration = examDetailsArray[1].Value; var hour = Convert.ToInt32(examDuration) / 60; var minutes = Convert.ToInt32(examDuration) % 60; string[] examStart = dateTime[1].TrimStart(' ').Split(':'); var examDate = DateTime.ParseExact(dateTime[0].TrimEnd(' '), "dd/MM/yyyy", null); var examStartt = DateTime.ParseExact((dateTime[0].TrimEnd(' ') + " " + dateTime[1].TrimEnd(' ').TrimStart(' ')), "dd/MM/yyyy HH:mm", null); DateTime examEndTime; examEndTime = examStartt.AddMinutes(Convert.ToDouble(examDuration)); Exam newExam = new Exam { ExamName = examDetailsArray[0].Value, ExamDuration = examDetailsArray[1].Value, examDate = DateTime.ParseExact(dateTime[0].TrimEnd(' '), "dd/MM/yyyy", null), examStart = DateTime.ParseExact((dateTime[0].TrimEnd(' ') + " " + dateTime[1].TrimEnd(' ').TrimStart(' ')), "dd/MM/yyyy HH:mm", null), examEnd = examEndTime, Department = currentTeacher.depts.FirstOrDefault(), teacher = currentTeacher }; foreach (var question in questionsArray) { Models.Questions toAdd = new Models.Questions { QuestName = question.question_string, TrueAnswer = question.correct_answer, Answer1 = question.A, Answer2 = question.B, Answer3 = question.C, Answer4 = question.D, Answer5 = question.E, dept_id = newExam.Department }; newExam.ExamQuestions.Add(toAdd); Database.Session.Save(toAdd); } ; var abcde = newExam; Database.Session.Save(newExam); Database.Session.Flush(); }