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.
PatientApp-KKUMC/lib/pages/Blood/blood_donation.dart

825 lines
34 KiB
Dart

// import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
// import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
// import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart';
// import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
// import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart';
// import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
// import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart';
// import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart';
// import 'package:diplomaticquarterapp/pages/base/base_view.dart';
// import 'package:diplomaticquarterapp/theme/colors.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/widgets/buttons/defaultButton.dart';
// import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
// import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
// import 'package:diplomaticquarterapp/widgets/show_zoom_image_dialog.dart';
// import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
// import 'package:provider/provider.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> {
// BeneficiaryType beneficiaryType = BeneficiaryType.NON;
//
// CitiesModel _selectedHospital;
//
// int _selectedHospitalIndex = 0;
// int _selectedGenderIndex = 1;
// int _selectedBloodTypeIndex = 0;
// String _selectedBloodType = "O+";
//
// String amount = "";
// String email;
//
// List_BloodGroupDetailsModel bloodDetails = List_BloodGroupDetailsModel(bloodGroup: "A-");
// AppSharedPreferences sharedPref = AppSharedPreferences();
// var checkedValue = false;
// List<ImagesInfo> imagesInfo = List();
//
// ProjectViewModel projectProvider;
//
// @override
// void initState() {
// imagesInfo.add(
// ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/ar/0.png'),
// );
// WidgetsBinding.instance.addPostFrameCallback((_) {});
// super.initState();
// }
//
// int getSelectedCityID(MyBalanceViewModel model) {
// int cityID = 1;
// model.CitiesModelList.forEach((element) {
// if (element.description == model.bloodModelList[0].city) {
// cityID = element.iD;
// }
// });
// return cityID;
// }
//
// @override
// Widget build(BuildContext context) {
// projectProvider = Provider.of(context);
//
// return BaseView<MyBalanceViewModel>(
// onModelReady: (model) => model.getCities().then((value) {
// model.getBlood().then((value) {
// if (model.bloodModelList.length > 0) {
// CitiesModel citiesModel = new CitiesModel();
// citiesModel.iD = getSelectedCityID(model);
// _selectedHospitalIndex = (citiesModel.iD - 1);
// citiesModel.description = model.CitiesModelList[_selectedHospitalIndex].description;
// citiesModel.descriptionN = model.CitiesModelList[_selectedHospitalIndex].descriptionN;
// _selectedHospital = citiesModel;
// _selectedBloodType = model.bloodModelList[0].bloodGroup;
// _selectedBloodTypeIndex = getBloodIndex(_selectedBloodType);
// } else {
// _selectedHospital = model.CitiesModelList[0];
// }
// });
// }),
// // {
// // if (projectProvider.isLogin && projectProvider.user != null) {
// // model.getCities().then((value) {
// // model.getBlood().then((value) {
// // if (model.bloodModelList.length > 0) {
// // CitiesModel citiesModel = new CitiesModel();
// // citiesModel.iD = getSelectedCityID(model);
// // _selectedHospitalIndex = (citiesModel.iD - 1);
// // citiesModel.description = model.CitiesModelList[_selectedHospitalIndex].description;
// // citiesModel.descriptionN = model.CitiesModelList[_selectedHospitalIndex].descriptionN;
// // _selectedHospital = citiesModel;
// // _selectedBloodType = model.bloodModelList[0].bloodGroup;
// // _selectedBloodTypeIndex = getBloodIndex(_selectedBloodType);
// // } else {
// // _selectedHospital = model.CitiesModelList[0];
// // }
// // });
// // });
// // }
// // },
// builder: (_, model, w) => AppScaffold(
// isShowAppBar: true,
// showNewAppBar: true,
// backgroundColor: Color(0xffF7F7F7),
// showNewAppBarTitle: true,
// baseViewModel: model,
// isShowDecPage: true,
// imagesInfo: imagesInfo,
// description: TranslationBase.of(context).bloodDonationInfo,
// appBarTitle: TranslationBase.of(context).bloodD,
// body: Column(
// children: [
// Expanded(
// child: SingleChildScrollView(
// physics: BouncingScrollPhysics(),
// padding: EdgeInsets.all(21),
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Text(
// TranslationBase.of(context).bloodDEnterDesc,
// style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64),
// ),
// SizedBox(height: 12),
// if (projectProvider.isLogin && model.state != ViewState.Busy)
//
// CommonDropDownView(
// TranslationBase.of(context).city,
// model.CitiesModelList.isNotEmpty
// ? projectProvider.isArabic
// ? model.CitiesModelList[_selectedHospitalIndex].descriptionN
// : model.CitiesModelList[_selectedHospitalIndex].description
// : "", () {
// List<RadioSelectionDialogModel> list = [
// for (int i = 0; i < model.CitiesModelList.length; i++)
// RadioSelectionDialogModel(projectProvider.isArabic ? model.CitiesModelList[i].descriptionN : model.CitiesModelList[i].description, i),
// ];
//
// showDialog(
// context: context,
// builder: (cxt) => RadioSelectionDialog(
// listData: list,
// selectedIndex: _selectedHospitalIndex,
// isScrollable: true,
// onValueSelected: (index) {
// _selectedHospitalIndex = index;
// _selectedHospital = model.CitiesModelList[index];
// setState(() {});
// },
// ),
// );
// }).withBorderedContainer,
// SizedBox(height: 12),
// CommonDropDownView(TranslationBase.of(context).gender, _selectedGenderIndex == 1 ? TranslationBase.of(context).male : TranslationBase.of(context).female, () {
// List<RadioSelectionDialogModel> list = [
// RadioSelectionDialogModel(TranslationBase.of(context).male, 1),
// RadioSelectionDialogModel(TranslationBase.of(context).female, 2),
// ];
//
// showDialog(
// context: context,
// builder: (cxt) => RadioSelectionDialog(
// listData: list,
// selectedIndex: _selectedGenderIndex,
// onValueSelected: (index) {
// _selectedGenderIndex = index;
// setState(() {});
// },
// ),
// );
// }).withBorderedContainer,
// SizedBox(height: 12),
// CommonDropDownView(TranslationBase.of(context).bloodType, _selectedBloodType, () {
// List<RadioSelectionDialogModel> list = [
// RadioSelectionDialogModel("O+", 0),
// RadioSelectionDialogModel("O-", 1),
// RadioSelectionDialogModel("AB+", 2),
// RadioSelectionDialogModel("AB-", 3),
// RadioSelectionDialogModel("A+", 4),
// RadioSelectionDialogModel("A-", 5),
// RadioSelectionDialogModel("B+", 6),
// RadioSelectionDialogModel("B-", 7),
// ];
//
// showDialog(
// context: context,
// builder: (cxt) => RadioSelectionDialog(
// listData: list,
// selectedIndex: _selectedBloodTypeIndex,
// isScrollable: true,
// onValueSelected: (index) {
// _selectedBloodTypeIndex = index;
// _selectedBloodType = getBlood(index);
// setState(() {});
// },
// ),
// );
// }).withBorderedContainer,
// SizedBox(height: 12),
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// children: [
// Text(
// TranslationBase.of(context).viewTermsConditions + ":",
// style: TextStyle(fontWeight: FontWeight.w600, color: Color(0xff2E303A), fontSize: 14, letterSpacing: -0.56),
// ),
// InkWell(
// onTap: () {
// Navigator.of(context).push(FadePage(page: UserAgreementPage()));
// },
// child: Text(
// TranslationBase.of(context).clickHere,
// style: TextStyle(fontWeight: FontWeight.w600, color: Colors.blue, fontSize: 14, letterSpacing: -0.56),
// ),
// )
// ],
// ),
// SizedBox(height: 12),
// Row(
// children: [
// Checkbox(
// onChanged: (bool value) {
// setState(() {
// checkedValue = value;
// });
// },
// value: checkedValue,
// activeColor: Color(0xFFc5272d),
// ),
// Text(
// TranslationBase.of(context).iAgreeToTheTermsAndConditions,
// style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold),
// ),
// ],
// ),
// SizedBox(
// height: 10,
// ),
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// Center(
// child: Container(
// color: Theme.of(context).primaryColor,
// width: 350,
// child: InkWell(
// onTap: () {
// showZoomImageDialog(context, 'assets/images/BloodChrt_EN.png', isNetworkImage: false);
// },
// child: Container(width: 250, height: 200, child: Image.asset('assets/images/BloodChrt_EN.png'), color: Colors.white),
// ),
// ),
// ),
// ],
// ),
// SizedBox(
// height: MediaQuery.of(context).size.height * 0.15,
// )
// ],
// ),
// ),
// ),
// DefaultButton(
// TranslationBase.of(context).save,
// checkedValue
// ? () async {
// if (_selectedHospital == null) {
// AppToast.showErrorToast(message: TranslationBase.of(context).selectCity);
// return;
// }
// bloodDetails.city = _selectedHospital.description;
// bloodDetails.cityCode = _selectedHospital.iD.toString();
// bloodDetails.gender = _selectedGenderIndex;
// bloodDetails.bloodGroup = getBlood(_selectedBloodTypeIndex);
// await model.updateBloodGroup(bloodDetails);
// if (model.state == ViewState.Idle) {
// AppToast.showSuccessToast(message: model.updatedRegisterBloodMessage);
// } else {
// AppToast.showErrorToast(message: model.error);
// }
// }
// : null,
// disabledColor: CustomColors.grey2,
// ).insideContainer
// ],
// ),
// ),
// );
// }
//
// String getBlood(int index) {
// switch (index) {
// case 0:
// return "O+";
// break;
// case 1:
// return "O-";
// break;
// case 2:
// return "AB+";
// break;
// case 3:
// return "AB-";
// break;
// case 4:
// return "A+";
// break;
// case 5:
// return "A-";
// break;
// case 6:
// return "B-";
// break;
// case 7:
// return "B-";
// break;
// case 8:
// return "B+";
// break;
//
// default:
// return "";
// }
// }
//
// int getBloodIndex(String type) {
// switch (type) {
// case "O+":
// return 0;
// break;
// case "O-":
// return 1;
// break;
// case "AB+":
// return 2;
// break;
// case "AB-":
// return 3;
// break;
// case "A+":
// return 4;
// break;
// case "A-":
// return 5;
// break;
// case "B-":
// return 6;
// break;
// case "B-":
// return 7;
// break;
// case "B+":
// return 8;
// break;
//
// default:
// return 0;
// }
// }
//
// String getHospitalName(ProjectViewModel projectProvider, BuildContext context) {
// if (_selectedHospital != null)
// return projectProvider.isArabic ? _selectedHospital.descriptionN : _selectedHospital.description;
// else
// return TranslationBase.of(context).selectCity;
// }
// }
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart';
import 'package:diplomaticquarterapp/pages/Blood/blood_donation_book_appointment.dart';
import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/colors.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_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/show_zoom_image_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.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> {
BeneficiaryType beneficiaryType = BeneficiaryType.NON;
CitiesModel _selectedHospital;
int _selectedHospitalIndex = 0;
int _selectedGenderIndex = 1;
int _selectedBloodTypeIndex = 0;
String _selectedBloodType = "O+";
String amount = "";
String email;
List_BloodGroupDetailsModel bloodDetails = List_BloodGroupDetailsModel(bloodGroup: "A-");
AppSharedPreferences sharedPref = AppSharedPreferences();
var checkedValue = false;
List<ImagesInfo> imagesInfo = List();
ProjectViewModel projectProvider;
@override
void initState() {
imagesInfo.add(
ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/ar/0.png'),
);
WidgetsBinding.instance.addPostFrameCallback((_) {});
super.initState();
}
int getSelectedCityID(MyBalanceViewModel model) {
int cityID = 1;
model.CitiesModelList.forEach((element) {
if (element.description == model.bloodModelList[0].city) {
cityID = element.iD;
}
});
return cityID;
}
@override
Widget build(BuildContext context) {
projectProvider = Provider.of(context);
return BaseView<MyBalanceViewModel>(
onModelReady: (model) => model.getCities().then((value) {
model.getBlood().then((value) {
if (model.bloodModelList.length > 0) {
CitiesModel citiesModel = new CitiesModel();
citiesModel.iD = getSelectedCityID(model);
_selectedHospitalIndex = (citiesModel.iD - 1);
citiesModel.description = model.CitiesModelList[_selectedHospitalIndex].description;
citiesModel.descriptionN = model.CitiesModelList[_selectedHospitalIndex].descriptionN;
_selectedHospital = citiesModel;
_selectedBloodType = model.bloodModelList[0].bloodGroup;
_selectedBloodTypeIndex = getBloodIndex(_selectedBloodType);
} else {
_selectedHospital = model.CitiesModelList[0];
}
});
}),
// {
// if (projectProvider.isLogin && projectProvider.user != null) {
// model.getCities().then((value) {
// model.getBlood().then((value) {
// if (model.bloodModelList.length > 0) {
// CitiesModel citiesModel = new CitiesModel();
// citiesModel.iD = getSelectedCityID(model);
// _selectedHospitalIndex = (citiesModel.iD - 1);
// citiesModel.description = model.CitiesModelList[_selectedHospitalIndex].description;
// citiesModel.descriptionN = model.CitiesModelList[_selectedHospitalIndex].descriptionN;
// _selectedHospital = citiesModel;
// _selectedBloodType = model.bloodModelList[0].bloodGroup;
// _selectedBloodTypeIndex = getBloodIndex(_selectedBloodType);
// } else {
// _selectedHospital = model.CitiesModelList[0];
// }
// });
// });
// }
// },
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
showNewAppBar: true,
backgroundColor: Color(0xffF7F7F7),
showNewAppBarTitle: true,
baseViewModel: model,
isShowDecPage: true,
imagesInfo: imagesInfo,
description: TranslationBase.of(context).bloodDonationInfo,
appBarTitle: TranslationBase.of(context).bloodD,
body: Column(
children: [
Expanded(
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
padding: EdgeInsets.all(21),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).bloodDEnterDesc,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64),
),
SizedBox(height: 12),
if (projectProvider.isLogin && model.state != ViewState.Busy)
CommonDropDownView(
TranslationBase.of(context).city,
model.CitiesModelList.isNotEmpty
? projectProvider.isArabic
? model.CitiesModelList[_selectedHospitalIndex].descriptionN
: model.CitiesModelList[_selectedHospitalIndex].description
: "", () {
List<RadioSelectionDialogModel> list = [
for (int i = 0; i < model.CitiesModelList.length; i++)
RadioSelectionDialogModel(projectProvider.isArabic ? model.CitiesModelList[i].descriptionN : model.CitiesModelList[i].description, i),
];
showDialog(
context: context,
builder: (cxt) => RadioSelectionDialog(
listData: list,
selectedIndex: _selectedHospitalIndex,
isScrollable: true,
onValueSelected: (index) {
_selectedHospitalIndex = index;
_selectedHospital = model.CitiesModelList[index];
setState(() {});
},
),
);
}).withBorderedContainer,
SizedBox(height: 12),
CommonDropDownView(TranslationBase.of(context).gender, _selectedGenderIndex == 1 ? TranslationBase.of(context).male : TranslationBase.of(context).female, () {
List<RadioSelectionDialogModel> list = [
RadioSelectionDialogModel(TranslationBase.of(context).male, 1),
RadioSelectionDialogModel(TranslationBase.of(context).female, 2),
];
showDialog(
context: context,
builder: (cxt) => RadioSelectionDialog(
listData: list,
selectedIndex: _selectedGenderIndex,
onValueSelected: (index) {
_selectedGenderIndex = index;
setState(() {});
},
),
);
}).withBorderedContainer,
SizedBox(height: 12),
CommonDropDownView(TranslationBase.of(context).bloodType, _selectedBloodType, () {
List<RadioSelectionDialogModel> list = [
RadioSelectionDialogModel("O+", 0),
RadioSelectionDialogModel("O-", 1),
RadioSelectionDialogModel("AB+", 2),
RadioSelectionDialogModel("AB-", 3),
RadioSelectionDialogModel("A+", 4),
RadioSelectionDialogModel("A-", 5),
RadioSelectionDialogModel("B+", 6),
RadioSelectionDialogModel("B-", 7),
];
showDialog(
context: context,
builder: (cxt) => RadioSelectionDialog(
listData: list,
selectedIndex: _selectedBloodTypeIndex,
isScrollable: true,
onValueSelected: (index) {
_selectedBloodTypeIndex = index;
_selectedBloodType = getBlood(index);
setState(() {});
},
),
);
}).withBorderedContainer,
SizedBox(height: 12),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
TranslationBase.of(context).viewTermsConditions + ":",
style: TextStyle(fontWeight: FontWeight.w600, color: Color(0xff2E303A), fontSize: 14, letterSpacing: -0.56),
),
InkWell(
onTap: () {
Navigator.of(context).push(FadePage(page: UserAgreementPage()));
},
child: Text(
TranslationBase.of(context).clickHere,
style: TextStyle(fontWeight: FontWeight.w600, color: Colors.blue, fontSize: 14, letterSpacing: -0.56),
),
)
],
),
SizedBox(height: 12),
Row(
children: [
Checkbox(
onChanged: (bool value) {
setState(() {
checkedValue = value;
});
},
value: checkedValue,
activeColor: Color(0xFFc5272d),
),
Text(
TranslationBase.of(context).iAgreeToTheTermsAndConditions,
style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold),
),
],
),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Center(
child: Container(
color: Theme.of(context).primaryColor,
width: 350,
child: InkWell(
onTap: () {
showZoomImageDialog(context, 'assets/images/BloodChrt_EN.png', isNetworkImage: false);
},
child: Container(width: 250, height: 200, child: Image.asset('assets/images/BloodChrt_EN.png'), color: Colors.white),
),
),
),
],
),
SizedBox(
height: MediaQuery.of(context).size.height * 0.15,
)
],
),
),
),
Container(
color: CustomColors.appBackgroudGreyColor,
margin: EdgeInsets.all(14),
height: 45.0,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
height: 45.0,
child: CustomTextButton(
backgroundColor: CustomColors.green,
elevation: 0,
onPressed: () {
Navigator.push(context, FadePage(page: BloodDonationBookAppointment()));
},
child: Text(TranslationBase.of(context).bookAppo.toUpperCase(),
style: TextStyle(
fontSize: 16.0,
color: Colors.white,
)),
),
),
),
mWidth(7),
Expanded(
flex: 1,
child: ButtonTheme(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
height: 45.0,
child: CustomTextButton(
backgroundColor: Color(0xffc5272d),
elevation: 0,
onPressed: () async {
if (_selectedHospital == null) {
AppToast.showErrorToast(message: TranslationBase.of(context).selectCity);
return;
}
bloodDetails.city = _selectedHospital.description;
bloodDetails.cityCode = _selectedHospital.iD.toString();
bloodDetails.gender = _selectedGenderIndex;
bloodDetails.bloodGroup = getBlood(_selectedBloodTypeIndex);
await model.updateBloodGroup(bloodDetails);
if (model.state == ViewState.Idle) {
AppToast.showSuccessToast(message: model.updatedRegisterBloodMessage);
} else {
AppToast.showErrorToast(message: model.error);
}
},
child: Text(TranslationBase.of(context).save.toUpperCase(), style: TextStyle(fontSize: 16.0, color: Colors.white)),
),
),
),
],
),
),
// DefaultButton(
// TranslationBase.of(context).save,
// checkedValue
// ? () async {
// if (_selectedHospital == null) {
// AppToast.showErrorToast(message: TranslationBase.of(context).selectCity);
// return;
// }
// bloodDetails.city = _selectedHospital.description;
// bloodDetails.cityCode = _selectedHospital.iD.toString();
// bloodDetails.gender = _selectedGenderIndex;
// bloodDetails.bloodGroup = getBlood(_selectedBloodTypeIndex);
// await model.updateBloodGroup(bloodDetails);
// if (model.state == ViewState.Idle) {
// AppToast.showSuccessToast(message: model.updatedRegisterBloodMessage);
// } else {
// AppToast.showErrorToast(message: model.error);
// }
// }
// : null,
// disabledColor: CustomColors.grey2,
// ).insideContainer
],
),
),
);
}
String getBlood(int index) {
switch (index) {
case 0:
return "O+";
break;
case 1:
return "O-";
break;
case 2:
return "AB+";
break;
case 3:
return "AB-";
break;
case 4:
return "A+";
break;
case 5:
return "A-";
break;
case 6:
return "B-";
break;
case 7:
return "B-";
break;
case 8:
return "B+";
break;
default:
return "";
}
}
int getBloodIndex(String type) {
switch (type) {
case "O+":
return 0;
break;
case "O-":
return 1;
break;
case "AB+":
return 2;
break;
case "AB-":
return 3;
break;
case "A+":
return 4;
break;
case "A-":
return 5;
break;
case "B-":
return 6;
break;
case "B-":
return 7;
break;
case "B+":
return 8;
break;
default:
return 0;
}
}
String getHospitalName(ProjectViewModel projectProvider, BuildContext context) {
if (_selectedHospital != null)
return projectProvider.isArabic ? _selectedHospital.descriptionN : _selectedHospital.description;
else
return TranslationBase.of(context).selectCity;
}
}