workouttest_app/lib/repository/exercise_device_repository.dart
2021-03-28 12:45:14 +02:00

52 lines
1.2 KiB
Dart

import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/exercise_device.dart';
import 'package:aitrainer_app/service/exercise_device_service.dart';
class ExerciseDeviceRepository {
List<ExerciseDevice> _devices = List();
List<ExerciseDevice> getDevices() {
return this._devices;
}
void setDevices(List<ExerciseDevice> list) {
_devices = list;
}
Future<List<ExerciseDevice>> getDBDevices() async {
this._devices = await ExerciseDeviceApi().getDevices();
return this._devices;
}
bool isGym(int deviceId) {
bool isGym = false;
_devices.forEach((element) {
isGym = isGymElement(element.name);
});
return isGym;
}
bool isGymElement(String name) {
return name == "Cable" ||
name == "Baar" ||
name == "Gym Machine" ||
name == "Dumbbells" ||
name == "Barbell" ||
name == "HOME" ||
name == "STREET";
}
List<ExerciseDevice> getGymDevices() {
final List<ExerciseDevice> gymDevices = List();
if (_devices == null || _devices.isEmpty) {
_devices = Cache().getDevices();
}
_devices.forEach((element) {
if (isGymElement(element.name)) {
gymDevices.add(element);
}
});
return gymDevices;
}
}