WT1.1.11 Null-Safe migration
This commit is contained in:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user