WT1.1.11 Null-Safe migration

This commit is contained in:
bossanyit
2021-04-02 11:42:26 +02:00
parent a656562c49
commit 01148c6e39
219 changed files with 3208 additions and 5334 deletions
+35 -27
View File
@@ -21,14 +21,15 @@ part 'test_set_edit_state.dart';
class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
final String templateName;
final String templateNameTranslation;
String templateDescription;
late String templateDescription;
final WorkoutTreeRepository workoutTreeRepository;
final MenuBloc menuBloc;
final List<ExerciseType> _exerciseTypes = List();
final List<ExerciseType> _actualExerciseTypes = List();
final HashMap<int, ExerciseType> _exercisePlanDetails = HashMap();
final List<ExerciseType> _exerciseTypes = [];
final List<ExerciseType> _actualExerciseTypes = [];
final HashMap<int, ExerciseType?> _exercisePlanDetails = HashMap();
TestSetEditBloc({this.templateName, this.templateNameTranslation, this.workoutTreeRepository, this.menuBloc})
TestSetEditBloc(
{required this.templateName, required this.templateNameTranslation, required this.workoutTreeRepository, required this.menuBloc})
: super(TestSetEditInitial()) {
if (Cache().exercisePlanTemplates.isNotEmpty) {
Cache().exercisePlanTemplates.forEach((element) {
@@ -36,10 +37,12 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
if (template.name == templateName) {
templateDescription = template.descriptionTranslation;
template.exerciseTypes.forEach((id) {
final ExerciseType exerciseType = Cache().getExerciseTypeById(id);
_exerciseTypes.add(exerciseType);
_actualExerciseTypes.add(exerciseType);
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
final ExerciseType? exerciseType = Cache().getExerciseTypeById(id);
if (exerciseType != null) {
_exerciseTypes.add(exerciseType);
_actualExerciseTypes.add(exerciseType);
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
}
});
}
});
@@ -52,17 +55,18 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
if (event is TestSetEditChangeExerciseType) {
yield TestSetEditLoading();
final List<ExerciseType> alternatives = workoutTreeRepository.getExerciseTypeAlternatives(event.exerciseTypeId);
final ExerciseType exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
if (_exercisePlanDetails[event.exerciseTypeId] == null) {
/// it was skipped
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
} else {
if (event.index == 0) {
final ExerciseType? exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
if (exerciseType != null) {
if (_exercisePlanDetails[event.exerciseTypeId] == null) {
/// it was skipped
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
} else {
final changedExerciseType = alternatives[event.index - 1];
_exercisePlanDetails[exerciseType.exerciseTypeId] = changedExerciseType;
if (event.index == 0) {
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
} else {
final changedExerciseType = alternatives[event.index - 1];
_exercisePlanDetails[exerciseType.exerciseTypeId] = changedExerciseType;
}
}
}
@@ -71,28 +75,30 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
yield TestSetEditReady();
} else if (event is TestSetEditDeleteExerciseType) {
yield TestSetEditLoading();
final ExerciseType exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
_exercisePlanDetails[exerciseType.exerciseTypeId] = null;
final ExerciseType? exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
if (exerciseType != null) {
_exercisePlanDetails[exerciseType.exerciseTypeId] = null;
}
refreshActualPlan();
yield TestSetEditReady();
} else if (event is TestSetEditSubmit) {
yield TestSetEditLoading();
ExercisePlan exercisePlan = ExercisePlan(templateNameTranslation, Cache().userLoggedIn.customerId);
ExercisePlan exercisePlan = ExercisePlan(templateNameTranslation, Cache().userLoggedIn!.customerId!);
exercisePlan.private = true;
exercisePlan.type = ExerciseAbility.mini_test_set.enumToString();
exercisePlan.dateAdd = DateTime.now();
ExercisePlan savedExercisePlan = await ExercisePlanApi().saveExercisePlan(exercisePlan);
List<ExercisePlanDetail> details = List();
List<ExercisePlanDetail> details = [];
for (var entry in _exercisePlanDetails.entries) {
if (entry.value != null) {
ExercisePlanDetail exercisePlanDetail = ExercisePlanDetail(entry.value.exerciseTypeId);
exercisePlanDetail.exercisePlanId = savedExercisePlan.exercisePlanId;
ExercisePlanDetail exercisePlanDetail = ExercisePlanDetail(entry.value!.exerciseTypeId);
exercisePlanDetail.exercisePlanId = savedExercisePlan.exercisePlanId!;
exercisePlanDetail.serie = 1;
ExercisePlanDetail savedDetail = await ExercisePlanApi().saveExercisePlanDetail(exercisePlanDetail);
exercisePlanDetail.exercisePlanDetailId = savedDetail.exercisePlanDetailId;
exercisePlanDetail.exercises = List();
exercisePlanDetail.exercises = [];
details.add(exercisePlanDetail);
}
}
@@ -112,8 +118,10 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
void refreshActualPlan() {
_actualExerciseTypes.removeRange(0, _actualExerciseTypes.length - 1);
_exercisePlanDetails.keys.forEach((element) {
final ExerciseType exerciseType = Cache().getExerciseTypeById(element);
_actualExerciseTypes.add(exerciseType);
final ExerciseType? exerciseType = Cache().getExerciseTypeById(element);
if (exerciseType != null) {
_actualExerciseTypes.add(exerciseType);
}
});
}
}
@@ -14,7 +14,7 @@ class TestSetEditLoad extends TestSetEditEvent {
class TestSetEditChangeExerciseType extends TestSetEditEvent {
final int index;
final int exerciseTypeId;
const TestSetEditChangeExerciseType({this.index, this.exerciseTypeId});
const TestSetEditChangeExerciseType({required this.index, required this.exerciseTypeId});
@override
List<Object> get props => [index, exerciseTypeId];
@@ -22,7 +22,7 @@ class TestSetEditChangeExerciseType extends TestSetEditEvent {
class TestSetEditDeleteExerciseType extends TestSetEditEvent {
final int exerciseTypeId;
const TestSetEditDeleteExerciseType({this.exerciseTypeId});
const TestSetEditDeleteExerciseType({required this.exerciseTypeId});
@override
List<Object> get props => [exerciseTypeId];
@@ -30,7 +30,7 @@ class TestSetEditDeleteExerciseType extends TestSetEditEvent {
class TestSetEditSkipExerciseType extends TestSetEditEvent {
final int exerciseTypeId;
const TestSetEditSkipExerciseType({this.exerciseTypeId});
const TestSetEditSkipExerciseType({required this.exerciseTypeId});
@override
List<Object> get props => [exerciseTypeId];
@@ -25,7 +25,7 @@ class TestSetEditLoading extends TestSetEditState {
class TestSetEditError extends TestSetEditState {
final String message;
const TestSetEditError({this.message});
const TestSetEditError({required this.message});
@override
List<Object> get props => [message];