Exemplo n.º 1
0
        public ExercisesByAreaViewModel GetExercisesByTopicArea(string userId, string topicAreaDescription)
        {
            var result = new ExercisesByAreaViewModel();

            using (var context = new ApplicationDbContext())
            {
                var topicArea = context.TopicAreas.FirstOrDefault(ta => ta.Description == topicAreaDescription);

                var topicsForThisArea = context.TopicAreaTopics
                                        .Where(tat => tat.TopicAreaId == topicArea.TopicAreaId)
                                        .Select(tat => tat.Topic)
                                        .ToList();

                result.Topics = topicsForThisArea;

                var exerciseResultViewModels = new List <ExerciseResultViewModel>();

                foreach (var topic in result.Topics)
                {
                    var newViewModel = new ExerciseResultViewModel();
                    newViewModel.Exercises = this.ExerciseServices.GetExerciseDTOsCards(userId, topic.TopicId, true);

                    newViewModel.TopicImageUrl = string.Concat("/Content/images/thumbnails/", topic.Description.Replace(' ', '_'), ".png");

                    exerciseResultViewModels.Add(newViewModel);
                }

                result.ExerciseResultViewModels = exerciseResultViewModels;

                return(result);
            }
        }
        public PartialViewResult Search(string topicDescription, bool showResolvedExercises = false)
        {
            var resultsViewModel = new ExerciseResultViewModel();

            if (!string.IsNullOrEmpty(topicDescription))
            {
                var topic     = TopicService.GetByDescription(topicDescription);
                var exercises = ExerciseService.GetExercisesByTopic(topicDescription);
                var userId    = User.Identity.GetUserId();

                resultsViewModel.Exercises     = ExerciseService.GetExerciseDTOsCards(userId, topic.TopicId, showResolvedExercises);
                resultsViewModel.TopicImageUrl = string.Concat(@"/Content/images/thumbnails/", topic.Description.Replace(' ', '_'), ".png");
            }

            return(PartialView("_ExerciseSearchResult", resultsViewModel));
        }
        // GET: Topic
        public ActionResult Index(int topicId)
        {
            var userId = User.Identity.GetUserId();
            var topic  = this.TopicService.GetById(topicId);

            var exercises = this.ExerciseService.GetExerciseDTOsCards(userId, topicId, true);

            var resultsViewModel = new ExerciseResultViewModel()
            {
                Exercises     = exercises,
                TopicImageUrl = string.Concat(@"/Content/images/thumbnails/", topic.Description.Replace(' ', '_'), ".png")
            };

            ViewBag.TopicDescription = topic.Description;

            return(View(resultsViewModel));
        }