From f1dd50d7bfeda85c57ffcefb9e7e99b26091151f Mon Sep 17 00:00:00 2001 From: RoaaGhali98 Date: Tue, 15 Mar 2022 15:01:11 +0300 Subject: [PATCH] Doing some refactoring --- lib/core/viewModel/procedure_View_model.dart | 48 ++++++++++++++++++- .../profile/lab_result/labs_home_page.dart | 3 +- .../radiology/radiology_home_page.dart | 3 +- .../prescription/new_prescriptions_page.dart | 9 +--- .../prescription/old_prescriptions_page.dart | 6 --- ...dure.dart => add_favourite_procedure.dart} | 2 +- ...dure-page.dart => add_procedure_page.dart} | 5 +- .../base_add_procedure_tab_page.dart | 7 +-- .../procedures/entity_list_fav_procedure.dart | 5 +- ...rocedure.dart => expansion_procedure.dart} | 0 ...ProcedureCard.dart => procedure_card.dart} | 4 -- lib/screens/procedures/procedure_screen.dart | 7 ++- ...ProcedureType.dart => procedure_type.dart} | 0 ...e-procedure.dart => update_procedure.dart} | 0 14 files changed, 59 insertions(+), 40 deletions(-) rename lib/screens/procedures/{add-favourite-procedure.dart => add_favourite_procedure.dart} (98%) rename lib/screens/procedures/{add-procedure-page.dart => add_procedure_page.dart} (98%) rename lib/screens/procedures/{ExpansionProcedure.dart => expansion_procedure.dart} (100%) rename lib/screens/procedures/{ProcedureCard.dart => procedure_card.dart} (98%) rename lib/screens/procedures/{ProcedureType.dart => procedure_type.dart} (100%) rename lib/screens/procedures/{update-procedure.dart => update_procedure.dart} (100%) diff --git a/lib/core/viewModel/procedure_View_model.dart b/lib/core/viewModel/procedure_View_model.dart index bec0e2de..6847560d 100644 --- a/lib/core/viewModel/procedure_View_model.dart +++ b/lib/core/viewModel/procedure_View_model.dart @@ -14,13 +14,14 @@ import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_model import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_request_model.dart'; import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart'; import 'package:doctor_app_flutter/core/model/radiology/final_radiology.dart'; +import 'package:doctor_app_flutter/core/service/AnalyticsService.dart'; import 'package:doctor_app_flutter/core/service/patient_medical_file/lab_order/labs_service.dart'; import 'package:doctor_app_flutter/core/service/patient_medical_file/procedure/procedure_service.dart'; import 'package:doctor_app_flutter/core/service/patient_medical_file/radiology/radiology_service.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/locator.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; -import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:flutter/cupertino.dart'; @@ -67,6 +68,9 @@ class ProcedureViewModel extends BaseViewModel { List get procedureTemplateDetails => _procedureService.templateDetailsList; + List entityList = List(); + + Future filterSearchResults(String query,List masterList, List items) async { List dummySearchList = List(); @@ -449,11 +453,51 @@ class ProcedureViewModel extends BaseViewModel { } } - bool isEntityListSelected(cpe.EntityList masterKey, List entityList) { + bool isEntityListSelected(cpe.EntityList masterKey, List entityList) { Iterable history = entityList.where((element) => masterKey.procedureId == element.procedureId); if (history.length > 0) { return true; } return false; } + + isProcedureEntityListSelected({ProcedureTempleteDetailsModel masterKey, List entityList }) { + Iterable history = entityList.where( + (element) => + masterKey.templateID == element.templateID && + masterKey.procedureName == element.procedureName); + if (history.length > 0) { + return true; + } + return false; + } + + Future addProcedures(ProcedureViewModel model, + List items, + PatiantInformtion patient, + TextEditingController remarksController, + BuildContext context) async { + List entityList = List(); + items.forEach((element) { + entityList.add( + cpe.EntityList( + procedureId: element.procedureID, + remarks: element.remarks, + categoryID: element.categoryID, + type: element.type, + ), + ); + }); + await locator().logEvent( + eventCategory: "Procedure Checkout Screen", + eventAction: "Add New Procedure", + ); + Navigator.pop(context); + await model.preparePostProcedure( + entityList: entityList, + patient: patient, + remarks: remarksController.text); + Navigator.pop(context); + Navigator.pop(context); + } } diff --git a/lib/screens/patients/profile/lab_result/labs_home_page.dart b/lib/screens/patients/profile/lab_result/labs_home_page.dart index 05e86a7f..4f4b295a 100644 --- a/lib/screens/patients/profile/lab_result/labs_home_page.dart +++ b/lib/screens/patients/profile/lab_result/labs_home_page.dart @@ -3,8 +3,8 @@ import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/lab_result/laboratory_result_page.dart'; -import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart'; import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart'; @@ -16,7 +16,6 @@ import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; - import '../../../../widgets/shared/errors/error_message.dart'; class LabsHomePage extends StatefulWidget { diff --git a/lib/screens/patients/profile/radiology/radiology_home_page.dart b/lib/screens/patients/profile/radiology/radiology_home_page.dart index 244fd37f..c6be1c21 100644 --- a/lib/screens/patients/profile/radiology/radiology_home_page.dart +++ b/lib/screens/patients/profile/radiology/radiology_home_page.dart @@ -3,8 +3,8 @@ import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_details_page.dart'; -import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart'; import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart'; @@ -17,7 +17,6 @@ import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; - import '../../../../widgets/shared/errors/error_message.dart'; class RadiologyHomePage extends StatefulWidget { diff --git a/lib/screens/prescription/new_prescriptions_page.dart b/lib/screens/prescription/new_prescriptions_page.dart index e275e076..93345506 100644 --- a/lib/screens/prescription/new_prescriptions_page.dart +++ b/lib/screens/prescription/new_prescriptions_page.dart @@ -2,22 +2,15 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription/prescription_view_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; -import 'package:doctor_app_flutter/screens/prescription/prescriptions_items/prescription_items_in_patient.dart'; -import 'package:doctor_app_flutter/screens/prescription/prescriptions_items/prescription_items_out_patient.dart'; -import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart'; import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart'; -import 'package:doctor_app_flutter/utils/date-utils.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart'; -import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart'; -import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart'; -import 'package:doctor_app_flutter/widgets/shared/user-guid/in_patient_doctor_card.dart'; -import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; diff --git a/lib/screens/prescription/old_prescriptions_page.dart b/lib/screens/prescription/old_prescriptions_page.dart index 71dc4dba..f937c8b1 100644 --- a/lib/screens/prescription/old_prescriptions_page.dart +++ b/lib/screens/prescription/old_prescriptions_page.dart @@ -4,21 +4,15 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/prescription/prescriptions_items/prescription_items_in_patient.dart'; import 'package:doctor_app_flutter/screens/prescription/prescriptions_items/prescription_items_out_patient.dart'; -import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart'; -import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart'; import 'package:doctor_app_flutter/utils/date-utils.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart'; -import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart'; -import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart'; -import 'package:doctor_app_flutter/widgets/shared/user-guid/in_patient_doctor_card.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; -import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import '../../utils/utils.dart'; diff --git a/lib/screens/procedures/add-favourite-procedure.dart b/lib/screens/procedures/add_favourite_procedure.dart similarity index 98% rename from lib/screens/procedures/add-favourite-procedure.dart rename to lib/screens/procedures/add_favourite_procedure.dart index 7b0d869a..5e61481a 100644 --- a/lib/screens/procedures/add-favourite-procedure.dart +++ b/lib/screens/procedures/add_favourite_procedure.dart @@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/prescription/prescription_checkout_screen.dart'; import 'package:doctor_app_flutter/screens/procedures/entity_list_fav_procedure.dart'; import 'package:doctor_app_flutter/screens/procedures/procedure_checkout_screen.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart'; @@ -13,7 +14,6 @@ import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'ProcedureType.dart'; class AddFavouriteProcedure extends StatefulWidget { final ProcedureViewModel previousProcedureViewModel; diff --git a/lib/screens/procedures/add-procedure-page.dart b/lib/screens/procedures/add_procedure_page.dart similarity index 98% rename from lib/screens/procedures/add-procedure-page.dart rename to lib/screens/procedures/add_procedure_page.dart index ca34fc77..e5fd22e8 100644 --- a/lib/screens/procedures/add-procedure-page.dart +++ b/lib/screens/procedures/add_procedure_page.dart @@ -3,6 +3,7 @@ import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.dar import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; @@ -11,9 +12,7 @@ import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dar import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart'; import 'package:flutter/material.dart'; - import '../../config/config.dart'; -import 'ProcedureType.dart'; import 'entity_list_checkbox_search_widget.dart'; class AddProcedurePage extends StatefulWidget { @@ -163,8 +162,6 @@ class _AddProcedurePageState extends State { }); }, addSelectedHistories: () { - //TODO build your fun herr - // widget.addSelectedHistories(); }, isEntityListSelected: (master) => widget.model.isEntityListSelected(master,entityList), diff --git a/lib/screens/procedures/base_add_procedure_tab_page.dart b/lib/screens/procedures/base_add_procedure_tab_page.dart index 6c481658..3cf90da5 100644 --- a/lib/screens/procedures/base_add_procedure_tab_page.dart +++ b/lib/screens/procedures/base_add_procedure_tab_page.dart @@ -4,13 +4,14 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart'; import 'package:doctor_app_flutter/screens/prescription/add_prescription/add_prescription.dart'; +import 'package:doctor_app_flutter/screens/procedures/add_favourite_procedure.dart'; +import 'package:doctor_app_flutter/screens/procedures/add_procedure_page.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/screens/procedures/tab_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:flutter/material.dart'; -import 'ProcedureType.dart'; -import 'add-favourite-procedure.dart'; -import 'add-procedure-page.dart'; + class BaseAddProcedureTabPage extends StatefulWidget { final ProcedureViewModel model; diff --git a/lib/screens/procedures/entity_list_fav_procedure.dart b/lib/screens/procedures/entity_list_fav_procedure.dart index 96f88d18..e140824e 100644 --- a/lib/screens/procedures/entity_list_fav_procedure.dart +++ b/lib/screens/procedures/entity_list_fav_procedure.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/core/model/procedure/procedure_templateModel.dart'; import 'package:doctor_app_flutter/core/model/procedure/procedure_template_details_model.dart'; import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; +import 'package:doctor_app_flutter/screens/procedures/expansion_procedure.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; @@ -9,7 +10,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import '../../config/config.dart'; import '../../widgets/shared/text_fields/app_text_field_custom_serach.dart'; -import 'ExpansionProcedure.dart'; class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget { final ProcedureViewModel model; @@ -70,7 +70,6 @@ class _EntityListCheckboxSearchFavProceduresWidgetState @override void initState() { - //items.addAll(widget.masterList); super.initState(); } @@ -105,8 +104,6 @@ class _EntityListCheckboxSearchFavProceduresWidgetState ], inputType: TextInputType.text, hintText: TranslationBase.of(context).searchFavoriteTemplate, - // validationError: TranslationBase.of(context).emptyMessage - // : null, ), SizedBox( height: 15, diff --git a/lib/screens/procedures/ExpansionProcedure.dart b/lib/screens/procedures/expansion_procedure.dart similarity index 100% rename from lib/screens/procedures/ExpansionProcedure.dart rename to lib/screens/procedures/expansion_procedure.dart diff --git a/lib/screens/procedures/ProcedureCard.dart b/lib/screens/procedures/procedure_card.dart similarity index 98% rename from lib/screens/procedures/ProcedureCard.dart rename to lib/screens/procedures/procedure_card.dart index 090d5a7f..afff9a92 100644 --- a/lib/screens/procedures/ProcedureCard.dart +++ b/lib/screens/procedures/procedure_card.dart @@ -1,4 +1,3 @@ -//import 'package:doctor_app_flutter/client/base_app_client.dart'; import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_model.dart'; @@ -13,8 +12,6 @@ import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_svg/flutter_svg.dart'; - class ProcedureCard extends StatelessWidget { final Function onTap; @@ -42,7 +39,6 @@ class ProcedureCard extends StatelessWidget { return Container( width: double.maxFinite, - //height: MediaQuery.of(context).size.height * .22, margin: EdgeInsets.all(10), padding: EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5), decoration: BoxDecoration( diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index c79ef942..cce174f8 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -4,7 +4,9 @@ import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/core/model/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; -import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_card.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; +import 'package:doctor_app_flutter/screens/procedures/update_procedure.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart'; @@ -13,10 +15,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart'; import 'package:flutter/material.dart'; - import '../../widgets/shared/errors/error_message.dart'; -import 'ProcedureCard.dart'; -import 'ProcedureType.dart'; import 'base_add_procedure_tab_page.dart'; class ProcedureScreen extends StatelessWidget { diff --git a/lib/screens/procedures/ProcedureType.dart b/lib/screens/procedures/procedure_type.dart similarity index 100% rename from lib/screens/procedures/ProcedureType.dart rename to lib/screens/procedures/procedure_type.dart diff --git a/lib/screens/procedures/update-procedure.dart b/lib/screens/procedures/update_procedure.dart similarity index 100% rename from lib/screens/procedures/update-procedure.dart rename to lib/screens/procedures/update_procedure.dart