|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
|
|
|
|
import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
|
|
|
|
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectCiteisDialog.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectHospitalDialog.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/utils.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:giffy_dialog/giffy_dialog.dart';
|
|
|
|
import 'package:smart_progress_bar/smart_progress_bar.dart';
|
|
|
|
|
|
|
|
//import '../../../core/model/my_balance/AdvanceModel.dart';
|
|
|
|
import 'confirm_payment_page.dart';
|
|
|
|
import 'dialogs/SelectBeneficiaryDialog.dart';
|
|
|
|
import 'dialogs/SelectBloodDialog.dart';
|
|
|
|
import 'dialogs/SelectGenderDialog.dart';
|
|
|
|
import 'dialogs/SelectPatientFamilyDialog.dart';
|
|
|
|
import 'dialogs/SelectPatientInfoDialog.dart';
|
|
|
|
import 'new_text_Field.dart';
|
|
|
|
|
|
|
|
enum BeneficiaryType { MyAccount, MyFamilyFiles, OtherAccount, NON }
|
|
|
|
enum Gender{Male,Female,NON}
|
|
|
|
enum Blood{Oplus,Ominus,Aplus,Aminus,Bplus,Bminus,ABplus,ABminus,NON}
|
|
|
|
|
|
|
|
class BloodDonationPage extends StatefulWidget {
|
|
|
|
@override
|
|
|
|
_BloodDonationPageState createState() => _BloodDonationPageState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _BloodDonationPageState extends State<BloodDonationPage> {
|
|
|
|
TextEditingController _fileTextController = TextEditingController();
|
|
|
|
TextEditingController _notesTextController = TextEditingController();
|
|
|
|
BeneficiaryType beneficiaryType = BeneficiaryType.NON;
|
|
|
|
Gender gender = Gender.NON;
|
|
|
|
Blood blood = Blood.NON;
|
|
|
|
//HospitalsModel _selectedHospital;
|
|
|
|
CitiesModel _selectedHospital;
|
|
|
|
String amount = "";
|
|
|
|
String email;
|
|
|
|
PatientInfo _selectedPatientInfo;
|
|
|
|
AuthenticatedUser authenticatedUser;
|
|
|
|
GetAllSharedRecordsByStatusList selectedPatientFamily;
|
|
|
|
AdvanceModel advanceModel = AdvanceModel();
|
|
|
|
|
|
|
|
AppSharedPreferences sharedPref = AppSharedPreferences();
|
|
|
|
AuthenticatedUser authUser;
|
|
|
|
var checkedValue = false;
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
getAuthUser();
|
|
|
|
}
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return BaseView<MyBalanceViewModel>(
|
|
|
|
onModelReady: (model) => model.getCities(),//model.getHospitals(),
|
|
|
|
builder: (_, model, w) => AppScaffold(
|
|
|
|
isShowAppBar: true,
|
|
|
|
appBarTitle: "Blood Donation",//TranslationBase.of(context).advancePayment,
|
|
|
|
body: SingleChildScrollView(
|
|
|
|
physics: ScrollPhysics(),
|
|
|
|
child: Container(
|
|
|
|
margin: EdgeInsets.all(12),
|
|
|
|
child: Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: [
|
|
|
|
Texts(
|
|
|
|
// TranslationBase.of(context).advancePaymentLabel,
|
|
|
|
"Enter the required information, In order to register for Blood Donation Service",
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
),
|
|
|
|
SizedBox(
|
|
|
|
height: 12,
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () => confirmSelectHospitalDialog(model.CitiesModelList),//model.hospitals
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.all(12),
|
|
|
|
width: double.infinity,
|
|
|
|
height: 65,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(12),
|
|
|
|
color: Colors.white),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Texts(getHospitalName()),
|
|
|
|
Icon(Icons.arrow_drop_down)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
SizedBox(
|
|
|
|
height: 12,
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
//======Gender========
|
|
|
|
onTap: () => confirmSelectGenderDialog(),//confirmSelectBeneficiaryDialog(model),
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.all(12),
|
|
|
|
width: double.infinity,
|
|
|
|
height: 65,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(12),
|
|
|
|
color: Colors.white),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
//Texts(getBeneficiaryType()),
|
|
|
|
Texts(getGender()),
|
|
|
|
Icon(Icons.arrow_drop_down)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.MyFamilyFiles)
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.MyFamilyFiles)
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// model.getFamilyFiles().then((value) {
|
|
|
|
// confirmSelectFamilyDialog(model
|
|
|
|
// .getAllSharedRecordsByStatusResponse
|
|
|
|
// .getAllSharedRecordsByStatusList);
|
|
|
|
// }).showProgressBar(
|
|
|
|
// text: "Loading",
|
|
|
|
// backgroundColor: Colors.blue.withOpacity(0.6));
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// padding: EdgeInsets.all(12),
|
|
|
|
// width: double.infinity,
|
|
|
|
// height: 65,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// borderRadius: BorderRadius.circular(12),
|
|
|
|
// color: Colors.white),
|
|
|
|
// child: Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: [
|
|
|
|
// Texts(getFamilyMembersName()),
|
|
|
|
// Icon(Icons.arrow_drop_down)
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
SizedBox(
|
|
|
|
height: 12,
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
//======Gender========
|
|
|
|
onTap: () => confirmSelectBloodDialog(),//confirmSelectBeneficiaryDialog(model),
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.all(12),
|
|
|
|
width: double.infinity,
|
|
|
|
height: 65,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(12),
|
|
|
|
color: Colors.white),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
//Texts(getBeneficiaryType()),
|
|
|
|
Texts(getBlood()),
|
|
|
|
Icon(Icons.arrow_drop_down)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.MyFamilyFiles)
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.MyFamilyFiles)
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// model.getFamilyFiles().then((value) {
|
|
|
|
// confirmSelectFamilyDialog(model
|
|
|
|
// .getAllSharedRecordsByStatusResponse
|
|
|
|
// .getAllSharedRecordsByStatusList);
|
|
|
|
// }).showProgressBar(
|
|
|
|
// text: "Loading",
|
|
|
|
// backgroundColor: Colors.blue.withOpacity(0.6));
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// padding: EdgeInsets.all(12),
|
|
|
|
// width: double.infinity,
|
|
|
|
// height: 65,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// borderRadius: BorderRadius.circular(12),
|
|
|
|
// color: Colors.white),
|
|
|
|
// child: Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: [
|
|
|
|
// Texts(getFamilyMembersName()),
|
|
|
|
// Icon(Icons.arrow_drop_down)
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
SizedBox(
|
|
|
|
height: 12,
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
child: Text(" To view the terms and conditions "),
|
|
|
|
),
|
|
|
|
SizedBox(
|
|
|
|
width: MediaQuery.of(context).size.height * 0.10,
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(
|
|
|
|
builder: (BuildContext context) => UserAgreementPage()));
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
child: Texts(" Click here ",color: Colors.blue,),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
SizedBox(
|
|
|
|
height: 12,
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Checkbox(
|
|
|
|
onChanged: (bool value) {
|
|
|
|
setState(() {
|
|
|
|
checkedValue = value;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
// tristate: checkedValue==true,//i == 1,
|
|
|
|
value: checkedValue,
|
|
|
|
activeColor: Colors.red,//Color(0xFF6200EE),
|
|
|
|
),
|
|
|
|
SizedBox(height: 10,),
|
|
|
|
Row(children: [
|
|
|
|
|
|
|
|
],),
|
|
|
|
SizedBox(
|
|
|
|
width: 10,
|
|
|
|
),
|
|
|
|
Text(
|
|
|
|
'I agree to the terms and conditions ',
|
|
|
|
style: Theme.of(context).textTheme.subtitle1.copyWith(color: checkedValue? Colors.red : Colors.black),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
// NewTextFields(
|
|
|
|
// hintText: TranslationBase.of(context).fileNumber,
|
|
|
|
// controller: _fileTextController,
|
|
|
|
// ),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.OtherAccount)
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
// if (beneficiaryType == BeneficiaryType.OtherAccount)
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// if (_fileTextController.text.isNotEmpty)
|
|
|
|
// model
|
|
|
|
// .getPatientInfoByPatientID(
|
|
|
|
// id: _fileTextController.text)
|
|
|
|
// .then((value) {
|
|
|
|
// confirmSelectPatientDialog(model.patientInfoList);
|
|
|
|
// }).showProgressBar(
|
|
|
|
// text: "Loading",
|
|
|
|
// backgroundColor:
|
|
|
|
// Colors.blue.withOpacity(0.6));
|
|
|
|
// else
|
|
|
|
// AppToast.showErrorToast(
|
|
|
|
// message: 'Please Enter The File Number');
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// padding: EdgeInsets.all(12),
|
|
|
|
// width: double.infinity,
|
|
|
|
// height: 65,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// borderRadius: BorderRadius.circular(12),
|
|
|
|
// color: Colors.white),
|
|
|
|
// child: Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: [
|
|
|
|
// Texts(getPatientName()),
|
|
|
|
// Icon(Icons.arrow_drop_down)
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// NewTextFields(
|
|
|
|
// hintText: TranslationBase.of(context).amount,
|
|
|
|
// keyboardType: TextInputType.number,
|
|
|
|
// onChanged: (value) {
|
|
|
|
// setState(() {
|
|
|
|
// amount = value;
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// ),
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
// NewTextFields(
|
|
|
|
// hintText: TranslationBase.of(context).depositorEmail,
|
|
|
|
// initialValue: model.user.emailAddress,
|
|
|
|
// onChanged: (value) {
|
|
|
|
// email = value;
|
|
|
|
// },
|
|
|
|
// ),
|
|
|
|
// SizedBox(
|
|
|
|
// height: 12,
|
|
|
|
// ),
|
|
|
|
// NewTextFields(
|
|
|
|
// hintText: TranslationBase.of(context).notes,
|
|
|
|
// controller: _notesTextController,
|
|
|
|
// ),
|
|
|
|
SizedBox(
|
|
|
|
height: 10,
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Center(
|
|
|
|
child: Container(
|
|
|
|
color: Colors.white,
|
|
|
|
width: 350,
|
|
|
|
child: InkWell(
|
|
|
|
onTap: () {
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
builder: (_) =>
|
|
|
|
AssetGiffyDialog(
|
|
|
|
title: Text(
|
|
|
|
"",
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: 22.0,
|
|
|
|
fontWeight:
|
|
|
|
FontWeight
|
|
|
|
.w600),
|
|
|
|
),
|
|
|
|
image: Image.asset(
|
|
|
|
'assets/images/BloodChrt_EN.png'),
|
|
|
|
buttonCancelText:
|
|
|
|
Text('cancel'),
|
|
|
|
buttonCancelColor:
|
|
|
|
Colors.grey,
|
|
|
|
onlyCancelButton: true,
|
|
|
|
));
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
width: 250,
|
|
|
|
height: 200,
|
|
|
|
child:Image.asset(
|
|
|
|
'assets/images/BloodChrt_EN.png')),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(
|
|
|
|
height: MediaQuery.of(context).size.height * 0.15,
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
bottomSheet: Container(
|
|
|
|
height: MediaQuery.of(context).size.height * 0.12,
|
|
|
|
width: double.infinity,
|
|
|
|
|
|
|
|
padding: EdgeInsets.all(12),
|
|
|
|
child: SecondaryButton(
|
|
|
|
textColor: Colors.white,
|
|
|
|
color: checkedValue== false ?Colors.white24:Color.fromRGBO(63, 72, 74, 1,),
|
|
|
|
|
|
|
|
label: "Save",
|
|
|
|
//
|
|
|
|
|
|
|
|
// onTap: () {
|
|
|
|
// advanceModel.fileNumber = _fileTextController.text;
|
|
|
|
// // advanceModel.hospitalsModel = _selectedHospital;
|
|
|
|
// advanceModel.citiessModel = _selectedHospital;
|
|
|
|
// advanceModel.note = _notesTextController.text;
|
|
|
|
// advanceModel.email = email ?? model.user.emailAddress;
|
|
|
|
// advanceModel.amount = amount;
|
|
|
|
//
|
|
|
|
// model.getPatientInfoByPatientIDAndMobileNumber().then((value) {
|
|
|
|
// if (model.state != ViewState.Error &&
|
|
|
|
// model.state != ViewState.ErrorLocal) {
|
|
|
|
// Utils.hideKeyboard(context);
|
|
|
|
// Navigator.push(
|
|
|
|
// context,
|
|
|
|
// MaterialPageRoute(
|
|
|
|
// builder: (context) => PaymentMethod())).then(
|
|
|
|
// (value) {
|
|
|
|
// Navigator.push(
|
|
|
|
// context,
|
|
|
|
// FadePage(
|
|
|
|
// page: ConfirmPaymentPage(
|
|
|
|
// advanceModel: advanceModel,
|
|
|
|
// selectedPaymentMethod: value,
|
|
|
|
// patientInfoAndMobileNumber:
|
|
|
|
// model.patientInfoAndMobileNumber,
|
|
|
|
// authenticatedUser: authUser,
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// },
|
|
|
|
// );
|
|
|
|
// }
|
|
|
|
// }).showProgressBar(
|
|
|
|
// text: "Loading",
|
|
|
|
// backgroundColor: Colors.blue.withOpacity(0.6));
|
|
|
|
// },
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
//==============
|
|
|
|
void confirmSelectBeneficiaryDialog(MyBalanceViewModel model) {
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectBeneficiaryDialog(
|
|
|
|
beneficiaryType: beneficiaryType,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
if (value == BeneficiaryType.MyAccount) {
|
|
|
|
_fileTextController.text = model.user.patientID.toString();
|
|
|
|
advanceModel.depositorName =
|
|
|
|
model.user.firstName + " " + model.user.lastName;
|
|
|
|
} else
|
|
|
|
_fileTextController.text = "";
|
|
|
|
|
|
|
|
beneficiaryType = value;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
void confirmSelectBloodDialog(){
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectBloodDialog(bloodType: blood,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
if (value == Blood.Oplus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.Ominus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.ABplus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.ABminus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.Aplus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.Aminus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.Bplus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}else
|
|
|
|
if (value == Blood.Bminus) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
_fileTextController.text = "";
|
|
|
|
|
|
|
|
// beneficiaryType = value;
|
|
|
|
blood=value;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
);
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
void confirmSelectGenderDialog(){
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectGenderDialog(beneficiaryType: gender,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
if (value == Gender.Male) {
|
|
|
|
// _fileTextController.text = model.user.patientID.toString();
|
|
|
|
// advanceModel.depositorName =
|
|
|
|
// model.user.firstName + " " + model.user.lastName;
|
|
|
|
} else
|
|
|
|
_fileTextController.text = "";
|
|
|
|
|
|
|
|
// beneficiaryType = value;
|
|
|
|
gender=value;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
//void confirmSelectHospitalDialog(List<HospitalsModel> hospitals) {
|
|
|
|
void confirmSelectHospitalDialog(List<CitiesModel> hospitals) {
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectCiteisDialog(
|
|
|
|
hospitals: hospitals,
|
|
|
|
selectedHospital: _selectedHospital,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
_selectedHospital = value;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
void confirmSelectPatientDialog(List<PatientInfo> patientInfoList) {
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectPatientInfoDialog(
|
|
|
|
patientInfoList: patientInfoList,
|
|
|
|
selectedPatientInfo: _selectedPatientInfo,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
advanceModel.depositorName = value.fullName;
|
|
|
|
_selectedPatientInfo = value;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
void confirmSelectFamilyDialog(
|
|
|
|
List<GetAllSharedRecordsByStatusList> getAllSharedRecordsByStatusList) {
|
|
|
|
showDialog(
|
|
|
|
context: context,
|
|
|
|
child: SelectPatientFamilyDialog(
|
|
|
|
getAllSharedRecordsByStatusList: getAllSharedRecordsByStatusList,
|
|
|
|
selectedPatientFamily: selectedPatientFamily,
|
|
|
|
onValueSelected: (value) {
|
|
|
|
setState(() {
|
|
|
|
selectedPatientFamily = value;
|
|
|
|
_fileTextController.text =
|
|
|
|
selectedPatientFamily.patientID.toString();
|
|
|
|
advanceModel.depositorName = value.patientName;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
String getBeneficiaryType() {
|
|
|
|
switch (beneficiaryType) {
|
|
|
|
case BeneficiaryType.MyAccount:
|
|
|
|
return TranslationBase.of(context).myAccount;
|
|
|
|
case BeneficiaryType.MyFamilyFiles:
|
|
|
|
return TranslationBase.of(context).myFamilyFiles;
|
|
|
|
break;
|
|
|
|
case BeneficiaryType.OtherAccount:
|
|
|
|
return TranslationBase.of(context).otherAccount;
|
|
|
|
break;
|
|
|
|
case BeneficiaryType.NON:
|
|
|
|
return "Select Gender";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
return "Select Gender";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
String getGender() {
|
|
|
|
switch (gender) {
|
|
|
|
case Gender.Male:
|
|
|
|
return "Male";
|
|
|
|
case Gender.Female:
|
|
|
|
return "Female";
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Gender.NON:
|
|
|
|
return "Select Gender";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
return "Select Gender";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
String getBlood() {
|
|
|
|
switch (blood) {
|
|
|
|
case Blood.Oplus:
|
|
|
|
return "O+";
|
|
|
|
break;
|
|
|
|
case Blood.Ominus:
|
|
|
|
return "O-";
|
|
|
|
break;
|
|
|
|
case Blood.ABplus:
|
|
|
|
return "AB+";
|
|
|
|
break;
|
|
|
|
case Blood.ABminus:
|
|
|
|
return "AB-";
|
|
|
|
break;
|
|
|
|
case Blood.Aplus:
|
|
|
|
return "A+";
|
|
|
|
break;
|
|
|
|
case Blood.Aminus:
|
|
|
|
return "A-";
|
|
|
|
break;
|
|
|
|
case Blood.Bplus:
|
|
|
|
return "B-";
|
|
|
|
break;
|
|
|
|
case Blood.Bminus:
|
|
|
|
return "B-";
|
|
|
|
break;
|
|
|
|
case Blood.Bplus:
|
|
|
|
return "B+";
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Blood.NON:
|
|
|
|
return "Select Blood Type";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
return "Select Blood Type";//TranslationBase.of(context).selectBeneficiary;
|
|
|
|
}
|
|
|
|
|
|
|
|
String getHospitalName() {
|
|
|
|
if (_selectedHospital != null)
|
|
|
|
return _selectedHospital.description;
|
|
|
|
else
|
|
|
|
return "Select City";//TranslationBase.of(context).selectHospital;
|
|
|
|
}
|
|
|
|
|
|
|
|
String getPatientName() {
|
|
|
|
if (_selectedPatientInfo != null)
|
|
|
|
return _selectedPatientInfo.fullName;
|
|
|
|
else
|
|
|
|
return TranslationBase.of(context).selectPatientName;
|
|
|
|
}
|
|
|
|
|
|
|
|
getAuthUser() async {
|
|
|
|
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
|
|
|
|
var data = AuthenticatedUser.fromJson(
|
|
|
|
await this.sharedPref.getObject(USER_PROFILE));
|
|
|
|
setState(() {
|
|
|
|
authUser = data;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
String getFamilyMembersName() {
|
|
|
|
if (selectedPatientFamily != null)
|
|
|
|
return selectedPatientFamily.patientName;
|
|
|
|
else
|
|
|
|
return TranslationBase.of(context).selectFamilyPatientName;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//================
|
|
|
|
|
|
|
|
|
|
|
|
}
|