doTransaction function
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;
}