doTransaction function

Future<Map?> doTransaction(
  1. BuildContext context,
  2. {required double amount,
  3. required List<String> emails,
  4. required String description}
)

Implementation

Future<Map<dynamic, dynamic>?> doTransaction(
  BuildContext context, {
  required double amount,
  required List<String> emails,
  required String description,
}) async {
  final Map<dynamic, dynamic>? response =
      await platformRepository.doTransaction(
    context,
    amount: amount,
    emails: emails,
    description: description,
  );

  if (response != null) {
    if (response.containsKey(
      SdkRequiredHardwareEnvironment.gpsIsNeeded,
    )) {
      await showDialog(
        context: context,
        barrierDismissible: false,
        builder: (context) => SdkErrorDialog(
          supportSubject: SdkMailMessages.gpsNeeded,
          title: 'El Gps es necesario',
          description: response[SdkRequiredHardwareEnvironment.gpsIsNeeded],
          icon: Icons.gps_fixed_rounded,
        ),
      );
    } else if (response.containsKey(SdkImportantDataEnvironment.terminalData)) {
      await showDialog(
        context: context,
        barrierDismissible: false,
        builder: (context) => SdkErrorDialog(
          supportSubject: SdkMailMessages.noTerminalData,
          title: 'No hay info de su dispositivo',
          description: response[SdkImportantDataEnvironment.terminalData],
          icon: Icons.device_unknown_rounded,
        ),
      );
    }
  } else {
    showSnackbar(
      context,
      message: 'No se puede realizar la operación',
    );
  }

  return response;
}