示例#1
0
        public async Task <IActionResult> EditExercise(WorkoutViewModel model, string returnUrl = null)
        {
            ModelState.Remove("Amount");
            ModelState.Remove("Aunit"); ModelState.Remove("WorkoutName");
            ModelState.Remove("WorkoutDescription");
            ModelState.Remove("StartDate");
            ModelState.Remove("EndDate");
            ModelState.Remove("CustomName");
            ModelState.Remove("CustomDescription");

            Dictionary <int, string> exerciseNames = new Dictionary <int, string>();
            TrainingProgram          tp            = await _context.Workouts.FirstOrDefaultAsync(W => W.id == model.ProgramID && W.uid == _userManager.GetUserId(User));

            var exer = _context.PExercises.FromSql("SELECT * FROM PExercises").ToList(); // Need to do this to access the data ???

            var sets = _context.ESets.FromSql("SELECT * FROM ESets").ToList();           // Need to do this to access the data ???

            List <Exercise> exercisesFromAPI = getExercisesFromAPI();

            foreach (var ex in tp.Exercices)
            {
                foreach (var real_ex in exercisesFromAPI)
                {
                    if (ex.ExerciseID == real_ex.id && (exerciseNames.GetValueOrDefault(ex.ExerciseID) == null))
                    {
                        exerciseNames.Add(ex.ExerciseID, real_ex.name);
                    }
                }
            }


            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                ProgramExercises ex = exer.FirstOrDefault(x => x.id == model.DBExerciseID);
                ex.ExerciseID = model.ExerciseID;
                ex.day        = model.Day;


                _context.PExercises.Update(ex);
                _context.SaveChanges();

                TempData["SuccessMessage"] = "Your Exercise has been edited successfully!";
                ViewBag.Program            = tp;
                ViewBag.Names     = exerciseNames;
                ViewBag.Exercises = exercisesFromAPI;
                return(View("ProgramInfo", new WorkoutViewModel()));
            }
            TempData["ErrorMessage"] = "Oops... Something went wrong..";
            ViewBag.Program          = tp;
            ViewBag.Names            = exerciseNames;
            ViewBag.Exercises        = exercisesFromAPI;
            return(View("ProgramInfo", model));
        }
示例#2
0
        public ActionResult DeleteExercise([FromBody] WorkoutViewModel data)
        {
            TrainingProgram tp = _context.Workouts.FirstOrDefault(W => W.id == data.ProgramID);

            var exer = _context.PExercises.FromSql("SELECT * FROM PExercises").ToList(); // Need to do this to access the data ???

            var sets = _context.ESets.FromSql("SELECT * FROM ESets").ToList();           // Need to do this to access the data ???

            ProgramExercises toDelete = exer.FirstOrDefault(x => x.id == data.ExerciseID);

            foreach (var s in toDelete.SetInfo)
            {
                _context.ESets.Remove(s);
            }

            _context.PExercises.Remove(toDelete);
            _context.SaveChanges();

            return(Json("Success."));
        }
示例#3
0
        public ActionResult AddSets([FromBody] WorkoutViewModel data)
        {
            TrainingProgram tp = _context.Workouts.FirstOrDefault(W => W.id == data.ProgramID);

            int?weight = 0;

            if (!(data.Weight == null))
            {
                weight = data.Weight;
            }

            var exer = _context.PExercises.FromSql("SELECT * FROM PExercises").ToList(); // Need to do this to access the data ???

            var sets = _context.ESets.FromSql("SELECT * FROM ESets").ToList();           // Need to do this to access the data ???

            ProgramExercises p_ex = tp.Exercices.FirstOrDefault(E => E.id == data.ExerciseID);

            List <ExerciseSets> e_set  = p_ex.SetInfo;
            ExerciseSets        newSet = new ExerciseSets
            {
                amount = data.Amount,
                aunit  = data.Aunit,
                weight = (int)weight,
                wunit  = (int)data.Wunit
            };

            p_ex.SetInfo.Add(newSet);

            tp.Exercices.Add(p_ex);

            var result = _context.Workouts.Update(tp);

            _context.SaveChanges();

            var setResult = result.Entity.Exercices.FirstOrDefault(x => x.id == data.ExerciseID).SetInfo.Last();

            setResult = _context.ESets.FirstOrDefault(x => x.id == setResult.id);

            return(Json(JsonConvert.SerializeObject(setResult)));
        }
