public ActionResult AddGrade(GradeAddGradeVM model) { if (model.GradeValue < 2 || model.GradeValue > 6) { ModelState.AddModelError("Error", "Grade must be 2 - 6"); return View(model); } GradeRepository gRepo = new GradeRepository(); Grade grade = new Grade(); var test = gRepo.GetAll(filter: g => g.StudentID == model.StudentID && g.SubjectID == model.SubjectID).FirstOrDefault(); if (test != null) { ModelState.AddModelError("Error", "Student already have grade"); return View(model); } grade.StudentID = model.StudentID; grade.SubjectID = model.SubjectID; grade.GradeValue = model.GradeValue; gRepo.Save(grade); return RedirectToAction("StudentsGrades" + "/" + model.SubjectID, "Grade"); }
public ActionResult AddGrade(int studentID, int subjectID) { GradeAddGradeVM model = new GradeAddGradeVM(); UserRepository<Student> sRepo = new UserRepository<Student>(); SubjectRepository subjRepo = new SubjectRepository(); GradeRepository gRepo = new GradeRepository(); Student student = sRepo.GetAll(filter: s => s.ID == studentID && s.Course.CourseSubject.Any(sub => sub.SubjectID == subjectID)).FirstOrDefault(); Subject subject = subjRepo.GetByID(subjectID); Grade grade = gRepo.GetAll(filter: g => g.StudentID == student.ID).FirstOrDefault(); model.StudentID = student.ID; model.SubjectID = subject.ID; return View(model); }