fromEntityPlus static method

Future<DialogModel?> fromEntityPlus(
  1. String documentID,
  2. DialogEntity? entity, {
  3. String? appId,
})

Implementation

static Future<DialogModel?> fromEntityPlus(
    String documentID, DialogEntity? entity,
    {String? appId}) async {
  if (entity == null) return null;

  GridViewModel? gridViewHolder;
  if (entity.gridViewId != null) {
    try {
      gridViewHolder =
          await gridViewRepository(appId: appId)!.get(entity.gridViewId);
    } on Exception catch (e) {
      print('Error whilst trying to initialise gridView');
      print('Error whilst retrieving gridView with id ${entity.gridViewId}');
      print('Exception: $e');
    }
  }

  var counter = 0;
  return DialogModel(
    documentID: documentID,
    appId: entity.appId ?? '',
    title: entity.title,
    description: entity.description,
    bodyComponents: entity.bodyComponents == null
        ? null
        : List<BodyComponentModel>.from(
            await Future.wait(entity.bodyComponents!.map((item) {
            counter++;
            return BodyComponentModel.fromEntityPlus(counter.toString(), item,
                appId: appId);
          }).toList())),
    backgroundOverride: await BackgroundModel.fromEntityPlus(
        entity.backgroundOverride,
        appId: appId),
    layout: toDialogLayout(entity.layout),
    includeHeading: entity.includeHeading,
    gridView: gridViewHolder,
    conditions: await StorageConditionsModel.fromEntityPlus(entity.conditions,
        appId: appId),
  );
}