public ActionResult DeleteSubject(SubjectsDeleteVM model) { if (ModelState.IsValid) { Subject subject = unitOfWork.SubjectRepository.GetById(model.Id, true); List <CoursesSubjects> css = unitOfWork.CoursesSubjectsRepository.GetBySubjectId(subject.Id, true); if (css.Count > 0) { model.Name = subject.Name; TempData.FlashMessage("Subject cannot be deleted! It is assigned to one or more courses!", null, FlashMessageTypeEnum.Red); return(View(model)); } unitOfWork.GradeRepository.DeleteRange(subject.Grades.ToList()); subject.Grades.Clear(); unitOfWork.SubjectRepository.Delete(subject.Id); unitOfWork.Save(); TempData.FlashMessage("Subject has been deleted"); return(RedirectToAction("ManageSubjects", "Admin")); } return(View(model)); }
public ActionResult DeleteSubject(int?id) { if (!id.HasValue) { return(RedirectToAction("ManageSubjects", "Admin")); } Subject subject = unitOfWork.SubjectRepository.GetById(id.Value); if (subject == null) { return(RedirectToAction("ManageSubjects", "Admin")); } SubjectsDeleteVM model = new SubjectsDeleteVM(); model.Id = subject.Id; model.Name = subject.Name; return(View(model)); }