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/viewModel/DischargedPatientViewModel....

63 lines
2.1 KiB
Dart

import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/service/patient/DischargedPatientService.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import '../../locator.dart';
import 'base_view_model.dart';
class DischargedPatientViewModel extends BaseViewModel {
DischargedPatientService _dischargedPatientService =
locator<DischargedPatientService>();
List<PatiantInformtion> get myDischargedPatient =>
_dischargedPatientService.myDischargedPatients;
List<PatiantInformtion> filterData = [];
searchData(String str) {
var strExist = str.length > 0 ? true : false;
if (strExist) {
filterData = [];
for (var i = 0; i < myDischargedPatient.length; i++) {
String firstName = myDischargedPatient[i].firstName.toUpperCase();
String lastName = myDischargedPatient[i].lastName.toUpperCase();
String mobile = myDischargedPatient[i].mobileNumber.toUpperCase();
String patientID = myDischargedPatient[i].patientId.toString();
if (firstName.contains(str.toUpperCase()) ||
lastName.contains(str.toUpperCase()) ||
mobile.contains(str) ||
patientID.contains(str)) {
filterData.add(myDischargedPatient[i]);
}
}
notifyListeners();
} else {
filterData = myDischargedPatient;
notifyListeners();
}
}
Future getDischargedPatient() async {
setState(ViewState.Busy);
await _dischargedPatientService.getDischargedPatient();
if (_dischargedPatientService.hasError) {
error = _dischargedPatientService.error;
setState(ViewState.Error);
} else {
filterData = myDischargedPatient;
setState(ViewState.Idle);
}
}
Future gtMyDischargeReferralPatient() async {
setState(ViewState.Busy);
await _dischargedPatientService.gtMyDischargeReferralPatient();
if (_dischargedPatientService.hasError) {
error = _dischargedPatientService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}