checkReview($id); $course = $this->checkCourse($review->course_id); $user = $this->getLoginUser(); $validator = new ReviewValidator(); $validator->checkOwner($user->id, $review->owner_id); $review->deleted = 1; $review->update(); $this->recountCourseReviews($course); $this->updateCourseRating($course); $this->eventsManager->fire('Review:afterDelete', $this, $review); } protected function recountCourseReviews(CourseModel $course) { $courseRepo = new CourseRepo(); $reviewCount = $courseRepo->countReviews($course->id); $course->review_count = $reviewCount; $course->update(); } protected function updateCourseRating(CourseModel $course) { $service = new CourseStatService(); $service->updateRating($course->id); } }