示例#1
0
        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 }));
        }