WT 1.1.26+3 bloc migration
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:aitrainer_app/model/cache.dart';
|
||||
import 'package:aitrainer_app/model/sport.dart';
|
||||
import 'package:aitrainer_app/repository/customer_repository.dart';
|
||||
@@ -21,6 +19,176 @@ class CustomerChangeBloc extends Bloc<CustomerChangeEvent, CustomerChangeState>
|
||||
double weight = 60;
|
||||
double height = 170;
|
||||
CustomerChangeBloc({required this.customerRepository}) : super(CustomerChangeInitial()) {
|
||||
this._load();
|
||||
on<CustomerLoad>(_onLoad);
|
||||
on<CustomerGoalChange>(_onGoalChange);
|
||||
on<CustomerChangePasswordObscure>(_onChangePasswordObscure);
|
||||
on<CustomerFitnessChange>(_onFitnessChange);
|
||||
on<CustomerBirthYearChange>(_onBirthyearChange);
|
||||
on<CustomerWeightChange>(_onWeightChange);
|
||||
on<CustomerHeightChange>(_onHeightChange);
|
||||
on<CustomerBodyTypeChange>(_onBodytypeChange);
|
||||
on<CustomerEmailChange>(_onEmailChange);
|
||||
on<CustomerPasswordChange>(_onPasswordChange);
|
||||
on<CustomerFirstNameChange>(_onFirstNameChange);
|
||||
on<CustomerNameChange>(_onNameChange);
|
||||
on<CustomerGenderChange>(_onGenderChange);
|
||||
on<CustomerSportChange>(_onSportChange);
|
||||
on<CustomerSaveFitness>(_onSaveFitness);
|
||||
on<CustomerSaveGoal>(_onSaveGoal);
|
||||
on<CustomerSaveSex>(_onSaveSex);
|
||||
on<CustomerSaveWeight>(_onSaveWeight);
|
||||
on<CustomerSaveHeight>(_onSaveHeight);
|
||||
on<CustomerSave>(_onSave);
|
||||
}
|
||||
|
||||
void _onLoad(CustomerLoad event, Emitter<CustomerChangeState> emit) async {
|
||||
emit(CustomerChangeLoading());
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onGoalChange(CustomerGoalChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setGoal(event.goal);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onChangePasswordObscure(CustomerChangePasswordObscure event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
visiblePassword = !visiblePassword;
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onFitnessChange(CustomerFitnessChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setFitnessLevel(event.fitness);
|
||||
selectedFitnessItem = event.fitness;
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onBirthyearChange(CustomerBirthYearChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setBirthYear(event.year);
|
||||
year = event.year;
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onWeightChange(CustomerWeightChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setWeight(event.weight);
|
||||
weight = event.weight.toDouble();
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onHeightChange(CustomerHeightChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setHeight(event.height);
|
||||
height = event.height.toDouble();
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onBodytypeChange(CustomerBodyTypeChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setBodyType(event.bodyType);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onEmailChange(CustomerEmailChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setEmail(event.email);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onPasswordChange(CustomerPasswordChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setPassword(event.password);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onFirstNameChange(CustomerFirstNameChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setFirstName(event.firstName);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onNameChange(CustomerNameChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setName(event.name);
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onGenderChange(CustomerGenderChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
customerRepository.setSex(event.gender == 0 ? "m" : "w");
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onSportChange(CustomerSportChange event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
selectedSport = event.sport;
|
||||
print("Selected Sport $selectedSport");
|
||||
emit(CustomerDataChanged());
|
||||
}
|
||||
|
||||
void _onSaveFitness(CustomerSaveFitness event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
if (customerRepository.customer!.fitnessLevel == null) {
|
||||
throw Exception("Please select your fitness level");
|
||||
}
|
||||
emit(CustomerSaveSuccess());
|
||||
}
|
||||
|
||||
void _onSaveGoal(CustomerSaveGoal event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
if (customerRepository.customer!.goal == null) {
|
||||
throw Exception("Please select your goal");
|
||||
}
|
||||
emit(CustomerSaveSuccess());
|
||||
}
|
||||
|
||||
void _onSaveSex(CustomerSaveSex event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
if (customerRepository.customer!.sex == null) {
|
||||
throw Exception("Please select your biologial gender");
|
||||
}
|
||||
emit(CustomerSaveSuccess());
|
||||
}
|
||||
|
||||
void _onSaveWeight(CustomerSaveWeight event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
emit(CustomerSaveSuccess());
|
||||
}
|
||||
|
||||
void _onSaveHeight(CustomerSaveHeight event, Emitter<CustomerChangeState> emit) {
|
||||
emit(CustomerChangeLoading());
|
||||
emit(CustomerSaveSuccess());
|
||||
}
|
||||
|
||||
void _onSave(CustomerSave event, Emitter<CustomerChangeState> emit) async {
|
||||
emit(CustomerSaving());
|
||||
if (validation()) {
|
||||
if (selectedFitnessItem != null) {
|
||||
customerRepository.setFitnessLevel(selectedFitnessItem!);
|
||||
}
|
||||
if (selectedSport != null) {
|
||||
customerRepository.customer!.sportId = selectedSport!.sportId;
|
||||
}
|
||||
|
||||
if (customerRepository.customer!.lang == null) {
|
||||
customerRepository.customer!.lang = AppLanguage().appLocal.languageCode;
|
||||
}
|
||||
|
||||
await customerRepository.saveCustomer();
|
||||
MauticRepository mauticRepository = MauticRepository(customerRepository: customerRepository);
|
||||
await mauticRepository.sendMauticDataChange();
|
||||
Cache().initBadges();
|
||||
emit(CustomerSaveSuccess());
|
||||
} else {
|
||||
emit(CustomerSaveError(message: "Please provide the necessary information"));
|
||||
}
|
||||
}
|
||||
|
||||
void _load() {
|
||||
if (this.customerRepository.customer == null) {
|
||||
this.customerRepository.createNew();
|
||||
}
|
||||
@@ -38,119 +206,6 @@ class CustomerChangeBloc extends Bloc<CustomerChangeEvent, CustomerChangeState>
|
||||
Sport? selectedSport;
|
||||
String? selectedFitnessItem;
|
||||
|
||||
@override
|
||||
Stream<CustomerChangeState> mapEventToState(
|
||||
CustomerChangeEvent event,
|
||||
) async* {
|
||||
try {
|
||||
print("Event: $event");
|
||||
if (event is CustomerLoad) {
|
||||
yield CustomerChangeLoading();
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerGoalChange) {
|
||||
yield CustomerChangeLoading();
|
||||
customerRepository.setGoal(event.goal);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerChangePasswordObscure) {
|
||||
yield CustomerChangeLoading();
|
||||
visiblePassword = !visiblePassword;
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerFitnessChange) {
|
||||
yield CustomerChangeLoading();
|
||||
customerRepository.setFitnessLevel(event.fitness);
|
||||
selectedFitnessItem = event.fitness;
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerBirthYearChange) {
|
||||
yield CustomerChangeLoading();
|
||||
customerRepository.setBirthYear(event.year);
|
||||
year = event.year;
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerWeightChange) {
|
||||
//yield CustomerChangeLoading();
|
||||
customerRepository.setWeight(event.weight);
|
||||
weight = event.weight.toDouble();
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerHeightChange) {
|
||||
yield CustomerChangeLoading();
|
||||
customerRepository.setHeight(event.height);
|
||||
height = event.height.toDouble();
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerBodyTypeChange) {
|
||||
customerRepository.setBodyType(event.bodyType);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerEmailChange) {
|
||||
customerRepository.setEmail(event.email);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerPasswordChange) {
|
||||
customerRepository.setPassword(event.password);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerFirstNameChange) {
|
||||
customerRepository.setFirstName(event.firstName);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerNameChange) {
|
||||
customerRepository.setName(event.name);
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerGenderChange) {
|
||||
yield CustomerChangeLoading();
|
||||
customerRepository.setSex(event.gender == 0 ? "m" : "w");
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerSportChange) {
|
||||
yield CustomerChangeLoading();
|
||||
selectedSport = event.sport;
|
||||
print("Selected Sport $selectedSport");
|
||||
yield CustomerDataChanged();
|
||||
} else if (event is CustomerSaveFitness) {
|
||||
yield CustomerChangeLoading();
|
||||
if (customerRepository.customer!.fitnessLevel == null) {
|
||||
throw Exception("Please select your fitness level");
|
||||
}
|
||||
yield CustomerSaveSuccess();
|
||||
} else if (event is CustomerSaveGoal) {
|
||||
yield CustomerChangeLoading();
|
||||
if (customerRepository.customer!.goal == null) {
|
||||
throw Exception("Please select your goal");
|
||||
}
|
||||
yield CustomerSaveSuccess();
|
||||
} else if (event is CustomerSaveSex) {
|
||||
yield CustomerChangeLoading();
|
||||
if (customerRepository.customer!.sex == null) {
|
||||
throw Exception("Please select your biologial gender");
|
||||
}
|
||||
yield CustomerSaveSuccess();
|
||||
} else if (event is CustomerSaveWeight) {
|
||||
yield CustomerChangeLoading();
|
||||
yield CustomerSaveSuccess();
|
||||
} else if (event is CustomerSaveHeight) {
|
||||
yield CustomerChangeLoading();
|
||||
yield CustomerSaveSuccess();
|
||||
} else if (event is CustomerSave) {
|
||||
yield CustomerSaving();
|
||||
if (validation()) {
|
||||
if (selectedFitnessItem != null) {
|
||||
customerRepository.setFitnessLevel(selectedFitnessItem!);
|
||||
}
|
||||
if (selectedSport != null) {
|
||||
customerRepository.customer!.sportId = selectedSport!.sportId;
|
||||
}
|
||||
|
||||
if (customerRepository.customer!.lang == null) {
|
||||
customerRepository.customer!.lang = AppLanguage().appLocal.languageCode;
|
||||
}
|
||||
|
||||
await customerRepository.saveCustomer();
|
||||
MauticRepository mauticRepository = MauticRepository(customerRepository: customerRepository);
|
||||
await mauticRepository.sendMauticDataChange();
|
||||
Cache().initBadges();
|
||||
yield CustomerSaveSuccess();
|
||||
} else {
|
||||
yield CustomerSaveError(message: "Please provide the necessary information");
|
||||
}
|
||||
}
|
||||
} on Exception catch (e) {
|
||||
yield CustomerSaveError(message: e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
bool validation() {
|
||||
if (customerRepository.customer == null) throw Exception("Customer object not defined");
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user