示例#4
0
        public async Task <IActionResult> AddExerciseToDay(WorkoutViewModel model, string returnUrl = null)
        {
            List <Exercise> ExercisesList = getExercisesFromAPI();

            ModelState.Remove("WorkoutName");
            ModelState.Remove("WorkoutDescription");
            ModelState.Remove("StartDate");
            ModelState.Remove("EndDate");
            ModelState.Remove("CustomName");
            ModelState.Remove("CustomDescription");


            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                string userID     = _userManager.GetUserId(User);
                int    programID  = model.ProgramID;
                int    exerciseID = model.ExerciseID;
                int    day        = model.Day;
                int    amount     = model.Amount;
                int    aunit      = model.Aunit;
                int?   weight     = model.Weight;
                int?   wunit      = model.Wunit;

                if (weight != null && wunit < 1)
                {
                    TempData["ErrorMessage"] = "If you enter a weight, you need to enter the weight unit as well.";
                    ViewBag.Exercises        = ExercisesList;
                    ViewBag.Workouts         = getWorkoutsForUser();
                    return(View("Program", model));
                }

                TrainingProgram tp = await _context.Workouts.FirstOrDefaultAsync(W => W.id == model.ProgramID && W.uid == _userManager.GetUserId(User));

                ExerciseSets e_set = new ExerciseSets
                {
                    amount = amount,
                    aunit  = aunit,
                    weight = (weight == null ? 0 : (int)weight),
                    wunit  = (wunit == null ? 0 : (int)wunit)
                };

                ProgramExercises p_ex = new ProgramExercises
                {
                    ExerciseID = exerciseID,
                    day        = day
                };

                p_ex.SetInfo.Add(e_set);

                tp.Exercices.Add(p_ex);

                _context.Workouts.Update(tp);
                await _context.SaveChangesAsync();

                Dictionary <int, string> exerciseNames = new Dictionary <int, string>();

                var exer = _context.PExercises.FromSql("SELECT * FROM PExercises").ToList(); // Need to do this to access the data ???

                var sets = _context.ESets.FromSql("SELECT * FROM ESets").ToList();           // Need to do this to access the data ???

                List <Exercise> exercisesFromAPI = ExercisesList;

                foreach (var ex in tp.Exercices)
                {
                    foreach (var real_ex in exercisesFromAPI)
                    {
                        if (ex.ExerciseID == real_ex.id && (exerciseNames.GetValueOrDefault(ex.ExerciseID) == null))
                        {
                            exerciseNames.Add(ex.ExerciseID, real_ex.name);
                        }
                    }
                }

                TempData["SuccessMessage"] = "Your Exercise has been added successfully!";
                ViewBag.Program            = tp;
                ViewBag.Names     = exerciseNames;
                ViewBag.Exercises = ExercisesList;
                return(View("ProgramInfo", new WorkoutViewModel()));
            }
            ViewBag.Exercises        = ExercisesList;
            ViewBag.Workouts         = getWorkoutsForUser();
            TempData["ErrorMessage"] = "Oops... Something hapenned...";
            return(View("Program", model));
        }
