Advertisement
Muhazam

widget checkout data

Feb 5th, 2020
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.50 KB | None | 0 0
  1.  saveCheckout(Carts cart) async {
  2.     showDialog(
  3.         context: context,
  4.         builder: (context) {
  5.           return AlertDialog(
  6.             title: Text('Processing'),
  7.             content: Container(
  8.               child: Column(
  9.                 mainAxisSize: MainAxisSize.min,
  10.                 children: <Widget>[
  11.                   CircularProgressIndicator(
  12.                     backgroundColor: Colors.amber,
  13.                   ),
  14.                   SizedBox(
  15.                     height: 4,
  16.                   ),
  17.                   Text("Loading...")
  18.                 ],
  19.               ),
  20.             ),
  21.           );
  22.         });
  23.     try {
  24.       var url = Uri.parse("http://172.17.1.39/menu_foods_resto/api/add_checkout_foods.php");
  25.       var request = http.MultipartRequest("POST", url);
  26.  
  27.       request.fields['nameCustomer'] = orderNameController.text;
  28.       request.fields['tableNumber'] = tableController.text;
  29.        
  30.         // data yang di simpan dg insert multiple row adalah data yg dipilih dari data cart per id barang/makanan
  31.  
  32.         // data quantity yang di looping & di simpan dg insert multiple row di table_purchase
  33.       for (CartModels cart in cart.cartItems) {
  34.         var qty = cart.quantities;
  35.         request.fields['quantity'] = qty.toString();
  36.       print(qty);
  37.       }
  38.        
  39.         // data id_foods yang dilooping & disimpan insert multiple row di table_purchase
  40.       for (CartModels cart in cart.cartItems) {
  41.         idFoods = cart.foods.id ;
  42.         request.fields['idFoods'] = idFoods.toString();
  43.         print(idFoods);
  44.       }
  45.    
  46.     // data total harga, nama customer, & nomor meja disimpan langsung di table received_checkout_data tanpa menggunakan insert multiple row
  47.  
  48.     // data total harga yg disimpan di table received_checkout_data (tidak menggunakan insert multiple row)
  49.       double total = 0;
  50.       for (CartModels cart in cart.cartItems) {
  51.         total += cart.foods.foodsPrice * cart.quantities;
  52.       }
  53.       request.fields['totalPrice'] = total.toStringAsFixed(2);
  54.       print(total);
  55.  
  56.       var response = await request.send();
  57.       response.stream.transform(utf8.decoder).listen((value) {
  58.         print(value);
  59.         final data = jsonDecode(value);
  60.         int valueGet = data['value'];
  61.         String message = data['message'];
  62.         if (valueGet == 1) {
  63.           Navigator.pop(context);
  64.           print(message);
  65.         } else {
  66.           Navigator.pop(context);
  67.           print(message);
  68.         }
  69.       });
  70.     } catch (e) {
  71.       debugPrint("Error $e");
  72.     }
  73.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement