public async Task <ActionResult> ForgetAll(string courseId, Guid slideId) { var slide = courseManager.GetCourse(courseId).GetSlideById(slideId); var userId = User.Identity.GetUserId(); db.SolutionLikes.RemoveRange(db.SolutionLikes.Where(q => q.UserId == userId && q.Submission.SlideId == slideId)); db.UserExerciseSubmissions.RemoveSlideAction(courseId, slideId, userId); db.UserQuizSubmissions.RemoveSlideAction(courseId, slideId, userId); db.Visits.RemoveSlideAction(courseId, slideId, userId); await slideCheckingsRepo.RemoveAttempts(courseId, slideId, userId, false); db.UserQuestions.RemoveSlideAction(courseId, slideId, userId); db.SlideRates.RemoveSlideAction(courseId, slideId, userId); db.Hints.RemoveSlideAction(courseId, slideId, userId); await db.SaveChangesAsync(); return(RedirectToAction("SlideById", new { courseId, slideId = slide.Id })); }