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)); }
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.")); }
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))); }
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)); }
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)); }
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)); }