@ -4,6 +4,7 @@ import 'dart:developer';
import ' package:diplomaticquarterapp/config/config.dart ' ;
import ' package:diplomaticquarterapp/config/config.dart ' ;
import ' package:diplomaticquarterapp/config/shared_pref_kay.dart ' ;
import ' package:diplomaticquarterapp/config/shared_pref_kay.dart ' ;
import ' package:diplomaticquarterapp/core/model/ResponseModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/ResponseModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/AddProductToCartRequestModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/AddProductToCartRequestModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/CreateCustomerRequestModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/CreateCustomerRequestModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/OffersCategoriesRequestModel.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/requests/OffersCategoriesRequestModel.dart ' ;
@ -15,13 +16,12 @@ import 'package:diplomaticquarterapp/core/model/packages_offers/responses/Packag
import ' package:diplomaticquarterapp/core/model/packages_offers/responses/order_response_model.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/responses/order_response_model.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/responses/tamara_payment_option.dart ' ;
import ' package:diplomaticquarterapp/core/model/packages_offers/responses/tamara_payment_option.dart ' ;
import ' package:diplomaticquarterapp/core/service/base_service.dart ' ;
import ' package:diplomaticquarterapp/core/service/base_service.dart ' ;
import ' package:diplomaticquarterapp/core/viewModels/project_view_model.dart ' ;
import ' package:diplomaticquarterapp/models/Authentication/authenticated_user.dart ' ;
import ' package:diplomaticquarterapp/models/Authentication/authenticated_user.dart ' ;
import ' package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart ' ;
import ' package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart ' ;
import ' package:diplomaticquarterapp/uitl/utils.dart ' ;
import ' package:flutter/cupertino.dart ' ;
import ' package:flutter/cupertino.dart ' ;
var packagesAuthHeader = < String , String > { ' Authorization ' : ' ' } ;
Map < String , String > packagesAuthHeader = { } ;
class OffersAndPackagesServices extends BaseService {
class OffersAndPackagesServices extends BaseService {
AuthenticatedUser patientUser ;
AuthenticatedUser patientUser ;
List < PackagesCategoriesResponseModel > categoryList = List ( ) ;
List < PackagesCategoriesResponseModel > categoryList = List ( ) ;
@ -31,9 +31,10 @@ class OffersAndPackagesServices extends BaseService {
List < PackagesResponseModel > bestSellerList = List ( ) ;
List < PackagesResponseModel > bestSellerList = List ( ) ;
List < PackagesResponseModel > bannersList = List ( ) ;
List < PackagesResponseModel > bannersList = List ( ) ;
List < PackagesCartItemsResponseModel > cartItemList = List ( ) ;
List < PackagesCartItemsResponseModel > cartItemList = List ( ) ;
List < HospitalsModel > _hospitals = List ( ) ;
List < HospitalsModel > get hospitals = > _hospitals ;
String cartItemCount = " " ;
String cartItemCount = " " ;
PackagesCustomerResponseModel customer ;
PackagesCustomerResponseModel customer ;
Future < List < PackagesCategoriesResponseModel > > getAllCategories ( OffersCategoriesRequestModel request ) async {
Future < List < PackagesCategoriesResponseModel > > getAllCategories ( OffersCategoriesRequestModel request ) async {
@ -47,8 +48,7 @@ class OffersAndPackagesServices extends BaseService {
categoryList . add ( PackagesCategoriesResponseModel ( ) . fromJson ( json ) ) ;
categoryList . add ( PackagesCategoriesResponseModel ( ) . fromJson ( json ) ) ;
} ) ;
} ) ;
}
}
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) { } , queryParams: request . toFlatMap ( ) ) ;
} , queryParams: request . toFlatMap ( ) ) ;
return categoryList ;
return categoryList ;
}
}
@ -57,7 +57,7 @@ class OffersAndPackagesServices extends BaseService {
Future errorThrow ;
Future errorThrow ;
request . sinceId = ( productList . isNotEmpty ) ? productList . last . id : 0 ;
request . sinceId = ( productList . isNotEmpty ) ? productList . last . id : 0 ;
productList = List ( ) ;
productList = List ( ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
@ -67,15 +67,13 @@ class OffersAndPackagesServices extends BaseService {
productList . add ( PackagesResponseModel ( ) . fromJson ( json ) ) ;
productList . add ( PackagesResponseModel ( ) . fromJson ( json ) ) ;
} ) ;
} ) ;
}
}
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) { } , queryParams: request . toFlatMap ( ) ) ;
} , queryParams: request . toFlatMap ( ) ) ;
return productList ;
return productList ;
}
}
Future < List < TamaraPaymentOption > > getTamaraOptions ( { @ required BuildContext context , @ required bool showLoading = true } ) async {
Future < List < TamaraPaymentOption > > getTamaraOptions ( { @ required BuildContext context , @ required bool showLoading = true } ) async {
if ( tamaraPaymentOptions ! = null & & tamaraPaymentOptions . isNotEmpty )
if ( tamaraPaymentOptions ! = null & & tamaraPaymentOptions . isNotEmpty ) return tamaraPaymentOptions ;
return tamaraPaymentOptions ;
var url = EXA_CART_API_BASE_URL + PACKAGES_TAMARA_OPT ;
var url = EXA_CART_API_BASE_URL + PACKAGES_TAMARA_OPT ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
@ -93,9 +91,9 @@ class OffersAndPackagesServices extends BaseService {
}
}
Future < List < PackagesResponseModel > > getLatestOffers ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
Future < List < PackagesResponseModel > > getLatestOffers ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
latestOffersList . clear ( ) ;
if ( statusCode = = 200 ) {
if ( statusCode = = 200 ) {
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
jsonResponse [ ' products ' ] . forEach ( ( json ) {
jsonResponse [ ' products ' ] . forEach ( ( json ) {
@ -110,9 +108,9 @@ class OffersAndPackagesServices extends BaseService {
}
}
Future < List < PackagesResponseModel > > getBestSellers ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
Future < List < PackagesResponseModel > > getBestSellers ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
bestSellerList . clear ( ) ;
if ( statusCode = = 200 ) {
if ( statusCode = = 200 ) {
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
jsonResponse [ ' products ' ] . forEach ( ( json ) {
jsonResponse [ ' products ' ] . forEach ( ( json ) {
@ -126,7 +124,6 @@ class OffersAndPackagesServices extends BaseService {
return bestSellerList ;
return bestSellerList ;
}
}
Future < List < PackagesResponseModel > > getBanners ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
Future < List < PackagesResponseModel > > getBanners ( { @ required OffersProductsRequestModel request , @ required BuildContext context , @ required bool showLoading = true } ) async {
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
@ -143,15 +140,13 @@ class OffersAndPackagesServices extends BaseService {
return bannersList ;
return bannersList ;
}
}
Future loadOffersPackagesDataForMainPage ( { @ required BuildContext context , bool showLoading = true , Function completion } ) async {
Future loadOffersPackagesDataForMainPage ( { @ required BuildContext context , bool showLoading = true , Function completion } ) async {
var finished = 0 ;
var finished = 0 ;
var totalCalls = 3 ;
var totalCalls = 2 ;
completedAll ( ) {
completedAll ( ) {
finished + + ;
finished + + ;
if ( completion ! = null & & finished = = totalCalls ) {
if ( completion ! = null & & finished = = totalCalls ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
completion ( ) ;
completion ( ) ;
}
}
@ -160,57 +155,56 @@ class OffersAndPackagesServices extends BaseService {
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
final auth_token = await baseAppClient . generatePackagesToken ( ) ;
final auth_token = await baseAppClient . generatePackagesToken ( ) ;
if ( auth_token = = null ) {
if ( auth_token = = null ) {
throw ' Something went wrong while authentication, Please try again letter ' ;
throw ' Something went wrong while authentication, Please try again letter ' ;
}
}
packagesAuthHeader [ " Authorization " ] = ' Bearer $ auth_token ' ;
packagesAuthHeader [ " Authorization " ] = ' Bearer $ auth_token ' ;
/ / Check and Create Customer
/ / Check and Create Customer
if ( patientUser ! = null ) {
if ( patientUser ! = null ) {
customer = await getCurrentCustomer ( context: context , showLoading: showLoading ) ;
customer = await getCurrentCustomer ( context: context , showLoading: showLoading ) ;
if ( customer = = null ) {
if ( customer = = null ) {
createCustomer ( PackagesCustomerRequestModel . fromUser ( patientUser ) , context: context ) ;
createCustomer ( PackagesCustomerRequestModel . fromUser ( patientUser ) , context: context ) ;
}
}
}
}
/ / Performing Parallel Request on same time
/ / Performing Parallel Request on same time
/ / # 1
/ / # 1
getBestSellers ( request: OffersProductsRequestModel ( ) , context: context , showLoading: false ) . then ( ( value ) {
getBestSellers ( request: OffersProductsRequestModel ( ) , context: context , showLoading: false ) . then ( ( value ) {
completedAll ( ) ;
completedAll ( ) ;
} ) ;
} ) ;
/ / # 2
/ / # 2
getLatestOffers ( request: OffersProductsRequestModel ( ) , context: context , showLoading: false ) . then ( ( value ) {
getLatestOffers ( request: OffersProductsRequestModel ( ) , context: context , showLoading: false ) . then ( ( value ) {
completedAll ( ) ;
completedAll ( ) ;
} ) ;
} ) ;
/ / # 3
/ / # 3
getBanners ( request: OffersProductsRequestModel ( ) , context: context , showLoading: false ) . then ( ( value ) {
/ / getBanners (
completedAll ( ) ;
/ / request: OffersProductsRequestModel ( ) ,
} ) ;
/ / context: context ,
/ / showLoading: false )
/ / . then ( ( value ) {
/ / completedAll ( ) ;
/ / } ) ;
}
}
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
/ / Create Customer
/ / Create Customer
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
Future createCustomer ( PackagesCustomerRequestModel request , { @ required BuildContext context , bool showLoading = true , Function ( bool ) completion } ) async {
Future createCustomer ( PackagesCustomerRequestModel request , { @ required BuildContext context , bool showLoading = true , Function ( bool ) completion } ) async {
if ( customer ! = null )
if ( customer ! = null ) return Future . value ( customer ) ;
return Future . value ( customer ) ;
customer = null ;
customer = null ;
Future errorThrow ;
Future errorThrow ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_CUSTOMER ;
var url = EXA_CART_API_BASE_URL + PACKAGES_CUSTOMER ;
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var customerJson = jsonResponse [ ' customers ' ] . first ;
var customerJson = jsonResponse [ ' customers ' ] . first ;
customer = PackagesCustomerResponseModel . fromJson ( customerJson ) ;
customer = PackagesCustomerResponseModel . fromJson ( customerJson ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
errorThrow = Future . error ( error ) ;
errorThrow = Future . error ( error ) ;
log ( error ) ;
log ( error ) ;
} ) ;
} ) ;
@ -221,37 +215,33 @@ class OffersAndPackagesServices extends BaseService {
return errorThrow ? ? customer ;
return errorThrow ? ? customer ;
}
}
Future < PackagesCustomerResponseModel > getCurrentCustomer ( { @ required BuildContext context , bool showLoading = true } ) async {
Future < PackagesCustomerResponseModel > getCurrentCustomer ( { @ required BuildContext context , bool showLoading = true } ) async {
if ( customer ! = null )
if ( customer ! = null ) return Future . value ( customer ) ;
return Future . value ( customer ) ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_CUSTOMER + " /username/ ${ patientUser . patientID } " ;
var url = EXA_CART_API_BASE_URL + PACKAGES_CUSTOMER + " /username/ ${ patientUser . patientID } " ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var customerJson = jsonResponse [ ' customers ' ] . first ;
var customerJson = jsonResponse [ ' customers ' ] . first ;
customer = PackagesCustomerResponseModel . fromJson ( customerJson ) ;
customer = PackagesCustomerResponseModel . fromJson ( customerJson ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
log ( error ) ;
log ( error ) ;
} ) ;
} ) ;
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
return customer ;
return customer ;
}
}
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
/ / Shopping Cart
/ / Shopping Cart
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
Future < Map < String , dynamic > > cartItems ( { @ required BuildContext context , bool showLoading = true } ) async {
Future < Map < String , dynamic > > cartItems ( { @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
cartItemList . clear ( ) ;
cartItemList . clear ( ) ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / ${ customer . id } ' ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / ${ customer . id } ' ;
Map < String , dynamic > jsonResponse ;
Map < String , dynamic > jsonResponse ;
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleGet ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
@ -259,17 +249,16 @@ class OffersAndPackagesServices extends BaseService {
jsonResponse [ ' shopping_carts ' ] . forEach ( ( json ) {
jsonResponse [ ' shopping_carts ' ] . forEach ( ( json ) {
cartItemList . add ( PackagesCartItemsResponseModel . fromJson ( json ) ) ;
cartItemList . add ( PackagesCartItemsResponseModel . fromJson ( json ) ) ;
} ) ;
} ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
log ( error ) ;
log ( error ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
} , queryParams: null ) ;
} , queryParams: null ) ;
return errorThrow ? ? jsonResponse ;
return errorThrow ? ? jsonResponse ;
}
}
Future < ResponseModel < PackagesCartItemsResponseModel > > addProductToCart ( AddProductToCartRequestModel request , { @ required BuildContext context , bool showLoading = true } ) async {
Future < ResponseModel < PackagesCartItemsResponseModel > > addProductToCart ( AddProductToCartRequestModel request , { @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
ResponseModel < PackagesCartItemsResponseModel > response ;
ResponseModel < PackagesCartItemsResponseModel > response ;
@ -277,15 +266,14 @@ class OffersAndPackagesServices extends BaseService {
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART ;
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var jsonCartItem = jsonResponse [ " shopping_carts " ] [ 0 ] ;
var jsonCartItem = jsonResponse [ " shopping_carts " ] [ 0 ] ;
response = ResponseModel ( status: true , data: PackagesCartItemsResponseModel . fromJson ( jsonCartItem ) , error: null ) ;
response = ResponseModel ( status: true , data: PackagesCartItemsResponseModel . fromJson ( jsonCartItem ) , error: null ) ;
cartItemCount = ( jsonResponse [ ' count ' ] ? ? 0 ) . toString ( ) ;
cartItemCount = ( jsonResponse [ ' count ' ] ? ? 0 ) . toString ( ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
errorThrow = Future . error ( ResponseModel ( status: true , data: null , error: error ) ) ;
errorThrow = Future . error ( ResponseModel ( status: true , data: null , error: error ) ) ;
} ) ;
} ) ;
@ -293,39 +281,35 @@ class OffersAndPackagesServices extends BaseService {
return errorThrow ? ? response ;
return errorThrow ? ? response ;
}
}
Future updateProductToCart ( int cartItemID , { UpdateProductToCartRequestModel request , @ required BuildContext context , bool showLoading = true } ) async {
Future updateProductToCart ( int cartItemID , { UpdateProductToCartRequestModel request , @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / $ cartItemID ' ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / $ cartItemID ' ;
await baseAppClient . simplePut ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simplePut ( url , headers: packagesAuthHeader , body: request . json ( ) , onSuccess: ( dynamic stringResponse , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
log ( error ) ;
log ( error ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
} ) ;
} ) ;
return errorThrow ? ? bannersList ;
return errorThrow ? ? bannersList ;
}
}
Future < bool > deleteProductFromCart ( int cartItemID , { @ required BuildContext context , bool showLoading = true } ) async {
Future < bool > deleteProductFromCart ( int cartItemID , { @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / $ cartItemID ' ;
var url = EXA_CART_API_BASE_URL + PACKAGES_SHOPPING_CART + ' / $ cartItemID ' ;
await baseAppClient . simpleDelete ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simpleDelete ( url , headers: packagesAuthHeader , onSuccess: ( dynamic stringResponse , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
/ / var jsonResponse = json . decode ( stringResponse ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
log ( error ) ;
log ( error ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
errorThrow = Future . error ( { " error " : error , " statusCode " : statusCode } ) ;
} ) ;
} ) ;
return errorThrow ? ? true ;
return errorThrow ? ? true ;
@ -334,29 +318,28 @@ class OffersAndPackagesServices extends BaseService {
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
/ / Place Order
/ / Place Order
/ / - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - -
Future placeOrder ( { @ required Map < dynamic , dynamic > paymentParams , @ required BuildContext context , bool showLoading = true } ) async {
Future placeOrder ( { @ required Map < dynamic , dynamic > paymentParams , @ required int projectID , @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
Map < dynamic , dynamic > jsonBody = {
Map < dynamic , dynamic > jsonBody = {
" customer_id " : customer . id ,
" customer_id " : customer . id ,
" billing_address " : {
" project_id " : projectID ,
" email " : patientUser . emailAddress ,
" billing_address " : { " email " : patientUser . emailAddress , " phone_number " : patientUser . mobileNumber } ,
" phone_number " : patientUser . mobileNumber
} ,
} ;
} ;
jsonBody . addAll ( paymentParams ) ;
jsonBody . addAll ( paymentParams ) ;
jsonBody = { ' order ' : jsonBody } ;
jsonBody = { ' order ' : jsonBody } ;
print ( jsonBody ) ;
int order_id ;
int order_id ;
_showLoading ( context , showLoading ) ;
_showLoading ( context , showLoading ) ;
var url = EXA_CART_API_BASE_URL + PACKAGES_ORDERS ;
var url = EXA_CART_API_BASE_URL + PACKAGES_ORDERS ;
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: jsonBody , onSuccess: ( dynamic stringResponse , int statusCode ) {
await baseAppClient . simplePost ( url , headers: packagesAuthHeader , body: jsonBody , onSuccess: ( dynamic stringResponse , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
order_id = jsonResponse [ ' orders ' ] [ 0 ] [ ' id ' ] ;
order_id = jsonResponse [ ' orders ' ] [ 0 ] [ ' id ' ] ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
log ( error ) ;
log ( error ) ;
errorThrow = Future . error ( error ) ;
errorThrow = Future . error ( error ) ;
@ -365,7 +348,7 @@ class OffersAndPackagesServices extends BaseService {
return errorThrow ? ? order_id ;
return errorThrow ? ? order_id ;
}
}
Future < ResponseModel < PackagesOrderResponseModel > > getOrderById ( int id , { @ required BuildContext context , bool showLoading = true } ) async {
Future < ResponseModel < PackagesOrderResponseModel > > getOrderById ( int id , { @ required BuildContext context , bool showLoading = true } ) async {
Future errorThrow ;
Future errorThrow ;
ResponseModel < PackagesOrderResponseModel > response ;
ResponseModel < PackagesOrderResponseModel > response ;
@ -377,23 +360,39 @@ class OffersAndPackagesServices extends BaseService {
var jsonResponse = json . decode ( stringResponse ) ;
var jsonResponse = json . decode ( stringResponse ) ;
var jsonOrder = jsonResponse [ ' orders ' ] [ 0 ] ;
var jsonOrder = jsonResponse [ ' orders ' ] [ 0 ] ;
response = ResponseModel ( status: true , data: PackagesOrderResponseModel . fromJson ( jsonOrder ) ) ;
response = ResponseModel ( status: true , data: PackagesOrderResponseModel . fromJson ( jsonOrder ) ) ;
} , onFailure: ( String error , int statusCode ) {
} , onFailure: ( String error , int statusCode ) {
_hideLoading ( context , showLoading ) ;
_hideLoading ( context , showLoading ) ;
errorThrow = Future . error ( ResponseModel ( status: false , error: error ) ) ;
errorThrow = Future . error ( ResponseModel ( status: false , error: error ) ) ;
} , queryParams: null ) ;
} , queryParams: null ) ;
return errorThrow ? ? response ;
return errorThrow ? ? response ;
}
}
Future getHospitals ( { bool isResBasedOnLoc = true } ) async {
Map < String , dynamic > body = Map ( ) ;
body [ ' Latitude ' ] = await this . sharedPref . getDouble ( USER_LAT ) ;
body [ ' Longitude ' ] = await this . sharedPref . getDouble ( USER_LONG ) ;
body [ ' IsOnlineCheckIn ' ] = isResBasedOnLoc ;
body [ ' PatientOutSA ' ] = 0 ;
await baseAppClient . post ( GET_PROJECT ,
onSuccess: ( dynamic response , int statusCode ) {
_hospitals . clear ( ) ;
response [ ' ListProject ' ] . forEach ( ( hospital ) {
_hospitals . add ( HospitalsModel . fromJson ( hospital ) ) ;
} ) ;
} , onFailure: ( String error , int statusCode ) {
hasError = true ;
super . error = error ;
} , body: body ) ;
}
}
}
_showLoading ( BuildContext context , bool flag ) {
_showLoading ( BuildContext context , bool flag ) {
if ( flag )
if ( flag ) GifLoaderDialogUtils . showMyDialog ( context ) ;
GifLoaderDialogUtils . showMyDialog ( context ) ;
}
}
_hideLoading ( BuildContext context , bool flag ) {
_hideLoading ( BuildContext context , bool flag ) {
if ( flag )
if ( flag ) GifLoaderDialogUtils . hideDialog ( context ) ;
GifLoaderDialogUtils . hideDialog ( context ) ;
}
}