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)); }
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)); }
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)); }