You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RSGDoctorApp/lib/core/service/SOAP_service.dart

81 lines
2.6 KiB
Dart

import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
import 'package:doctor_app_flutter/models/SOAP/get_Allergies_request_model.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
class SOAPService extends BaseService {
List<MasterKeyModel> get listOfAllergies => _listOfAllergies;
List<MasterKeyModel> get allergySeverityList => _allergySeverityList;
List<MasterKeyModel> _listOfAllergies = [];
List<MasterKeyModel> _allergySeverityList = [];
Future getAllergies(GetAllergiesRequestModel getAllergiesRequestModel) async {
await baseAppClient.post(
GET_ALLERGIES,
onSuccess: (dynamic response, int statusCode) {
_listOfAllergies.clear();
response['List_Allergies']['entityList'].forEach((v) {
_listOfAllergies.add(MasterKeyModel.fromJson(v));
});
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
body: getAllergiesRequestModel.toJson(),
);
}
Future getMasterLookup(MasterKeysService masterKeys) async {
Map<String, dynamic> body = {
"MasterInput": masterKeys.getMasterKeyService()
};
await baseAppClient.post(GET_MASTER_LOOKUP_LIST,
onSuccess: (dynamic response, int statusCode) {
setMasterLookupInCorrectArray(
response['MasterLookUpList']['entityList'], masterKeys);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
setMasterLookupInCorrectArray(entryList, MasterKeysService masterKeys) {
switch (masterKeys) {
case MasterKeysService.Allergies:
_listOfAllergies.clear();
entryList.forEach((v) {
_listOfAllergies
.add(MasterKeyModel.fromJson(v));
});
break;
case MasterKeysService.HistoryFamily:
return 36;
break;
case MasterKeysService.HistoryMedical:
return 37;
break;
case MasterKeysService.HistorySocial:
return 38;
break;
case MasterKeysService.HistorySports:
return 39;
break;
case MasterKeysService.HistorySurgical:
return 66;
break;
case MasterKeysService.PhysicalExamination:
return 59;
break;
case MasterKeysService.AllergySeverity:
_allergySeverityList.clear();
entryList.forEach((v) {
_allergySeverityList
.add(MasterKeyModel.fromJson(v));
});
break;
}
}
}