addPresetToChamber method

  1. @override
Future<bool> addPresetToChamber(
  1. ChamberPreset chamberPreset,
  2. String chamberId
)
override

Implementation

@override
Future<bool> addPresetToChamber(ChamberPreset chamberPreset, String chamberId) async {

  AppConfig.logger.d("Item ${chamberPreset.name} would be added as $itemState for Itemlist $chamberId");

  try {
    if(await ChamberFirestore().addPreset(chamberId, chamberPreset)) {
      if (chamberOwner == OwnerType.profile) {
        if (userServiceImpl.profile.itemlists!.isNotEmpty) {
          AppConfig.logger.d("Adding item to global itemlist from userController");
          userServiceImpl.profile.chambers![chamberId]!.chamberPresets!.add(chamberPreset);
          chamber = userServiceImpl.profile.chambers![chamberId]!;
          loadPresetsFromChamber();
        }

        FirebaseMessagingCalls.sendPublicPushNotification(
            fromProfile: userServiceImpl.profile,
            notificationType: PushNotificationType.chamberPresetAdded,
            toProfileId: '',
            title: GeneratorTranslationConstants.chamberPresetAdded,
            referenceId: chamberPreset.id,
            imgUrl: chamberPreset.imgUrl
        );

        return true;
      } else if (chamberOwner == OwnerType.band) {
        if (userServiceImpl.band.itemlists!.isNotEmpty) {
          AppConfig.logger.d("Adding item to global itemlist from userController");
          userServiceImpl.band.chambers![chamberId]!.chamberPresets!.add(chamberPreset);
          chamber = userServiceImpl.band.chambers![chamberId]!;
          loadPresetsFromChamber();
        }
        return true;
      }
    }
  } catch (e) {
    AppConfig.logger.e(e.toString());
  }

  update([AppPageIdConstants.chamberPresets, AppPageIdConstants.chamber, AppPageIdConstants.chamberPresetDetails]);
  return false;
}