public async Task <IActionResult> Create([Bind("Id")] TestQuestion testQuestion)
        {
            if (ModelState.IsValid)
            {
                _context.Add(testQuestion);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(testQuestion));
        }
        public async Task <IActionResult> Create([Bind("Id")] PeriodSubject periodSubject)
        {
            if (ModelState.IsValid)
            {
                _context.Add(periodSubject);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(periodSubject));
        }
        public async Task <IActionResult> Create([Bind("Id,Text")] Alternative alternative)
        {
            if (ModelState.IsValid)
            {
                _context.Add(alternative);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(alternative));
        }
Exemple #4
0
        public async Task <IActionResult> Create([Bind("QuestionId,Question,Subject,CorrectAnswer,AlternativeA,AlternativeB,AlternativeC,AlternativeD,AlternativeE")] QuestionVM questionVM)
        {
            if (ModelState.IsValid)
            {
                Question question = new Question();
                question.Text          = questionVM.Question;
                question.CorrectAnswer = questionVM.CorrectAnswer;

                int selectedSubject = 0;
                int.TryParse(questionVM.Subject, out selectedSubject);

                question.Subject = _context.Subjects.Where(w => w.Id == selectedSubject).FirstOrDefault();
                _context.Add(question);

                question.Alternatives = new List <Alternative>();

                question.Alternatives.Add(new Models.Entity.Alternative {
                    Text = questionVM.AlternativeA
                });
                question.Alternatives.Add(new Models.Entity.Alternative {
                    Text = questionVM.AlternativeB
                });
                question.Alternatives.Add(new Models.Entity.Alternative {
                    Text = questionVM.AlternativeC
                });
                question.Alternatives.Add(new Models.Entity.Alternative {
                    Text = questionVM.AlternativeD
                });
                question.Alternatives.Add(new Models.Entity.Alternative {
                    Text = questionVM.AlternativeE
                });

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(questionVM));
        }
        public async Task <IActionResult> Create([Bind("Id,Subject,Period")] SubjectPeriodVM subjectPeriod)
        {
            if (ModelState.IsValid)
            {
                var subject = new Subject();
                subject.Name = subjectPeriod.Subject;

                int selectedPeriod = 0;
                int.TryParse(subjectPeriod.Period, out selectedPeriod);

                var period = _context.Periods.Where(s => s.Id == selectedPeriod).FirstOrDefault();

                _context.Add(subject);
                period.PeriodSubjects.Add(new Models.Entity.PeriodSubject {
                    Subject = subject
                });

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(subjectPeriod));
        }
        public async Task <IActionResult> Create([Bind("Id,Student,Period")] PeriodStudentVM periodStudent)
        {
            if (ModelState.IsValid)
            {
                var student = new Student();
                student.Name = periodStudent.Student;

                int selectedPeriod = 0;
                int.TryParse(periodStudent.Period, out selectedPeriod);

                var period = _context.Periods.Where(s => s.Id == selectedPeriod).FirstOrDefault();

                _context.Add(student);
                period.PeriodStudent.Add(new Models.Entity.PeriodStudent {
                    Student = student
                });

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(periodStudent));
        }
Exemple #7
0
        public async Task <IActionResult> Create([Bind("Id,Student,Period,Data,QuestionsNumber")] TestsVM testVM)
        {
            if (ModelState.IsValid)
            {
                Random rnd  = new Random();
                Test   test = new Test();

                /* Student */
                int selectedStudent = 0;
                int.TryParse(testVM.Student, out selectedStudent);
                var student = _context.Students.Where(w => w.Id == selectedStudent).FirstOrDefault();

                /* Period */
                int selectedPeriod = 0;
                int.TryParse(testVM.Period, out selectedPeriod);
                var period = _context.Periods.Where(w => w.Id == selectedPeriod).FirstOrDefault();

                /* Test */
                test.Student = student;
                test.Period  = period;
                test.Data    = testVM.Data;

                /* Subjects */
                var periodSubjects = period.PeriodSubjects.FindAll(w => w.Period == period);

                List <Subject> subsList = new List <Subject>();
                foreach (var subject in periodSubjects)
                {
                    subsList.Add(subject.Subject);
                }
                Subject[] subjects = subsList.ToArray();

                int questionBySub = testVM.QuestionsNumber / subjects.Length;

                Question[] questions = new Question[questionBySub];

                List <Question> questionsList = new List <Question>();
                for (var i = 0; i < subjects.Length; i++)
                {
                    for (var j = 0; j < questionBySub; j++)
                    {
                        int r = rnd.Next(subjects[i].Questions.Count);
                        questionsList.Add(subjects[i].Questions[r]);
                    }
                }

                _context.Add(test);

                test.TestQuestions = new List <TestQuestion>();

                foreach (var q in questionsList)
                {
                    test.TestQuestions.Add(new Models.Entity.TestQuestion {
                        Question = q
                    });
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(testVM));
        }