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;
 }