From d28a3a7148cffb9b6a5ce73be8a1570069873bad Mon Sep 17 00:00:00 2001 From: suresh Date: Wed, 3 Jan 2024 12:59:39 +0530 Subject: [PATCH] code updated 03/01/24 --- lib/biddingrequests.dart | 4 +-- lib/createoffers.dart | 13 +++++--- lib/getalloffers.dart | 44 +++++++++++++++++++++++----- lib/getmedicines.dart | 2 -- lib/medicinecart.dart | 6 ++-- lib/models/biddingrequest_model.dart | 7 +++-- lib/settings.dart | 42 ++++++++++++++++++++++++++ 7 files changed, 97 insertions(+), 21 deletions(-) diff --git a/lib/biddingrequests.dart b/lib/biddingrequests.dart index d31043b..76a6437 100644 --- a/lib/biddingrequests.dart +++ b/lib/biddingrequests.dart @@ -172,9 +172,9 @@ class _BiddingRequestsState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(prescriptionsList[index].bidding_firstName.toString().toUpperCase(),style: valuesTextStyle()), - //Text(prescriptionsList[index].bidding_contactNumber.toString().toUpperCase(),style: valuesTextStyle()), + Text(prescriptionsList[index].bidding_contactNumber.toString().toUpperCase(),style: valuesTextStyle()), Text(prescriptionsList[index].bidding_bookingid.toString().toUpperCase(),style: valuesTextStyle()), - Text(prescriptionsList[index].amount_bidding.toString().toUpperCase(),style: valuesTextStyle()), + Text(prescriptionsList[index].bidding_address.toString().toUpperCase(),style: valuesTextStyle()), Text(prescriptionsList[index].custumerid_bidding.toString().toUpperCase(),style: valuesTextStyle()), Text(prescriptionsList[index].pharmacyid_bidding.toString().toUpperCase(),style: valuesTextStyle()), ], diff --git a/lib/createoffers.dart b/lib/createoffers.dart index ab307ea..f58d486 100644 --- a/lib/createoffers.dart +++ b/lib/createoffers.dart @@ -326,7 +326,7 @@ class _offersState extends State { enabledBorder: OutlineInputBorder( borderSide: BorderSide(color: greyColor), ), - labelText: 'Type of water storage', + labelText: 'Select Type of Category', labelStyle: TextStyle( color: greyColor, //<-- SEE HERE ), @@ -547,13 +547,18 @@ class _offersState extends State { bool offerStatus = await AppSettings.createOffers(payload); try{ if (offerStatus) { - Navigator.pop(context); Navigator.of(context,rootNavigator: true).pop(); - Navigator.push( + AppSettings.longSuccessToast("Offer Created Succesfully!!"); + offer_nameController.text = '' ; + offer_codeController.text = '' ; + descriptionController.text = ''; + starting_dateController.text = ''; + ending_dateController.text = ''; + Navigator.pop(context); + Navigator.push( context, MaterialPageRoute(builder: (context) => Dashboard()), ); - AppSettings.longSuccessToast("Offer Created Succesfully!!"); } else { Navigator.of(context,rootNavigator: true).pop(); AppSettings.longFailedToast("Please enter all fields"); diff --git a/lib/getalloffers.dart b/lib/getalloffers.dart index 001e01c..1d537ea 100644 --- a/lib/getalloffers.dart +++ b/lib/getalloffers.dart @@ -6,6 +6,7 @@ import 'package:geolocator/geolocator.dart'; import 'package:healthcare_pharmacy/companyoffrers.dart'; import 'package:healthcare_pharmacy/getmedicines.dart'; import 'package:healthcare_pharmacy/maps/app_colors.dart'; +import 'package:healthcare_pharmacy/medicinecart.dart'; import 'package:healthcare_pharmacy/models/addoffer_model.dart'; import 'package:healthcare_pharmacy/models/biddingrequest_model.dart'; import 'package:healthcare_pharmacy/models/companyoffer_model.dart'; @@ -15,8 +16,11 @@ import 'package:image_picker/image_picker.dart'; import 'package:photo_view/photo_view.dart'; class GetAllOffers extends StatefulWidget { - const GetAllOffers({Key? key}) : super(key: key); + var bookidID; + GetAllOffers({ + this.bookidID + }); @override State createState() => _GetAllOffersState(); } @@ -29,6 +33,10 @@ class _GetAllOffersState extends State { bool isSereverIssue = false; bool isLoading=false; List checked = []; + TextEditingController BookingidController = TextEditingController(); + TextEditingController offerCodeController = TextEditingController(); + + Future getActiveOffersViewData() async { @@ -56,8 +64,8 @@ class _GetAllOffersState extends State { @override void initState() { getActiveOffersViewData(); - //getAllPharmaciesData(dropdownArea); super.initState(); + BookingidController.text=widget.bookidID; } void _onCheckboxChanged(String id, bool value) { @@ -226,12 +234,32 @@ class _GetAllOffersState extends State { primary: primaryColor, // background onPrimary: Colors.white, // foreground ), - onPressed: () async{ - Navigator.of(context).pop(); - /* Navigator.push( - context, - new MaterialPageRoute( - builder: (__) => new CompanyOffers(phid: checked.toString())));*/ + onPressed: ()async { + // Get the selected offer code from the checked list + String selectedOfferCode = checked.isNotEmpty ? checked[0] : ''; + + // Check if an offer code is selected + if (selectedOfferCode.isNotEmpty) { + bool discountOfferStatus = await AppSettings.discountOffer( + selectedOfferCode, + widget.bookidID, + ); + + if (discountOfferStatus) { + AppSettings.longSuccessToast('Offer added successfully'); + Navigator.of(context).pop(true); + await Navigator.push( + context, + MaterialPageRoute( + builder: (context) => MedicineCartList()) + ); + } else { + AppSettings.longFailedToast('Offer addition failed'); + } + } else { + // Handle the case where no offer code is selected + AppSettings.longFailedToast('Please select an offer'); + } }, child: Text('Submit'), )), diff --git a/lib/getmedicines.dart b/lib/getmedicines.dart index c493d96..fd40517 100644 --- a/lib/getmedicines.dart +++ b/lib/getmedicines.dart @@ -136,7 +136,6 @@ class _GetMedicinesState extends State with TickerProviderStateMix crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - GestureDetector( child: Container( width: MediaQuery.of(context).size.width * .18, @@ -150,7 +149,6 @@ class _GetMedicinesState extends State with TickerProviderStateMix ), onTap: () async { showPicDialog(medImages[0]); - }, ), GestureDetector( diff --git a/lib/medicinecart.dart b/lib/medicinecart.dart index 315fe51..3dba8f1 100644 --- a/lib/medicinecart.dart +++ b/lib/medicinecart.dart @@ -205,7 +205,7 @@ class _MedicineCartListState extends State with TickerProvider ), ), ),), - Container( + /* Container( width: MediaQuery.of(context).size.width, height: 30, child: Align( @@ -215,7 +215,7 @@ class _MedicineCartListState extends State with TickerProvider await Navigator.push( context, MaterialPageRoute( - builder: (context) => const GetAllOffers()), + builder: (context) => GetAllOffers(bookidID:BookingidController.text.toString())), ); }, child: Text( @@ -229,7 +229,7 @@ class _MedicineCartListState extends State with TickerProvider ), ), ), - ), + ),*/ SizedBox( height: 10, diff --git a/lib/models/biddingrequest_model.dart b/lib/models/biddingrequest_model.dart index ebab168..e0aa5e6 100644 --- a/lib/models/biddingrequest_model.dart +++ b/lib/models/biddingrequest_model.dart @@ -7,8 +7,8 @@ class BiddingRequestsModel { String? amount_bidding=''; String? bidding_bookingid=''; String? bidding_firstName=''; - // String? bidding_contactNumber=''; - String? bidding_address1=''; + String? bidding_contactNumber=''; + String? bidding_address=''; String orderStatus=''; String status=''; @@ -28,6 +28,9 @@ class BiddingRequestsModel { rtvm.amount_bidding = json['biddingAmount'].toString() ?? ''; rtvm.bidding_bookingid = json['bookingId'].toString() ?? ''; rtvm.bidding_firstName = json['customerDetails']["firstName"].toString() ?? ''; + rtvm.bidding_firstName = json['customerDetails']["address1"].toString() ?? ''; + rtvm.bidding_firstName = json['customerDetails']["firstName"].toString() ?? ''; + rtvm.status = json['status'] ; diff --git a/lib/settings.dart b/lib/settings.dart index 3719763..e7aaba6 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -189,6 +189,8 @@ class AppSettings { static String inactiveOffersDataUrl = host + 'inactiveOffer'; static String reactiveOffersDataUrl = host + 'reactiveOffer'; static String deleteOfferUrl = host + 'deleteOffer'; + static String discountOfferUrl = host + 'calculateTotalPriceWithDiscount'; + static String medecineDataUrl = host + 'medicine'; static String getAllBiddingDataUrl = host + 'getBiddingRequests'; static String getRequestBiddingDataUrl = host + 'statusBiddingRequest'; @@ -614,6 +616,7 @@ class AppSettings { static Future getCartDetails(bookingId) async { //path parameter var uri = Uri.parse(getCartDataUrl + '/' + bookingId); + // uri = uri.replace(query: 'pharmacyId=$healthpharmaIdsign'); var response = await http.get(uri, headers: await buildRequestHeaders()); var responcedatatemp=jsonDecode(response.body); print("responcedata$responcedatatemp"); @@ -657,6 +660,7 @@ class AppSettings { }); print("Timintgs"+body.toString()); var uri = Uri.parse(addToCartDataUrl); + uri = uri.replace(query: 'pharmacyId=$healthpharmaIdsign'); var response = await http.post( uri, headers: headers, @@ -826,6 +830,44 @@ class AppSettings { return false; } } + + + + static Future discountOffer(String offerCode, String bookidID) async { + try { + // Construct the URL with offerCode as path parameter and bookidID as query parameter + var uri = Uri.parse('$discountOfferUrl/$offerCode').replace(query: 'bookingId=$bookidID'); + + // Make the HTTP request + var response = await http.get(uri, headers: await buildPutRequestHeaders()); + + // Check the response status + if (response.statusCode == 200) { + return true; + } else if (response.statusCode == 401) { + // Handle 401 Unauthorized status if needed + bool status = await AppSettings.resetToken(); + if (status) { + // Retry the request after resetting the token + response = await http.put(uri, headers: await buildPutRequestHeaders()); + if (response.statusCode == 200) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + // Handle other status codes if needed + return false; + } + } catch (e) { + print(e); + return false; + } + } + static Future deleteOffers(offer_code) async { var uri = Uri.parse(inactiveOffersDataUrl + '/' + healthpharmaIdsign); uri = uri.replace(query: 'offer_code=$offer_code');