updateChamber method
Future<void>
updateChamber(
- String itemlistId,
- NeomChamber itemlist
)
override
Implementation
@override
Future<void> updateChamber(String itemlistId, NeomChamber itemlist) async {
AppConfig.logger.d("Updating to $itemlist");
try {
isLoading.value = true;
update([AppPageIdConstants.itemlist]);
String newName = newChamberNameController.text;
String newDesc = newChamberDescController.text;
if((newName.isNotEmpty && newName.toLowerCase() != itemlist.name.toLowerCase())
|| (newDesc.isNotEmpty && newDesc.toLowerCase() != itemlist.description.toLowerCase())) {
if(newChamberNameController.text.isNotEmpty) {
itemlist.name = newChamberNameController.text;
}
if(newChamberDescController.text.isNotEmpty) {
itemlist.description = newChamberDescController.text;
}
if(await chamberRepository.update(itemlist)){
AppConfig.logger.d("NeomChamber $itemlistId updated");
chambers[itemlist.id] = itemlist;
clearNewChamber();
AppUtilities.showSnackBar(
title: CommonTranslationConstants.itemlistPrefs.tr,
message: CommonTranslationConstants.itemlistUpdated.tr
);
} else {
AppConfig.logger.i("Something happens trying to update itemlist");
AppUtilities.showSnackBar(
title: CommonTranslationConstants.itemlistPrefs.tr,
message: MessageTranslationConstants.itemlistUpdatedErrorMsg.tr
);
}
} else {
AppUtilities.showSnackBar(
title: CommonTranslationConstants.itemlistPrefs.tr,
message: CommonTranslationConstants.itemlistUpdateSameInfo.tr
);
}
} catch (e, st) {
NeomErrorLogger.recordError(e, st, module: 'neom_generator', operation: 'updateChamber');
AppUtilities.showSnackBar(
title: CommonTranslationConstants.itemlistPrefs.tr,
message: MessageTranslationConstants.itemlistUpdatedErrorMsg.tr
);
}
isLoading.value = false;
update([AppPageIdConstants.chamber]);
}