Пример #1
0
        public List <WorkoutSet> GetWorkOutSets(WorkoutVM workoutVM, Workout.Models.Workout workout)
        {
            List <WorkoutSet> workoutSets = new List <WorkoutSet>();

            foreach (var exercise in workoutVM.AllExercises)
            {
                List <int> sets = exercise.SetsAndReps
                                  .Split(new char[] { ' ', ',' })
                                  .Where(x => !string.IsNullOrEmpty(x))
                                  .Select(x => int.Parse(x))
                                  .ToList();

                for (int i = 0; i < sets.Count; i++)
                {
                    WorkoutSet workoutSet = new WorkoutSet();

                    workoutSet.Reps        = sets[i];
                    workoutSet.SetOrder    = i + 1;
                    workoutSet.ExerciseId  = exercise.ExerciseID;
                    workoutSet.DateCreated = DateTime.Now;
                    workoutSet.Workout     = workout;
                    workoutSet.ExerciseId  = exercise.ExerciseID;
                    workoutSet.Active      = true;

                    workoutSets.Add(workoutSet);
                }
            }

            return(workoutSets);
        }
Пример #2
0
        // GET: Workout/Details/5
        public ActionResult Details(int id)
        {
            //if (id == null)
            //{
            //    return new HttpStatus(HttpStatusCode.BadRequest);
            //}

            Workout.Models.Workout workout = _context.Workout.Find(id);

            //if (student == null)
            //{
            //    return HttpNotFound();
            //}


            return(View(workout));
        }
Пример #3
0
        public ActionResult EditWorkout(WorkoutVM workoutVM)
        {
            Workout.Models.Workout workout = workoutVM.Workout;

            workout.WorkoutSet = _context.WorkoutSet.Where(ws => ws.WorkoutId == workout.WorkoutId).ToList();

            workout.WorkoutToExercise = _context.WorkoutToExercise.Where(wte => wte.WorkoutId == workout.WorkoutId).ToList();

            foreach (var wte in workout.WorkoutToExercise)
            {
                wte.Active = false;
            }

            foreach (var ws in workout.WorkoutSet)
            {
                ws.Active = false;
            }

            _context.WorkoutSet.UpdateRange(workout.WorkoutSet);
            _context.WorkoutToExercise.UpdateRange(workout.WorkoutToExercise);

            _context.SaveChanges();

            workoutVM.Workout.WorkoutToExercise = workoutVM.AllExercises
                                                  .Where(e => e.Selected)
                                                  .Select(x => new WorkoutToExercise {
                Workout = workout, ExerciseId = x.ExerciseID, Order = x.Order, Active = true
            })
                                                  .ToList();

            workoutVM.AllExercises = workoutVM.AllExercises.Where(e => e.Selected).ToList();

            workoutVM.Workout.WorkoutSet = GetWorkOutSets(workoutVM, workoutVM.Workout);

            _context.Workout.Update(workout);

            _context.SaveChanges();

            return(RedirectToAction("Index"));

            //comment -
        }
Пример #4
0
        //[ValidateAntiForgeryToken]
        public async Task <ActionResult> Create([FromForm] WorkoutVM workoutVM)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(View("NotAuthenticated"));
            }

            var workout = new Workout.Models.Workout();

            workout.DateCreated       = DateTime.Now;
            workout.CreatedBy         = 1;
            workout.WorkoutName       = workoutVM.Workout.WorkoutName;
            workout.WorkoutToExercise = workoutVM.AllExercises.Where(e => e.Selected).Select(x => new WorkoutToExercise {
                Workout = workout, ExerciseId = x.ExerciseID, Order = x.Order, Active = true
            }).ToList();
            workoutVM.AllExercises = workoutVM.AllExercises.Where(e => e.Selected).ToList();
            IdentityUser user = await _userManager.GetUserAsync(User);

            workout.AspNetUserId = user.Id;

            workout.WorkoutSet = GetWorkOutSets(workoutVM, workout);

            try
            {
                if (ModelState.IsValid)
                {
                    _context.Workout.Add(workout);
                    _context.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }
            return(View(workout));
        }
