public ActionResult Result(FinishedQuizByUserSearchListViewModel model) { var query = db.FinishedQuizByUser.Include(u => u.Quiz).Include(u => u.User).ToList(); if (model?.QuizCategoryList.Count != 0) { query = query.Where(log => log.Quiz.Name == model.QuizCategoryList.FirstOrDefault()).ToList(); } FinishedQuizByUserSearchListViewModel resultList = new FinishedQuizByUserSearchListViewModel(); resultList.FinishedQuizByUserSearchViewModel = query.Select(x => new FinishedQuizByUserSearchViewModel() { Id = x.Id, NickName = x.User.NickName, QuestionId = x.QuestionId, QuestionName = x.Question.Question1, QuizCategory = x.Quiz.Name, QuizId = x.QuizId, Score = x.Score, UserId = x.UserId, Date = x.Date }).ToList(); resultList.QuizCategoryList = db.FinishedQuizByUser.Where(x => x.UserId == model.UserIdForPassing).Select(x => x.Quiz.Name).Distinct().ToList(); return(View(resultList)); }
// GET public ActionResult Result(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FinishedQuizByUserSearchListViewModel finishedQuizByUserSearchViewModelList = new FinishedQuizByUserSearchListViewModel(); finishedQuizByUserSearchViewModelList.FinishedQuizByUserSearchViewModel = new List <FinishedQuizByUserSearchViewModel>(); var query = db.FinishedQuizByUser.Include(u => u.Quiz).Include(u => u.User); if (query == null) { return(HttpNotFound()); } else { var selected = db.FinishedQuizByUser.Where(x => x.UserId == id).ToList(); foreach (var item in selected) { FinishedQuizByUserSearchViewModel finishedQuizByUserSearchViewModel = new FinishedQuizByUserSearchViewModel(); finishedQuizByUserSearchViewModel.Id = item.Id; finishedQuizByUserSearchViewModel.NickName = item.User.NickName; finishedQuizByUserSearchViewModel.QuestionId = item.QuestionId; finishedQuizByUserSearchViewModel.QuestionName = item.Question.Question1; finishedQuizByUserSearchViewModel.QuizCategory = item.Quiz.Name; finishedQuizByUserSearchViewModel.QuizId = item.QuizId; finishedQuizByUserSearchViewModel.Score = item.Score; finishedQuizByUserSearchViewModel.UserId = item.UserId; finishedQuizByUserSearchViewModel.Date = item.Date; finishedQuizByUserSearchViewModelList.FinishedQuizByUserSearchViewModel.Add(finishedQuizByUserSearchViewModel); } finishedQuizByUserSearchViewModelList.QuizCategoryList = selected.Select(x => x.Quiz.Name).Distinct().ToList(); finishedQuizByUserSearchViewModelList.UserIdForPassing = id; } return(View(finishedQuizByUserSearchViewModelList)); }