public ActionResult RemoveCourse(int courseId) { string deletedcourse = null; bool success = false; try { var course = _dbcontext.CourseCategories.Find(courseId); if (course != null) { //check if course has no booking menus bool has_existing_book = cv.isCoursehasBooking(courseId); if (has_existing_book == false) { //if course has menus but no bookings var has_menus = cv.isCourseHasMenus(courseId).ToList(); if (has_menus.Any()) { foreach (var item in has_menus) { var menu = _dbcontext.Menus.Find(item.menu_Id); _dbcontext.Menus.Remove(menu); _dbcontext.Entry(menu).State = EntityState.Deleted; } } _dbcontext.CourseCategories.Remove(course); _dbcontext.SaveChanges(); deletedcourse = course.Course; success = true; } else { deletedcourse = course.Course; return(Json(new { deletedcourse = deletedcourse, success = false }, JsonRequestBehavior.AllowGet)); } } } catch (Exception e) { // throw new HttpException(404, "Page Not Found"); Console.WriteLine(e); throw; } return(Json(new { deletedcourse = deletedcourse, success = success }, JsonRequestBehavior.AllowGet)); }