59 lines
2.6 KiB
Dart
59 lines
2.6 KiB
Dart
import 'package:aitrainer_app/model/cache.dart';
|
|
import 'package:aitrainer_app/model/exercise_result.dart';
|
|
import 'package:aitrainer_app/model/result.dart';
|
|
import 'package:aitrainer_app/service/exercise_result_service.dart';
|
|
|
|
enum ResultType { running, man, woman, none }
|
|
|
|
extension ResultTypeExt on ResultType {
|
|
bool equals(ResultType type) => this.toString() == type.toString();
|
|
}
|
|
|
|
class ExerciseResultRepository {
|
|
final List<ResultExt> _results = List();
|
|
ResultType resultType;
|
|
|
|
ExerciseResultRepository({this.resultType}) {
|
|
if (resultType == null) {
|
|
resultType = ResultType.man;
|
|
}
|
|
if (resultType.equals(ResultType.man) || resultType.equals(ResultType.woman)) {
|
|
//_results.add(ResultExt(itemString: ResultItem.time.description));
|
|
_results.add(ResultExt(itemString: ResultItem.reps_volume.description));
|
|
_results.add(ResultExt(itemString: ResultItem.weight_volume.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_max.description));
|
|
_results.add(ResultExt(itemString: ResultItem.calorie.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_avg.description));
|
|
_results.add(ResultExt(itemString: ResultItem.fatburn_percent.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_min.description));
|
|
} else {
|
|
//_results.add(ResultExt(itemString: ResultItem.time.description));
|
|
_results.add(ResultExt(itemString: ResultItem.distance.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_max.description));
|
|
_results.add(ResultExt(itemString: ResultItem.calorie.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_avg.description));
|
|
_results.add(ResultExt(itemString: ResultItem.fatburn_percent.description));
|
|
_results.add(ResultExt(itemString: ResultItem.bpm_min.description));
|
|
_results.add(ResultExt(itemString: ResultItem.steps.description));
|
|
_results.add(ResultExt(itemString: ResultItem.speed_max.description));
|
|
}
|
|
}
|
|
|
|
List<ResultExt> getResults() => this._results;
|
|
|
|
Future<void> saveExerciseResults() async {
|
|
if (this._results != null) {
|
|
this._results.forEach((result) async {
|
|
ExerciseResult exerciseResult = ExerciseResult();
|
|
exerciseResult.customerId = Cache().userLoggedIn.customerId;
|
|
exerciseResult.exerciseId = result.exerciseId;
|
|
exerciseResult.dateFrom = result.dateFrom;
|
|
exerciseResult.dateTo = result.dateTo;
|
|
exerciseResult.resultType = result.itemString;
|
|
exerciseResult.value = result.data;
|
|
//await ExerciseResultApi().saveExerciseResult(exerciseResult);
|
|
});
|
|
}
|
|
}
|
|
}
|