private void UpdateExistingWorkout(string currentUserId, Workout mapMyFitnessWorkout, string externalWorkoutId) { // Not sure if I want to do this or not //var workout = _dbContext.WorkoutsForUser(currentUserId) // .Where(w => w.ExternalWorkoutId == externalWorkoutId) // .FirstOrDefault(w => w.Source.FitnessProviderId == SupportedFitnessProvider.MapMyFitness); //if (workout == null) return; //const double milesPerMeter = 0.000621371; //var distanceInMiles = milesPerMeter * mapMyFitnessWorkout.aggregates.distance_total; //var workoutDate = DateTime.Parse(mapMyFitnessWorkout.start_datetime); //var workoutName = string.IsNullOrWhiteSpace(mapMyFitnessWorkout.name) ? "N/A" : mapMyFitnessWorkout.name; //workout.Name = workoutName; //workout.WorkoutDate = workoutDate; //workout.Distance = new Decimal(distanceInMiles); }
private void CreateNewWorkout(string currentUserId, Workout mapMyFitnessWorkout, IEnumerable<Shoe> shoesNewestFirst, string externalWorkoutId, FitnessProvider mapMyFitnessSource) { const double milesPerMeter = 0.000621371; var distanceInMiles = milesPerMeter * mapMyFitnessWorkout.aggregates.distance_total; var workoutDate = DateTime.Parse(mapMyFitnessWorkout.start_datetime); var workoutName = string.IsNullOrWhiteSpace(mapMyFitnessWorkout.name) ? "N/A" : mapMyFitnessWorkout.name; var shoeUsed = GetActiveShoe(shoesNewestFirst, workoutDate); var workout = new models.Workout { UserId = currentUserId, ExternalWorkoutId = externalWorkoutId, Source = mapMyFitnessSource, ImportedAt = DateTime.Now, Name = workoutName, WorkoutDate = workoutDate, Distance = new Decimal(distanceInMiles), ShoeUsed = shoeUsed, CreatedAt = DateTime.Now }; _dbContext.Workouts.Add(workout); }
private string GetExternalWorkoutId(Workout workout) { return workout._links.self[0].id; }