import 'dart:convert'; import 'package:doctor_app_flutter/client/app_client.dart'; import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/models/pharmacies_List_request_model.dart'; import 'package:doctor_app_flutter/models/pharmacies_items_request_model.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:flutter/cupertino.dart'; class MedicineProvider with ChangeNotifier { var pharmacyItemsList = []; var pharmaciesList = []; bool isFinished = false; bool hasError = false; String errorMsg = ''; PharmaciesItemsRequestModel _itemsRequestModel =PharmaciesItemsRequestModel(); PharmaciesListRequestModel _listRequestModel = PharmaciesListRequestModel(); Future getMedicineItem(String itemName) async { try { if (await Helpers.checkConnection()) { _itemsRequestModel.phrItemName = itemName; final response = await AppClient.post(PHARMACY_ITEMS_URL, body: json.encode(_itemsRequestModel.toJson())); final int statusCode = response.statusCode; if (statusCode < 200 || statusCode >= 400 || json == null) { isFinished = true; hasError = true; errorMsg = 'Error While Fetching data'; } else { var parsed = json.decode(response.body.toString()); if (parsed['MessageStatus'] == 1) { pharmacyItemsList = parsed['ListPharmcy']; hasError = false; isFinished = true; errorMsg = "Done"; } else { hasError = true; errorMsg = parsed['ErrorMessage'] ?? parsed['ErrorEndUserMessage']; } } } else { isFinished = true; hasError = true; errorMsg = 'Please Check The Internet Connection'; } notifyListeners(); } catch (error) { throw error; } return errorMsg; } Future getPharmaciesList(int itemId) async { try { if (await Helpers.checkConnection()) { _listRequestModel.itemID = itemId; final response = await AppClient.post(PHARMACY_LIST_URL, body: json.encode(_listRequestModel.toJson())); final int statusCode = response.statusCode; if (statusCode < 200 || statusCode >= 400 || json == null) { isFinished = true; hasError = true; errorMsg = 'Error While Fetching data'; } else { var parsed = json.decode(response.body.toString()); if (parsed['MessageStatus'] == 1) { pharmaciesList = parsed['PharmList']; hasError = false; isFinished = true; errorMsg = "Done"; } else { hasError = true; errorMsg = parsed['ErrorMessage'] ?? parsed['ErrorEndUserMessage']; } } } else { isFinished = true; hasError = true; errorMsg = 'Please Check The Internet Connection'; } notifyListeners(); } catch (error) { throw error; } return errorMsg; } }