Пример #1
0
        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));
        }
Пример #3
0
 public void Post([FromBody] Models.Questions question)
 {
     context.Questions.Add(new Models.Questions()
     {
         Text = "test"
     });
     context.SaveChanges();
 }
Пример #4
0
        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();
        }
Пример #5
0
        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();
        }