workouttest_app/lib/repository/exercise_device_repository.dart
2021-04-12 00:51:09 +02:00

53 lines
1.3 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<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() {
if (Cache().getDevices() == null) return [];
final List<ExerciseDevice> gymDevices = [];
if (_devices.isEmpty) {
_devices = Cache().getDevices()!;
}
_devices.forEach((element) {
if (isGymElement(element.name)) {
gymDevices.add(element);
}
});
return gymDevices;
}
}