示例#5
0
        public async Task <IActionResult> AddExerciseToWorkout(WorkoutViewModel model, string returnUrl = null)
        {
            List <Exercise> ExercisesList = getExercisesFromAPI();

            ModelState.Remove("WorkoutName");
            ModelState.Remove("WorkoutDescription");
            ModelState.Remove("StartDate");
            ModelState.Remove("EndDate");
            ModelState.Remove("CustomName");
            ModelState.Remove("CustomDescription");


            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                string userID     = _userManager.GetUserId(User);
                int    programID  = model.ProgramID;
                int    exerciseID = model.ExerciseID;
                int    day        = model.Day;
                int    amount     = model.Amount;
                int    aunit      = model.Aunit;
                int?   weight     = model.Weight;
                int?   wunit      = model.Wunit;

                if (weight != null && wunit < 1)
                {
                    TempData["ErrorMessage"] = "If you enter a weight, you need to enter the weight unit as well.";
                    ViewBag.Exercises        = ExercisesList;
                    ViewBag.Workouts         = getWorkoutsForUser();
                    return(View("Program", model));
                }

                TrainingProgram tp = await _context.Workouts.FirstOrDefaultAsync(X => X.id == programID);

                ExerciseSets e_set = new ExerciseSets
                {
                    amount = amount,
                    aunit  = aunit,
                    weight = (weight == null ? 0 : (int)weight),
                    wunit  = (wunit == null ? 0 : (int)wunit)
                };

                ProgramExercises p_ex = new ProgramExercises
                {
                    ExerciseID = exerciseID,
                    day        = day
                };

                p_ex.SetInfo.Add(e_set);

                tp.Exercices.Add(p_ex);

                _context.Workouts.Update(tp);
                await _context.SaveChangesAsync();

                ViewBag.Exercises          = ExercisesList;
                ViewBag.Workouts           = getWorkoutsForUser();
                TempData["SuccessMessage"] = "Congrats! Your Exercise has been added successfully.";
                return(View("Program", new WorkoutViewModel()));
            }
            ViewBag.Exercises        = ExercisesList;
            ViewBag.Workouts         = getWorkoutsForUser();
            TempData["ErrorMessage"] = "Oops... Something hapenned...";
            return(View("Program", model));
        }
示例#6
0
        public async Task <IActionResult> AddExerciseToWorkout(ExercisesViewModel model, string returnUrl = null)
        {
            AddToWorkoutData dataModel = model.AddData;

            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                string userID     = _userManager.GetUserId(User);
                int    programID  = dataModel.ProgramID;
                int    exerciseID = dataModel.ExerciseID;
                int    day        = dataModel.Day;
                int    amount     = dataModel.Amount;
                int    aunit      = dataModel.Aunit;
                int?   weight     = dataModel.Weight;
                int?   wunit      = dataModel.Wunit;

                if (weight != null && wunit < 1)
                {
                    TempData["ErrorMessage"] = "If you enter a weight, you need to enter the weight unit as well.";
                    ViewBag.Workouts         = getWorkoutsForUser();
                    return(View("Exercises", model));
                }

                TrainingProgram tp = await _context.Workouts.FirstOrDefaultAsync(X => X.id == programID);

                ExerciseSets e_set = new ExerciseSets
                {
                    amount = amount,
                    aunit  = aunit,
                    weight = (weight == null ? 0 : (int)weight),
                    wunit  = (wunit == null ? 0: (int)wunit)
                };

                ProgramExercises p_ex = new ProgramExercises
                {
                    ExerciseID = exerciseID,
                    day        = day
                };

                p_ex.SetInfo.Add(e_set);

                tp.Exercices.Add(p_ex);

                _context.Workouts.Update(tp);
                await _context.SaveChangesAsync();

                ViewBag.Workouts           = getWorkoutsForUser();
                TempData["SuccessMessage"] = "Congrats! Your exercise has been added successfully.";
                if (model.Search == null)
                {
                    return(RedirectToAction("Exercises"));
                }
                else
                {
                    return(RedirectToAction("Exercises"));
                }
            }
            ViewBag.Workouts         = getWorkoutsForUser();
            TempData["ErrorMessage"] = "Oops... Something hapenned...";
            return(View("Exercises", model));
        }