46 lines
1.2 KiB
Dart
46 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";
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|