createChamber method

  1. @override
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)) {
      Chamber newItemlist = Chamber.createBasic(newChamberNameController.text, newChamberDescController.text);

      newItemlist.ownerId = ownerId;
      newItemlist.ownerName = ownerName;
      newItemlist.ownerType = ownerType;
      String newItemlistId = "";

      if (profile.position?.latitude != 0.0) {
        newItemlist.position = profile.position!;
      }

      newItemlist.public = isPublicNewChamber.value;
      newItemlistId = await ChamberFirestore().insert(newItemlist);

      ///DEPRECATED
      // if(isPublicNewItemlist.value) {
      //   AppConfig.logger.i("Inserting Public Chamber to Public collection");
      //   newItemlistId = await ChamberFirestore().insert(newItemlist);
      // } else {
      //   AppConfig.logger.i("Inserting Private Chamber to collection for profileId ${newItemlist.ownerId}");
      //   newItemlistId = await ChamberFirestore().insert(newItemlist);
      // }

      AppConfig.logger.i("Empty Chamber created successfully for profile ${newItemlist.ownerId}");
      newItemlist.id = newItemlistId;

      if(newItemlistId.isNotEmpty){
        chambers[newItemlistId] = newItemlist;
        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) {
    AppConfig.logger.e(e.toString());
  }

  update([AppPageIdConstants.chamber]);
}