add vital-sign files

merge-requests/201/head
mosazaid 5 years ago
parent 765c546c28
commit 94093e775e

@ -1,8 +1,10 @@
import 'package:doctor_app_flutter/client/base_app_client.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
class BaseService {
String error;
bool hasError = false;
BaseAppClient baseAppClient = BaseAppClient();
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
//TODO add the user login model when we need it
}

@ -0,0 +1,45 @@
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/patient/vital_sign/vital_sign_res_model.dart';
class VitalSignsService extends BaseService{
List<VitalSignResModel> patientVitalSignList = [];
List<VitalSignResModel> patientVitalSignOrderdSubList = [];
Future getPatientVitalSign(patient) async {
hasError = false;
await baseAppClient.post(
GET_PATIENT_VITAL_SIGN,
onSuccess: (dynamic response, int statusCode) {
patientVitalSignList = [];
response['List_DoctorPatientVitalSign'].forEach((v) {
patientVitalSignList.add(new VitalSignResModel.fromJson(v));
});
if (patientVitalSignList.length > 0) {
List<VitalSignResModel> patientVitalSignOrderdSubListTemp = [];
patientVitalSignOrderdSubListTemp = patientVitalSignList;
patientVitalSignOrderdSubListTemp
.sort((VitalSignResModel a, VitalSignResModel b) {
return b.vitalSignDate.microsecondsSinceEpoch -
a.vitalSignDate.microsecondsSinceEpoch;
});
patientVitalSignOrderdSubList.clear();
int length = patientVitalSignOrderdSubListTemp.length >= 20
? 20
: patientVitalSignOrderdSubListTemp.length;
for (int x = 0; x < length; x++) {
patientVitalSignOrderdSubList
.add(patientVitalSignOrderdSubListTemp[x]);
}
}
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
body: patient,
);
}
}

@ -0,0 +1,27 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/service/patient-vital-signs-service.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/vital_sign_res_model.dart';
import '../../locator.dart';
class VitalSignsViewModel extends BaseViewModel{
VitalSignsService _vitalSignService = locator<VitalSignsService>();
List<VitalSignResModel> get patientVitalSignList =>
_vitalSignService.patientVitalSignList;
List<VitalSignResModel> get patientVitalSignOrderdSubList =>
_vitalSignService.patientVitalSignOrderdSubList;
Future getPatientVitalSign(patient) async {
setState(ViewState.Busy);
await _vitalSignService.getPatientVitalSign(patient);
if (_vitalSignService.hasError) {
error = _vitalSignService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}

@ -4,11 +4,13 @@ import 'package:get_it/get_it.dart';
import 'core/service/doctor_reply_service.dart';
import 'core/service/medicine_service.dart';
import 'core/service/patient-vital-signs-service.dart';
import 'core/service/referral_patient_service.dart';
import 'core/service/referred_patient_service.dart';
import 'core/service/schedule_service.dart';
import 'core/viewModel/doctor_replay_view_model.dart';
import 'core/viewModel/medicine_view_model.dart';
import 'core/viewModel/patient-vital-sign-viewModel.dart';
import 'core/viewModel/referral_view_model.dart';
import 'core/viewModel/referred_view_model.dart';
import 'core/viewModel/schedule_view_model.dart';
@ -24,6 +26,7 @@ void setupLocator() {
locator.registerLazySingleton(() => ReferredPatientService());
locator.registerLazySingleton(() => MedicineService());
locator.registerLazySingleton(() => PatientService());
locator.registerLazySingleton(() => VitalSignsService());
/// View Model
locator.registerFactory(() => DoctorReplayViewModel());
@ -32,4 +35,5 @@ void setupLocator() {
locator.registerFactory(() => ReferredPatientViewModel());
locator.registerFactory(() => MedicineViewModel());
locator.registerFactory(() => PatientViewModel());
locator.registerFactory(() => VitalSignsViewModel());
}

Loading…
Cancel
Save