WT1.1.10 compact test, paralell test
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:aitrainer_app/bloc/test_set_execute/test_set_execute_bloc.dart';
|
||||
import 'package:aitrainer_app/model/cache.dart';
|
||||
import 'package:aitrainer_app/model/exercise_type.dart';
|
||||
import 'package:aitrainer_app/repository/exercise_repository.dart';
|
||||
import 'package:aitrainer_app/util/enums.dart';
|
||||
import 'package:aitrainer_app/util/track.dart';
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
part 'test_set_new_event.dart';
|
||||
part 'test_set_new_state.dart';
|
||||
|
||||
class TestSetNewBloc extends Bloc<TestSetNewEvent, TestSetNewState> {
|
||||
final ExerciseRepository exerciseRepository;
|
||||
final ExerciseType exerciseType;
|
||||
final int exercisePlanDetailId;
|
||||
final TestSetExecuteBloc executeBloc;
|
||||
|
||||
TestSetNewBloc({this.exerciseRepository, this.exerciseType, this.exercisePlanDetailId, this.executeBloc}) : super(TestSetNewInitial()) {
|
||||
exerciseRepository.exerciseType = exerciseType;
|
||||
quantity = 12;
|
||||
unitQuantity = 30;
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
exerciseRepository.setUnit(exerciseType.unit);
|
||||
exerciseRepository.setUnitQuantity(unitQuantity);
|
||||
exerciseRepository.exercise.exercisePlanDetailId = exercisePlanDetailId;
|
||||
exerciseRepository.start = DateTime.now();
|
||||
exerciseRepository.setCustomer(Cache().userLoggedIn);
|
||||
}
|
||||
|
||||
double quantity;
|
||||
double unitQuantity;
|
||||
|
||||
@override
|
||||
Stream<TestSetNewState> mapEventToState(
|
||||
TestSetNewEvent event,
|
||||
) async* {
|
||||
try {
|
||||
if (event is TestSetNewChangeQuantity) {
|
||||
quantity = event.quantity;
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
} else if (event is TestSetNewChangeQuantityUnit) {
|
||||
unitQuantity = event.quantity;
|
||||
exerciseRepository.setUnitQuantity(unitQuantity);
|
||||
} else if (event is TestSetNewSubmit) {
|
||||
yield TestSetNewLoading();
|
||||
exerciseRepository.end = DateTime.now();
|
||||
await exerciseRepository.addExercise();
|
||||
executeBloc.add(
|
||||
TestSetExecuteExerciseFinished(exerciseTypeId: exerciseType.exerciseTypeId, quantity: quantity, unitQuantity: unitQuantity));
|
||||
Track().track(TrackingEvent.test_set_new, eventValue: exerciseType.name);
|
||||
}
|
||||
} on Exception catch (e) {
|
||||
yield TestSetNewError(message: e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
part of 'test_set_new_bloc.dart';
|
||||
|
||||
abstract class TestSetNewEvent extends Equatable {
|
||||
const TestSetNewEvent();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class TestSetNewLoad extends TestSetNewEvent {
|
||||
const TestSetNewLoad();
|
||||
}
|
||||
|
||||
class TestSetNewChangeQuantity extends TestSetNewEvent {
|
||||
final double quantity;
|
||||
const TestSetNewChangeQuantity({this.quantity});
|
||||
|
||||
@override
|
||||
List<Object> get props => [quantity];
|
||||
}
|
||||
|
||||
class TestSetNewChangeQuantityUnit extends TestSetNewEvent {
|
||||
final double quantity;
|
||||
const TestSetNewChangeQuantityUnit({this.quantity});
|
||||
|
||||
@override
|
||||
List<Object> get props => [quantity];
|
||||
}
|
||||
|
||||
class TestSetNewSubmit extends TestSetNewEvent {
|
||||
const TestSetNewSubmit();
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
part of 'test_set_new_bloc.dart';
|
||||
|
||||
abstract class TestSetNewState extends Equatable {
|
||||
const TestSetNewState();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class TestSetNewInitial extends TestSetNewState {
|
||||
const TestSetNewInitial();
|
||||
}
|
||||
|
||||
class TestSetNewLoading extends TestSetNewState {
|
||||
const TestSetNewLoading();
|
||||
}
|
||||
|
||||
class TestSetNewReady extends TestSetNewState {
|
||||
const TestSetNewReady();
|
||||
}
|
||||
|
||||
class TestSetNewError extends TestSetNewState {
|
||||
final String message;
|
||||
const TestSetNewError({this.message});
|
||||
|
||||
@override
|
||||
List<Object> get props => [message];
|
||||
}
|
||||
Reference in New Issue
Block a user