53 lines
1.3 KiB
Dart
53 lines
1.3 KiB
Dart
import 'package:workouttest_util/model/cache.dart';
|
|
import 'package:workouttest_util/model/exercise_device.dart';
|
|
import 'package:workouttest_util/service/exercise_device_service.dart';
|
|
|
|
class ExerciseDeviceRepository {
|
|
List<ExerciseDevice> _devices = [];
|
|
|
|
List<ExerciseDevice> getDevices() {
|
|
return _devices;
|
|
}
|
|
|
|
void setDevices(List<ExerciseDevice> list) {
|
|
_devices = list;
|
|
}
|
|
|
|
Future<List<ExerciseDevice>> getDBDevices() async {
|
|
_devices = await ExerciseDeviceApi().getDevices();
|
|
return _devices;
|
|
}
|
|
|
|
bool isGym(int deviceId) {
|
|
bool isGym = false;
|
|
for (var element in _devices) {
|
|
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()!;
|
|
}
|
|
for (var element in _devices) {
|
|
if (isGymElement(element.name)) {
|
|
gymDevices.add(element);
|
|
}
|
|
}
|
|
return gymDevices;
|
|
}
|
|
}
|