//Add a workoutsession public void AddWorkoutSessionStrength(string userID, WorkoutSessionVM workoutSessionVM) { var session = new WorkoutSession { Date = workoutSessionVM.Date, Distance = workoutSessionVM.Distance, Duration = workoutSessionVM.Duration, Type = workoutSessionVM.Type, SessionUserNote = workoutSessionVM.SessionUserNote, UserId = userID, SessionName = workoutSessionVM.SessionName, }; foreach (var exerciseVM in workoutSessionVM.Exercises) { var exercise = new Exercise { ExerciseName = exerciseVM.Name }; session.Exercise.Add(exercise); foreach (var set in exerciseVM.Sets) { exercise.Set.Add(new Set { Reps = set.Reps, UsedWeight = set.Weight, UserNote = set.UserComment }); } } ; WorkoutSession.Add(session); SaveChanges(); }
public IActionResult EditWorkout(WorkoutSessionVM WorkoutToEdit) { var userID = userManager.GetUserId(HttpContext.User); WorkoutToEdit.Date = DateTime.Parse(WorkoutToEdit.Date.ToShortDateString()); dataManager.EditWorkOutForUser(userID, WorkoutToEdit); return(Content("Workout saved successfully")); }
public IActionResult Saveworkout(WorkoutSessionVM newWorkout) { var userID = userManager.GetUserId(HttpContext.User); newWorkout.Date = DateTime.Parse(newWorkout.Date.ToShortDateString()); dataManager.AddWorkOutForUser(userID, newWorkout); return(Content("Workout saved successfully")); }
internal void EditWorkout(string userID, WorkoutSessionVM workoutToEdit) { var session = new WorkoutSession { Date = workoutToEdit.Date, Distance = workoutToEdit.Distance, Duration = workoutToEdit.Duration, Type = workoutToEdit.Type, SessionUserNote = workoutToEdit.SessionUserNote, UserId = userID, SessionName = workoutToEdit.SessionName, }; foreach (var exerciseVM in workoutToEdit.Exercises) { var exercise = new Exercise { ExerciseName = exerciseVM.Name }; session.Exercise.Add(exercise); foreach (var set in exerciseVM.Sets) { exercise.Set.Add(new Set { Reps = set.Reps, UsedWeight = set.Weight, UserNote = set.UserComment }); } } ; var oldWorkoutSession = WorkoutSession .Include(z => z.Exercise) .ThenInclude(y => y.Set) .FirstOrDefault(x => x.SessionName == workoutToEdit.SessionName && x.UserId == userID && x.Date == workoutToEdit.Date); foreach (var exercise in oldWorkoutSession.Exercise) { foreach (var set in exercise.Set) { Set.Remove(set); } //SaveChanges(); Exercise.Remove(exercise); } ; //SaveChanges(); WorkoutSession.Remove(oldWorkoutSession); WorkoutSession.Add(session); SaveChanges(); }
internal void DeleteWorkout(string userID, WorkoutSessionVM workoutToDelete) { var oldWorkoutSession = WorkoutSession .Include(z => z.Exercise) .ThenInclude(y => y.Set) .FirstOrDefault(x => x.SessionName == workoutToDelete.SessionName && x.UserId == userID && x.Date == workoutToDelete.Date); //== session; foreach (var exercise in oldWorkoutSession.Exercise) { foreach (var set in exercise.Set) { Set.Remove(set); } //SaveChanges(); Exercise.Remove(exercise); } ; //SaveChanges(); WorkoutSession.Remove(oldWorkoutSession); SaveChanges(); }
public IActionResult DeleteWorkout(WorkoutSessionVM WorkoutToDelete) { dataManager.DeleteWorkoutSession(GetUserID(), WorkoutToDelete); return(Json("All is good")); }
public ActionResult ViewHistory([FromRoute] int workoutId) { var workout = _context.Workout.Where(w => w.WorkoutId == workoutId).First(); var workoutToExercise = _context.WorkoutToExercise.Where(wte => wte.WorkoutId == workoutId).ToList(); var exercises = _context.Exercise.Where(e => workoutToExercise.Select(x => x.ExerciseId).Contains(e.ExerciseId)).ToList(); var workoutSets = _context.WorkoutSet.Where(ws => ws.WorkoutId == workoutId).ToList(); var workoutSetResults = _context.WorkoutSetResult.Where(wsr => workoutSets.Select(x => x.WorkoutSetId).Contains(wsr.WorkoutSetId)).ToList(); List <WorkoutSessionVM> workoutSessions = new List <WorkoutSessionVM>(); Dictionary <int, List <WorkoutSetResult> > workoutResultsGroupedByWorkoutSessionId = workoutSetResults .GroupBy(x => x.WorkoutSessionId).ToDictionary(x => x.Key, x => x.ToList()); foreach (var wsr in workoutSetResults) { wsr.WorkoutSet = workoutSets.Where(ws => ws.WorkoutSetId == wsr.WorkoutSetId).First(); wsr.WorkoutSet.Exercise = exercises.Where(e => e.ExerciseId == wsr.WorkoutSet.ExerciseId).First(); } foreach (var kvp in workoutResultsGroupedByWorkoutSessionId) { List <ExerciseResultsHistory> exerciseResultsHistories = new List <ExerciseResultsHistory>(); List <WorkoutSetResult> setResults = kvp.Value; DateTime?date = setResults.First()?.DateCreated; var exerciseIdToResults = setResults.GroupBy(x => x.WorkoutSet.ExerciseId).ToDictionary(x => x.Key, x => x.OrderBy(z => z.DateCreated).ToList()); foreach (var etr in exerciseIdToResults) { ExerciseResultsHistory exerciseResultsHistory = new ExerciseResultsHistory(); exerciseResultsHistory.ExerciseName = exercises.Where(e => e.ExerciseId == etr.Key).First().ExerciseName; var i = 1; foreach (WorkoutSetResult result in etr.Value) { var resultLine = $"Set {i}: Weight = {result.Weight}. Reps = {result.RepsCompleted}."; exerciseResultsHistory.Results.Add(resultLine); i++; } exerciseResultsHistories.Add(exerciseResultsHistory); } WorkoutSessionVM workoutSessionVM = new WorkoutSessionVM(); workoutSessionVM.WorkoutSessionDate = workoutSetResults.Where(x => x.WorkoutSessionId == kvp.Key).First().DateCreated; workoutSessionVM.ExerciseHistories = exerciseResultsHistories; workoutSessions.Add(workoutSessionVM); } return(View("WorkoutHistory", workoutSessions)); }
internal void DeleteWorkoutSession(string userID, WorkoutSessionVM workoutToDelete) { workoutcontext.DeleteWorkout(userID, workoutToDelete); }
internal void EditWorkOutForUser(string userID, WorkoutSessionVM workoutToEdit) { workoutcontext.EditWorkout(userID, workoutToEdit); }
internal void AddWorkOutForUser(string userID, WorkoutSessionVM newWorkout) { workoutcontext.AddWorkoutSessionStrength(userID, newWorkout); }