Исправлена возможность провести покупку несколько раз подряд нажав Да

This commit is contained in:
Ivan Murashov
2017-08-22 15:24:13 +03:00
parent 5dacba419d
commit 4c803a7d05
3 changed files with 342 additions and 357 deletions

View File

@@ -30,6 +30,7 @@ class PurchaseScreenState<T> extends BaseState<PurchaseScreen> {
getLoyality(user['loyalty_url']);
}
bool purchaseInProgress = false;
Map user;
String card = '';
String loyality = '';
@@ -169,35 +170,37 @@ class PurchaseScreenState<T> extends BaseState<PurchaseScreen> {
}
purchase(String sum_total) async {
if (await platform.invokeMethod('isOnline')) {
if (!purchaseInProgress) {
purchaseInProgress = true;
platform.invokeMethod('getDocID').then((result) {
platform.invokeMethod('getDocID').then((result) {
String url = user['purchases_url'];
String url = user['purchases_url'];
var body = {
'doc_id': result,
'curr_iso_code': '643',
'commit': 'true',
'sum_total': sum_total
};
var body = {
'doc_id': result,
'curr_iso_code': '643',
'commit': 'true',
'sum_total': sum_total
};
var headers = {
'DM-Authorization': 'dmapptoken $appToken',
'Authorization': 'dmtoken ${token}'
};
var headers = {
'DM-Authorization': 'dmapptoken $appToken',
'Authorization': 'dmtoken ${token}'
};
httpClient.post(url, body: body, headers: headers).then((response) {
httpClient.post(url, body: body, headers: headers).then((response) {
print(response.body);
Navigator.of(context).pop();
pushRoute(context, new PurchaseSuccessScreen(sum_total, user['first_name'] == null ? '' : user['first_name']));
print(response.body);
Navigator.of(context).pop();
pushRoute(context, new PurchaseSuccessScreen(sum_total, user['first_name'] == null ? '' : user['first_name']));
}).catchError((error) {
print(error.toString());
});
});
}).catchError((error) {
purchaseInProgress = false;
print(error.toString());
});
});
}
}
}
}