public async Task <string> ExportToCsv() { try { var sb = new StringBuilder(); var workouts = await _workoutsRepository.AllAsync(); workouts = workouts.OrderBy(x => x.Created).ToList(); var exercises = await _exercisesRepository.AllAsync(); sb.AppendLine( $"\"{"Date"}\",\"{"Exercise"}\",\"{"Reps"}\",\"{"Weight"}\",\"{"Target Reps"}\",\"{"Target Weight"}\",\"{"Trophies"}\",\"{"Workout Notes"}\""); foreach (var workout in workouts) { var exercise = exercises.FirstOrDefault(x => x.ExerciseId == workout.ExerciseId); if (exercise == null) { continue; } var line = $"{workout.Created.Date.ToString("d")},\"{exercise.Name}\",{workout.Reps},{WeightMetricToImperialConverter.GetWeightAsDouble(workout.Weight)},{workout.TargetReps},{WeightMetricToImperialConverter.GetWeightAsDouble(workout.TargetWeight)},{workout.Trophies},\"{workout.Notes}\""; sb.AppendLine(line); } return(_textStorage.Save(sb, "oneset.csv")); } catch (Exception ex) { App.ShowErrorPage(this, ex); } return(string.Empty); }