// GET: Exercises
        public async Task <IActionResult> Index(string searchString, string sortOrder)
        {
            var viewModel = new ExerciseIndexViewModel();

            viewModel.Exercises = await _unitOfWork.ExerciseRepository.GetAllAsync();

            ViewData["NameSort"]   = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["MuscleSort"] = String.IsNullOrEmpty(sortOrder) ? "muscle_desc" : "";

            switch (sortOrder)
            {
            case "name_desc":
                viewModel.Exercises = viewModel.Exercises.OrderByDescending(c => c.ExerciseName);
                break;

            case "muscle_desc":
                viewModel.Exercises = viewModel.Exercises.OrderByDescending(c => c.MuscleGroup);
                break;

            default:
                viewModel.Exercises = viewModel.Exercises.OrderBy(c => c.ExerciseName);
                break;
            }


            if (!String.IsNullOrEmpty(searchString))
            {
                viewModel.Exercises =
                    await _unitOfWork.ExerciseRepository.FindAllAsync(w =>
                                                                      w.ExerciseName.Contains(searchString));
            }

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult Index()
        {
            var  db               = Database.GetDatabase(_env.ContentRootPath);
            var  user             = db.Users[0];
            bool hasActiveRoutine = db.Users[0].History
                                    .OfType <FitnessHistory>()
                                    .Any(f => f.EventDateTime.Date == DateTime.Now.Date);
            var vm = new ExerciseIndexViewModel()
            {
                User        = user,
                ActiveToday = hasActiveRoutine
            };

            if (hasActiveRoutine)
            {
                var today = db.Users[0].History
                            .OfType <FitnessHistory>()
                            .Where(fh => fh.EventDateTime.Date == DateTime.Now.Date)
                            .OrderByDescending(fh => fh.EventDateTime)
                            .FirstOrDefault();
                vm.Today = new FitnessHistoryGraphItem(today, _appState.AllExercises);
            }
            //get user from database
            return(View(vm));
        }
        public ActionResult Index(ExerciseIndexViewModel viewModel)
        {
            List <Exercise> selectedMuscleGroups = new List <Exercise>();

            if (viewModel.Legs)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Legs);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }
            if (viewModel.Back)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Back);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }
            if (viewModel.Chest)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Chest);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }
            if (viewModel.Shoulders)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Shoulders);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }
            if (viewModel.Arms)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Arms);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }
            if (viewModel.Abdominals)
            {
                var result = _unitOfWork.ExerciseRepository.GetByMuscleGroup(MuscleGroup.Abdominals);
                foreach (var res in result)
                {
                    selectedMuscleGroups.Add(res);
                }
            }

            viewModel.Exercises = selectedMuscleGroups.Distinct();


            return(View(viewModel));
        }