Пример #5
0
 public WorkoutVM(Workout.Models.Workout workout)
 {
     Workout      = workout;
     AllExercises = workout.WorkoutToExercise.Select(ws => new ExerciseVM(ws.Exercise.ExerciseName)).ToList();
 }
Пример #6
0
        public ActionResult EditWorkout([FromRoute] int id)
        {
            Workout.Models.Workout workout = _context.Workout
                                             .Where(w => w.WorkoutId == id)
                                             .Single();
            //*******************************************

            //var workouts = _context.Workout.ToList();

            var exercises = _context.Exercise.ToList();

            workout.WorkoutToExercise = _context.WorkoutToExercise.Where(we => we.WorkoutId == workout.WorkoutId && we.Active).ToList();

            foreach (var we in workout.WorkoutToExercise)
            {
                we.Exercise = exercises.Where(e => e.ExerciseId == we.ExerciseId).Single();
            }

            workout.WorkoutSet = _context.WorkoutSet.Where(ws => ws.WorkoutId == workout.WorkoutId && ws.Active).OrderBy(ws => ws.SetOrder).ToList();


            WorkoutVM workoutVM = new WorkoutVM(workout);



            Dictionary <string, List <string> > exerciseToSets = new Dictionary <string, List <string> >();

            List <WorkoutToExercise> wtes = workout.WorkoutToExercise.OrderBy(x => x.Order).ToList();

            foreach (var wte in wtes)
            {
                foreach (var ws in wte.Workout.WorkoutSet.Where(ws => ws.ExerciseId == wte.ExerciseId).OrderBy(x => x.SetOrder))
                {
                    if (exerciseToSets.ContainsKey(ws.Exercise.ExerciseName))
                    {
                        exerciseToSets[ws.Exercise.ExerciseName].Add(ws.Reps.ToString());
                    }
                    else
                    {
                        exerciseToSets[ws.Exercise.ExerciseName] = new List <string> {
                            ws.Reps.ToString()
                        };
                    }
                }
            }

            workoutVM.ExerciseDisplay = exerciseToSets;// exerciseToSets.Select(kvp => kvp.Key + " | " + string.Join(", ", kvp.Value)).ToList();

            foreach (ExerciseVM evm in workoutVM.AllExercises)
            {
                evm.SetsAndReps = string.Join(", ", exerciseToSets[evm.ExerciseName]);

                evm.Order = wtes.Where(wte => wte.Exercise.ExerciseName == evm.ExerciseName).Single().Order;

                evm.Selected = true;

                evm.ExerciseID = wtes.Where(wte => wte.Exercise.ExerciseName == evm.ExerciseName).Single().ExerciseId;
            }

            workoutVM.AllExercises = workoutVM.AllExercises.OrderBy(e => e.Order).ToList();


            HashSet <int> exerciseIDs = workoutVM.AllExercises.Select(ex => ex.ExerciseID).ToHashSet();

            workoutVM.AllExercises.AddRange(exercises.Where(e => !exerciseIDs.Contains(e.ExerciseId)).Select(e => new ExerciseVM {
                ExerciseID = e.ExerciseId, ExerciseName = e.ExerciseName
            }));

            //*******************************************

            //workout.WorkoutToExercise = _context.WorkoutToExercise.Where(we => we.WorkoutId == workout.WorkoutId).ToList();
            //workout.WorkoutSet = _context.WorkoutSet.Where(ws => ws.WorkoutId == workout.WorkoutId).ToList();

            //foreach (var we in workout.WorkoutToExercise)
            //{
            //    we.Exercise = _context.Exercise.Where(e => e.ExerciseId == we.ExerciseId).Single();
            //}


            //var vm = new WorkoutVM();

            //vm.Workout = workout;
            //vm.AllExercises = workout.WorkoutSet.Select(ws => ws.Exercise)
            //    .ToList().Select(x => new ExerciseVM { ExerciseID = x.ExerciseId, ExerciseName = x.ExerciseName })
            //    .ToList();

            //foreach (var ws in workout.WorkoutSet)
            //{

            //}

            return(View("Edit", workoutVM));
        }