From 368db03ab892a53b50a60a8a32f3f1c57a8e9010 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Sun, 13 Sep 2020 12:24:06 +0300 Subject: [PATCH] edit card_position.dart --- lib/config/config.dart | 4 + ..._all_transportation_method_list_model.dart | 79 +++++++++++++++++++ lib/core/service/er/am_service.dart | 25 ++++++ .../viewModels/er/am_request_view_model.dart | 32 ++++++++ lib/locator.dart | 6 ++ lib/pages/ErService/widgets/card_common.dart | 9 ++- .../ErService/widgets/card_position.dart | 2 +- 7 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 lib/core/model/er/get_all_transportation_method_list_model.dart create mode 100644 lib/core/service/er/am_service.dart create mode 100644 lib/core/viewModels/er/am_request_view_model.dart diff --git a/lib/config/config.dart b/lib/config/config.dart index 47bb9809..fea1bb02 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -54,6 +54,10 @@ const GET_PATIENT_VITAL_SIGN = const GET_NEAREST_HOSPITAL= 'Services/Patients.svc/REST/Patient_GetProjectAvgERWaitingTime'; +///Er Nearest +const GET_AMBULANCE_REQUEST= + 'Services/Patients.svc/REST/PatientER_RRT_GetAllTransportationMethod'; + diff --git a/lib/core/model/er/get_all_transportation_method_list_model.dart b/lib/core/model/er/get_all_transportation_method_list_model.dart new file mode 100644 index 00000000..3402873e --- /dev/null +++ b/lib/core/model/er/get_all_transportation_method_list_model.dart @@ -0,0 +1,79 @@ +import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; +class PatientER_RRT_GetAllTransportationMethodListModel { + int id; + DateTime createDate; + DateTime lastEditDate; + int createdBy; + int lastEditBy; + bool isActive; + String title; + String titleAR; + int price; + Null isDefault; + int visibility; + Null durationId; + String description; + String descriptionAR; + int totalPrice; + int vAT; + + PatientER_RRT_GetAllTransportationMethodListModel( + { + this.id, + this.createDate, + this.lastEditDate, + this.createdBy, + this.lastEditBy, + this.isActive, + this.title, + this.titleAR, + this.price, + this.isDefault, + this.visibility, + this.durationId, + this.description, + this.descriptionAR, + this.totalPrice, + this.vAT}); + + PatientER_RRT_GetAllTransportationMethodListModel.fromJson( + Map json) { + id = json['Id']; + createDate = DateUtil.convertStringToDate(json['CreateDate']); + lastEditDate = DateUtil.convertStringToDate(json['LastEditDate']); + createdBy = json['CreatedBy']; + lastEditBy = json['LastEditBy']; + isActive = json['IsActive']; + title = json['Title']; + titleAR = json['TitleAR']; + price = json['Price']; + isDefault = json['isDefault']; + visibility = json['Visibility']; + durationId = json['DurationId']; + description = json['Description']; + descriptionAR = json['DescriptionAR']; + totalPrice = json['TotalPrice']; + vAT = json['VAT']; + } + + Map toJson() { + final Map data = new Map(); + data['Id'] = this.id; + data['CreateDate'] = this.createDate; + data['LastEditDate'] = this.lastEditDate; + data['CreatedBy'] = this.createdBy; + data['LastEditBy'] = this.lastEditBy; + data['IsActive'] = this.isActive; + data['Title'] = this.title; + data['TitleAR'] = this.titleAR; + data['Price'] = this.price; + data['isDefault'] = this.isDefault; + data['Visibility'] = this.visibility; + data['DurationId'] = this.durationId; + data['Description'] = this.description; + data['DescriptionAR'] = this.descriptionAR; + data['TotalPrice'] = this.totalPrice; + data['VAT'] = this.vAT; + return data; + } +} \ No newline at end of file diff --git a/lib/core/service/er/am_service.dart b/lib/core/service/er/am_service.dart new file mode 100644 index 00000000..181ad37b --- /dev/null +++ b/lib/core/service/er/am_service.dart @@ -0,0 +1,25 @@ +import 'package:diplomaticquarterapp/config/config.dart'; +import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/model/er/get_all_transportation_method_list_model.dart'; +import '../base_service.dart'; + +class AmService extends BaseService { + List AmModelList = List(); + Map body = Map(); + + Future getAllTransportationOrders() async { + hasError = false; + + await baseAppClient.post(GET_AMBULANCE_REQUEST, + onSuccess: (dynamic response, int statusCode) { + AmModelList.clear(); + response['AmModelList'].forEach((vital) { + AmModelList.add( + PatientER_RRT_GetAllTransportationMethodListModel.fromJson(vital)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: body); + } +} diff --git a/lib/core/viewModels/er/am_request_view_model.dart b/lib/core/viewModels/er/am_request_view_model.dart new file mode 100644 index 00000000..db1acbf0 --- /dev/null +++ b/lib/core/viewModels/er/am_request_view_model.dart @@ -0,0 +1,32 @@ + +import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; +import 'package:diplomaticquarterapp/core/model/er/get_all_transportation_method_list_model.dart'; +import 'package:diplomaticquarterapp/core/service/er/am_service.dart'; +import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; +import '../base_view_model.dart'; +import '../../../locator.dart'; + +class AmRequestViewModel extends BaseViewModel{ + + + AmService _amService = locator(); + + List get AmRequestModeList=> + _amService.AmModelList; + + getAmRequestOrders({int id, int projectID}) async { + setState(ViewState.Busy); + + + await _amService.getAllTransportationOrders(); + + if ( _amService.hasError) { + error = _amService.error; + setState(ViewState.Error); + } else + setState(ViewState.Idle); + } + + + +} \ No newline at end of file diff --git a/lib/locator.dart b/lib/locator.dart index 8f347f42..b3accfd2 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -5,6 +5,7 @@ import 'package:get_it/get_it.dart'; import 'core/service/appointment_rate_service.dart'; import 'core/service/dashboard_service.dart'; +import 'core/service/er/am_service.dart'; import 'core/service/er/er_service.dart'; import 'core/service/feedback/feedback_service.dart'; import 'core/service/hospital_service.dart'; @@ -17,6 +18,7 @@ import 'core/service/medical/radiology_service.dart'; import 'core/service/medical/reports_monthly_service.dart'; import 'core/service/medical/vital_sign_service.dart'; import 'core/viewModels/appointment_rate_view_model.dart'; +import 'core/viewModels/er/am_request_view_model.dart'; import 'core/viewModels/er/near_hospital_view_model.dart'; import 'core/viewModels/feedback/feedback_view_model.dart'; import 'core/service/medical/reports_service.dart'; @@ -61,6 +63,9 @@ void setupLocator() { locator.registerFactory(() => VaccineService()); locator.registerLazySingleton(() => ReportsMonthlyService()); locator.registerLazySingleton(() => ErService()); + locator.registerLazySingleton(() => AmService()); + + locator.registerLazySingleton(() => PatientSickLeaveService()); /// View Model @@ -81,6 +86,7 @@ void setupLocator() { locator.registerFactory(() => QrViewModel()); locator.registerFactory(() => ReportsMonthlyViewModel()); locator.registerFactory(() => NearHospitalViewModel()); + locator.registerFactory(() => AmRequestViewModel()); locator.registerFactory(() => PatientSickLeaveViewMode()); } diff --git a/lib/pages/ErService/widgets/card_common.dart b/lib/pages/ErService/widgets/card_common.dart index b5fd205a..35ece966 100644 --- a/lib/pages/ErService/widgets/card_common.dart +++ b/lib/pages/ErService/widgets/card_common.dart @@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; +import '../AmbulanceReq.dart'; import '../NearestEr.dart'; class CardCommonEr extends StatelessWidget { @@ -61,7 +62,13 @@ class CardCommonEr extends StatelessWidget { Future navigateToSearch(context, type) async { //===Switch case=== if(type==0) - {print("========Ambalunce=========");} + { + + Navigator.push( + context, + FadePage( + page: AmbulanceReq())); + } else{ Navigator.push( diff --git a/lib/pages/ErService/widgets/card_position.dart b/lib/pages/ErService/widgets/card_position.dart index b957ec42..8647ad62 100644 --- a/lib/pages/ErService/widgets/card_position.dart +++ b/lib/pages/ErService/widgets/card_position.dart @@ -40,7 +40,7 @@ class CardPosition extends StatelessWidget { }, child: Container( - width:165, + width:MediaQuery.of(context).size.width * 0.47,//165, margin: EdgeInsets.fromLTRB(7.0, 7.0, 7.0, 7.0), decoration: BoxDecoration(boxShadow: [ BoxShadow(color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0)