createChamber method
Future<void>
createChamber(
)
override
Implementation
@override
Future<void> createChamber() async {
AppConfig.logger.d("Start ${newChamberNameController.text} and ${newChamberDescController.text}");
try {
errorMsg.value = '';
if((isPublicNewChamber.value && newChamberNameController.text.isNotEmpty && newChamberDescController.text.isNotEmpty)
|| (!isPublicNewChamber.value && newChamberNameController.text.isNotEmpty)) {
NeomChamber newChamber = NeomChamber.createBasic(newChamberNameController.text, newChamberDescController.text);
// --- LOGICA BINAURAL ---
if (baseFreqController.text.isNotEmpty && binauralBeatController.text.isNotEmpty) {
double base = double.parse(baseFreqController.text);
double beat = double.parse(binauralBeatController.text);
// Asumiendo que has agregado estos campos a tu modelo NeomChamber
// Si no existen en el modelo, deberás agregarlos en domain/model/neom/chamber.dart
newChamber.chamberPresets?.first.mainFrequency?.frequency = base;
newChamber.chamberPresets?.first.binauralFrequency?.frequency = beat;
// newChamber.binauralBeat = beat;
// newChamber.isBinauralUpper = isBinauralUpper.value;
// Opcional: Guardar la segunda frecuencia calculada directamente
// newChamber. = isBinauralUpper.value ? (base + beat) : (base - beat);
}
newChamber.ownerId = ownerId;
newChamber.ownerName = ownerName;
newChamber.ownerType = ownerType;
String newItemlistId = "";
if (profile.position?.latitude != 0.0) {
newChamber.position = profile.position!;
}
newChamber.public = isPublicNewChamber.value;
newItemlistId = await chamberRepository.insert(newChamber);
AppConfig.logger.i("Empty NeomChamber created successfully for profile ${newChamber.ownerId}");
newChamber.id = newItemlistId;
if(newItemlistId.isNotEmpty){
chambers[newItemlistId] = newChamber;
AppConfig.logger.t("Itemlists $chambers");
clearNewChamber();
AppUtilities.showSnackBar(
title: GeneratorTranslationConstants.chamberPrefs.tr,
message: GeneratorTranslationConstants.chamberCreated.tr
);
} else {
AppConfig.logger.d("Something happens trying to insert chamber");
}
} else {
AppConfig.logger.d(MessageTranslationConstants.pleaseFillItemlistInfo.tr);
errorMsg.value = newChamberNameController.text.isEmpty ? MessageTranslationConstants.pleaseAddName
: MessageTranslationConstants.pleaseAddDescription;
AppUtilities.showSnackBar(
title: CommonTranslationConstants.addNewItemlist.tr,
message: MessageTranslationConstants.pleaseFillItemlistInfo.tr,
);
}
} catch (e, st) {
NeomErrorLogger.recordError(e, st, module: 'neom_generator', operation: 'createChamber');
}
update([AppPageIdConstants.chamber]);
}