addPreset method
Implementation
Future<void> addPreset(BuildContext context, {int frequencyPracticeState = 0}) async {
if(!isButtonDisabled.value) {
isButtonDisabled.value = true;
isLoading.value = true;
update([AppPageIdConstants.generator]);
AppConfig.logger.i("ChamberPreset would be added as $frequencyState for Itemlist ${chamber.value.id}");
if(frequencyPracticeState > 0) frequencyState.value = frequencyPracticeState;
if(noChambers) {
chamber.value.name = CommonTranslationConstants.myFavItemlistName.tr;
chamber.value.description = CommonTranslationConstants.myFavItemlistDesc.tr;
chamber.value.imgUrl = AppProperties.getAppLogoUrl();
chamber.value.ownerId = profile?.id ?? '';
chamber.value.id = await ChamberFirestore().insert(chamber.value);
} else {
if(chamber.value.id.isEmpty) chamber.value.id = chambers.values.first.id;
}
if(chamber.value.id.isNotEmpty) {
try {
chamberPreset.id = "${chamberPreset.neomFrequency!.frequency.ceilToDouble().toString()}_${chamberPreset.neomParameter!.volume.toString()}"
"_${chamberPreset.neomParameter!.x.toString()}_${chamberPreset.neomParameter!.y.toString()}_${chamberPreset.neomParameter!.z.toString()}";
chamberPreset.name = "${AppTranslationConstants.frequency.tr} ${chamberPreset.neomFrequency!.frequency.ceilToDouble().toString()} Hz";
chamberPreset.imgUrl = AppProperties.getAppLogoUrl();
chamberPreset.ownerId = profile?.id ?? '';
chamberPreset.neomFrequency!.description = frequencyDescription.value;
if(await ChamberFirestore().addPreset(chamber.value.id, chamberPreset)) {
await ProfileFirestore().addChamberPreset(profileId: profile?.id ?? '', chamberPresetId: chamberPreset.id);
await userServiceImpl?.reloadProfileItemlists();
await userServiceImpl?.loadProfileChambers();
userServiceImpl?.profile.chamberPresets?.add(chamberPreset.id);
AppConfig.logger.d("Preset added to Neom Chamber");
} else {
AppConfig.logger.d("Preset not added to Neom Chamber");
}
} catch (e) {
AppConfig.logger.e(e.toString());
AppUtilities.showSnackBar(
title: AppTranslationConstants.generator.tr,
message: 'Algo salió mal agregando tu preset a tu cámara Neom.'
);
}
AppUtilities.showSnackBar(
title: AppTranslationConstants.generator.tr,
message: 'El preajuste para la frecuencia de "${chamberPreset.neomFrequency!.frequency.ceilToDouble().toString()}"'
' Hz fue agregado a la Cámara Neom: ${chamber.value.name}.'
);
}
}
existsInChamber.value = true;
isButtonDisabled.value = false;
isLoading.value = false;
update([]);
}