public void SaveCustomWorkout(object parameter) { // Summary // // Save Custom made workout if (parameter == null) { throw new ArgumentNullException(); } (parameter as Workout).Length = Workout.GenerateLength(parameter as Workout); MongoHelper.AddWorkoutAsync(parameter as Workout); ReadWorkouts(); BuildingWorkout = false; CustomWorkout = null; _customWorkoutExerciseCount = 0; }
public void GenerateRandomWorkout() { // Summary // // Generates new randomized workout // Let user specify congig first OpenConfig(); // Worker variables List <Exercise> randomizedExercises = new List <Exercise>(); var exercises = (List <Exercise>)DatabaseHelper.GetExercises(); int randIndex; // Get parameters from config if (_config == null) { _config = Configuration.GetConfig(); } int numStations = _config.NumStations; int numExercises = _config.NumExercisesPerStation; int stationReps = _config.NumRounds; int repSeconds = _config.ExerciseLength; int restSeconds = _config.ExerciseRestLength; int setSeconds = _config.StationRestLength; // Get list of distinct randomized exercises of necessary size while (randomizedExercises.Count != numStations * numExercises) { randIndex = _rng.Next(exercises.Count); if (!randomizedExercises.Contains(exercises[randIndex])) { randomizedExercises.Add(exercises[randIndex]); } } Workout workout = new Workout { Name = "New Workout", Description = "Randomly Generated Workout", RepSeconds = repSeconds, RestSeconds = restSeconds, SetSeconds = setSeconds, StationReps = stationReps }; // Fill workout for (int i = 0; i < numStations; i++) { workout.Stations.Add(new Station()); workout.Stations[i].StationName = ("Station " + (i + 1).ToString()); workout.Stations[i].Exercises = new List <Exercise>(); for (int j = 0; j < numExercises; j++) { workout.Stations[i].Exercises.Add(new Exercise()); workout.Stations[i].Exercises[j] = randomizedExercises[numExercises * i + j]; } } // Add workout length workout.Length = Workout.GenerateLength(workout); SelectedWorkout = workout; RandomWorkoutGenerated = true; }