refactor search medicine Service
parent
7863f13b0e
commit
58de54997a
@ -0,0 +1,50 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/request_schedule.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/pharmacies/pharmacies_List_request_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/pharmacies/pharmacies_items_request_model.dart';
|
||||||
|
|
||||||
|
class MedicineService extends BaseService {
|
||||||
|
var _pharmacyItemsList = [];
|
||||||
|
var _pharmaciesList = [];
|
||||||
|
get pharmacyItemsList => _pharmacyItemsList;
|
||||||
|
get pharmaciesList => _pharmaciesList;
|
||||||
|
|
||||||
|
PharmaciesItemsRequestModel _itemsRequestModel =
|
||||||
|
PharmaciesItemsRequestModel();
|
||||||
|
PharmaciesListRequestModel _listRequestModel = PharmaciesListRequestModel();
|
||||||
|
|
||||||
|
RequestSchedule _requestSchedule = RequestSchedule();
|
||||||
|
|
||||||
|
Future getMedicineItem(String itemName) async {
|
||||||
|
_itemsRequestModel.pHRItemName = itemName;
|
||||||
|
await baseAppClient.post(
|
||||||
|
PHARMACY_ITEMS_URL,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
_pharmacyItemsList.clear();
|
||||||
|
_pharmacyItemsList = response['ListPharmcy_Region_enh'];
|
||||||
|
},
|
||||||
|
onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
},
|
||||||
|
body: _itemsRequestModel.toJson(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future getPharmaciesList(int itemId) async {
|
||||||
|
_listRequestModel.itemID = itemId;
|
||||||
|
await baseAppClient.post(
|
||||||
|
PHARMACY_LIST_URL,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
_pharmaciesList.clear();
|
||||||
|
_pharmaciesList = response['PharmList'];
|
||||||
|
},
|
||||||
|
onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
},
|
||||||
|
body: _listRequestModel.toJson(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/doctor_reply_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/hospital/hospitals_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/medicine_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/schedule_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class MedicineViewModel extends BaseViewModel {
|
||||||
|
MedicineService _medicineService = locator<MedicineService>();
|
||||||
|
get pharmacyItemsList => _medicineService.pharmacyItemsList;
|
||||||
|
get pharmaciesList => _medicineService.pharmaciesList;
|
||||||
|
|
||||||
|
|
||||||
|
Future getMedicineItem(String itemName) async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _medicineService.getMedicineItem(itemName);
|
||||||
|
if (_medicineService.hasError) {
|
||||||
|
error = _medicineService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future getPharmaciesList(int itemId) async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _medicineService.getPharmaciesList(itemId);
|
||||||
|
if (_medicineService.hasError) {
|
||||||
|
error = _medicineService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,78 +0,0 @@
|
|||||||
import 'package:doctor_app_flutter/client/base_app_client.dart';
|
|
||||||
import 'package:doctor_app_flutter/config/config.dart';
|
|
||||||
import 'package:doctor_app_flutter/models/pharmacies/pharmacies_List_request_model.dart';
|
|
||||||
import 'package:doctor_app_flutter/models/pharmacies/pharmacies_items_request_model.dart';
|
|
||||||
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
|
||||||
class MedicineProvider with ChangeNotifier {
|
|
||||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
|
||||||
|
|
||||||
var pharmacyItemsList = [];
|
|
||||||
var pharmaciesList = [];
|
|
||||||
bool isFinished = true;
|
|
||||||
bool hasError = false;
|
|
||||||
String errorMsg = '';
|
|
||||||
BaseAppClient baseAppClient = BaseAppClient();
|
|
||||||
|
|
||||||
PharmaciesItemsRequestModel _itemsRequestModel =
|
|
||||||
PharmaciesItemsRequestModel();
|
|
||||||
PharmaciesListRequestModel _listRequestModel = PharmaciesListRequestModel();
|
|
||||||
|
|
||||||
clearPharmacyItemsList() {
|
|
||||||
pharmacyItemsList.clear();
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
|
|
||||||
getMedicineItem(String itemName) async {
|
|
||||||
_itemsRequestModel.pHRItemName = itemName;
|
|
||||||
resetDefaultValues();
|
|
||||||
pharmacyItemsList.clear();
|
|
||||||
notifyListeners();
|
|
||||||
try {
|
|
||||||
await baseAppClient.post(PHARMACY_ITEMS_URL,
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
pharmacyItemsList = response['ListPharmcy_Region_enh'];
|
|
||||||
hasError = false;
|
|
||||||
isFinished = true;
|
|
||||||
errorMsg = "Done";
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
isFinished = true;
|
|
||||||
hasError = true;
|
|
||||||
errorMsg = error;
|
|
||||||
}, body: _itemsRequestModel.toJson());
|
|
||||||
notifyListeners();
|
|
||||||
} catch (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getPharmaciesList(int itemId) async {
|
|
||||||
resetDefaultValues();
|
|
||||||
try {
|
|
||||||
_listRequestModel.itemID = itemId;
|
|
||||||
isFinished = false;
|
|
||||||
await baseAppClient.post(PHARMACY_LIST_URL,
|
|
||||||
onSuccess: (dynamic response, int statusCode) {
|
|
||||||
pharmaciesList = response['PharmList'];
|
|
||||||
hasError = false;
|
|
||||||
isFinished = true;
|
|
||||||
errorMsg = "Done";
|
|
||||||
}, onFailure: (String error, int statusCode) {
|
|
||||||
isFinished = true;
|
|
||||||
hasError = true;
|
|
||||||
errorMsg = error;
|
|
||||||
}, body: _listRequestModel.toJson());
|
|
||||||
notifyListeners();
|
|
||||||
} catch (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
resetDefaultValues() {
|
|
||||||
isFinished = false;
|
|
||||||
hasError = false;
|
|
||||||
errorMsg = '';
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue