//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(); }
//Gets all workoutsession for a user public List <WorkoutSessionVM> GetAllWorkoutSessions(string userID) { List <WorkoutSessionVM> listOfWorkoutToReturn = new List <WorkoutSessionVM>(); listOfWorkoutToReturn = WorkoutSession .Where(i => i.UserId == userID) .Select(w => new WorkoutSessionVM { Date = w.Date, Distance = w.Distance, Duration = w.Duration, SessionName = w.SessionName, SessionUserNote = w.SessionUserNote, Type = w.Type, Exercises = w.Exercise.Select( z => new ExerciseVM { Name = z.ExerciseName, Sets = z.Set.Select( q => new SetVM { Reps = q.Reps, UserComment = q.UserNote, Weight = Convert.ToInt32(q.UsedWeight) }).ToList() }).ToList() }) .OrderBy(c => c.Date) .ToList(); return(listOfWorkoutToReturn); }
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(); }
public List <CalendarVM> GetCalendar(string userID) { var calandarList = WorkoutSession .Where(i => i.UserId == userID) .Select(c => new CalendarVM() { NameOfWorkoutSession = c.SessionName, TypeOfWorkoutSession = c.Type, Date = c.Date }) .OrderBy(c => c.Date) .ToList(); return(calandarList); }
private StatisicsVM GetTotalDistanceDone(string userID) { var totalDistanceStat = WorkoutSession .Where(t => t.UserId == userID && t.Type == "Cardio") .Select(d => d.Distance) .Sum(); StatisicsVM statToReturn = new StatisicsVM(); statToReturn.TypeOfWorkoutSession = "Cardio"; statToReturn.Stats = new TotalCardioDistansStat() { Distans = Convert.ToDouble(totalDistanceStat) }; return(statToReturn); }
private StatisicsVM GetTotalLiftetWeight(string userID) { var workOutSessions = WorkoutSession .Where(c => c.UserId == userID && c.Type == "Strength") .Select(x => x.Exercise .Select(y => y.Set.Sum(z => z.Reps * z.UsedWeight))) .Select(w => w.Sum()) .Sum(); StatisicsVM statToReturn = new StatisicsVM(); statToReturn.TypeOfWorkoutSession = "Strength"; statToReturn.Stats = new TotalStrengthStats() { TotalWeightLifted = workOutSessions }; return(statToReturn); }
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(); }
private StatisicsVM GetCardioVsStr(string userID) { int [] countArray = new int [3]; var countStrength = WorkoutSession .Where(b => b.UserId == userID && b.Type == "Strength").Count(); countArray[0] = countStrength; var countCardio = WorkoutSession .Where(b => b.UserId == userID && b.Type == "Cardio").Count(); countArray[1] = countCardio; var countOther = WorkoutSession .Where(b => b.UserId == userID && b.Type == "Other").Count(); countArray[2] = countOther; string [] namesArray = new string[3] { "Strength", "Cardio", "Other" }; StatisicsVM statToReturn = new StatisicsVM(); statToReturn.TypeOfWorkoutSession = "General"; var data = new PieChartStat(); data.Data = countArray; data.Names = namesArray; statToReturn.Stats = data; return(statToReturn); }