getCreateTasks method

  1. @override
List<NewAppTask>? getCreateTasks(
  1. String uniqueId,
  2. AppModel app,
  3. NewAppWizardParameters parameters,
  4. MemberModel member,
  5. HomeMenuProvider homeMenuProvider,
  6. AppBarProvider appBarProvider,
  7. DrawerProvider leftDrawerProvider,
  8. DrawerProvider rightDrawerProvider,
)
override

Implementation

@override
List<NewAppTask>? getCreateTasks(
  String uniqueId,
  AppModel app,
  NewAppWizardParameters parameters,
  MemberModel member,
  HomeMenuProvider homeMenuProvider,
  AppBarProvider appBarProvider,
  DrawerProvider leftDrawerProvider,
  DrawerProvider rightDrawerProvider,
) {
  if (parameters is NewPolicyFromPdfParameters) {
    var policySpecifications = parameters.actionSpecifications;
    var appId = app.documentID;
    if (policySpecifications.shouldCreatePageDialogOrWorkflow()) {
      List<NewAppTask> tasks = [];
      var memberId = member.documentID;

      tasks.add(() async {
        print("Policy Medium");
        var policyMedium = await PdfFromUrlPolicyMediumBuilder(
                parameters.pdfUrl ?? "",
                parameters.baseName ?? "",
                uniqueId,
                app,
                memberId)
            .create();
        parameters.registerTheAppPolicyMedium(policyMedium);
      });

      AppPolicyModel? policyModel;
      tasks.add(() async {
        print("Policy Model");
        var policyMedium = parameters.appPolicyMedium;
        if (policyMedium != null) {
          policyModel =
              await AppPolicyBuilder(uniqueId, appId, memberId, policyMedium)
                  .create();
          if (policyModel != null) {
            parameters.registerTheAppPolicy(policyModel!);
          }
        }
      });

      tasks.add(() async {
        print("Policy Page");
        if (policyModel != null) {
          await PolicyPageBuilder(
            uniqueId,
            policyPageId,
            app,
            memberId,
            homeMenuProvider(),
            appBarProvider(),
            leftDrawerProvider(),
            rightDrawerProvider(),
            policyModel!,
            'Policy',
            'Policy',
          ).create();
        }
      });
      return tasks;
    }
  } else {
    throw Exception('Unexpected class for parameters: $parameters');
  }
  return null;
}