From b20d936933c5249dffaec464276cf0a3c9b1202f Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Tue, 4 May 2021 13:09:48 +0300 Subject: [PATCH] fix hospitals_service --- .../get_hospitals_response_model.dart | 22 +++++++++++++++++++ .../service/hospitals/hospitals_service.dart | 8 +++++-- lib/core/viewModel/auth_view_model.dart | 17 -------------- lib/core/viewModel/imei_view_model.dart | 16 ++++++++++++-- lib/screens/auth/login_screen.dart | 12 +++++----- 5 files changed, 48 insertions(+), 27 deletions(-) diff --git a/lib/core/model/hospitals/get_hospitals_response_model.dart b/lib/core/model/hospitals/get_hospitals_response_model.dart index e69de29b..edbc3fe5 100644 --- a/lib/core/model/hospitals/get_hospitals_response_model.dart +++ b/lib/core/model/hospitals/get_hospitals_response_model.dart @@ -0,0 +1,22 @@ +class GetHospitalsResponseModel { + String facilityGroupId; + int facilityId; + String facilityName; + + GetHospitalsResponseModel( + {this.facilityGroupId, this.facilityId, this.facilityName}); + + GetHospitalsResponseModel.fromJson(Map json) { + facilityGroupId = json['facilityGroupId']; + facilityId = json['facilityId']; + facilityName = json['facilityName']; + } + + Map toJson() { + final Map data = new Map(); + data['facilityGroupId'] = this.facilityGroupId; + data['facilityId'] = this.facilityId; + data['facilityName'] = this.facilityName; + return data; + } +} diff --git a/lib/core/service/hospitals/hospitals_service.dart b/lib/core/service/hospitals/hospitals_service.dart index 2c670e09..f8a7579d 100644 --- a/lib/core/service/hospitals/hospitals_service.dart +++ b/lib/core/service/hospitals/hospitals_service.dart @@ -1,17 +1,21 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/core/model/hospitals/get_hospitals_request_model.dart'; +import 'package:doctor_app_flutter/core/model/hospitals/get_hospitals_response_model.dart'; import 'package:doctor_app_flutter/core/service/base/base_service.dart'; class HospitalsService extends BaseService { -List hospitals; +List hospitals =List(); Future getHospitals(GetHospitalsRequestModel getHospitalsRequestModel) async { hasError = false; await baseAppClient.post( GET_PROJECTS, onSuccess: (dynamic response, int statusCode) { - hospitals = response['ProjectInfo']; + hospitals.clear(); + response['ProjectInfo'].forEach((hospital) { + hospitals.add(GetHospitalsResponseModel.fromJson(hospital)); + }); }, onFailure: (String error, int statusCode) { hasError = true; diff --git a/lib/core/viewModel/auth_view_model.dart b/lib/core/viewModel/auth_view_model.dart index 48f4661d..c1410fe6 100644 --- a/lib/core/viewModel/auth_view_model.dart +++ b/lib/core/viewModel/auth_view_model.dart @@ -56,23 +56,6 @@ class AuthViewModel extends BaseViewModel { } } - // Future login(UserModel userInfo) async { - // try { - // dynamic localRes; - // - // await baseAppClient.post(LOGIN_URL, - // onSuccess: (dynamic response, int statusCode) { - // localRes = response; - // }, onFailure: (String error, int statusCode) { - // throw error; - // }, body: userInfo.toJson()); - // - // return Future.value(localRes); - // } catch (error) { - // print(error); - // throw error; - // } - // } Future insertDeviceImei(request) async { var loggedIn = await sharedPref.getObj(LOGGED_IN_USER); diff --git a/lib/core/viewModel/imei_view_model.dart b/lib/core/viewModel/imei_view_model.dart index ba462553..6499cfac 100644 --- a/lib/core/viewModel/imei_view_model.dart +++ b/lib/core/viewModel/imei_view_model.dart @@ -1,10 +1,12 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/model/hospitals/get_hospitals_request_model.dart'; +import 'package:doctor_app_flutter/core/model/hospitals/get_hospitals_response_model.dart'; import 'package:doctor_app_flutter/core/model/imei_details.dart'; import 'package:doctor_app_flutter/core/service/auth_service.dart'; import 'package:doctor_app_flutter/core/service/hospitals/hospitals_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/models/auth/send_activation_code_model2.dart'; import 'package:doctor_app_flutter/models/doctor/user_model.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; @@ -13,7 +15,7 @@ class IMEIViewModel extends BaseViewModel { HospitalsService _hospitalsService = locator(); List get imeiDetails => _authService.dashboardItemsList; - List get hospitals => _hospitalsService.hospitals; + List get hospitals => _hospitalsService.hospitals; get loginInfo => _authService.loginInfo; Future selectDeviceImei(imei) async { setState(ViewState.Busy); @@ -35,10 +37,20 @@ class IMEIViewModel extends BaseViewModel { setState(ViewState.Idle); } + Future sendActivationCodeVerificationScreen(ActivationCodeModel2 activationCodeModel) async { + setState(ViewState.BusyLocal); + // await _authService.sendActivationCodeVerificationScreen(userInfo); + if (_authService.hasError) { + error = _authService.error; + setState(ViewState.ErrorLocal); + } else + setState(ViewState.Idle); + } + + Future getHospitalsList(memberID) async { GetHospitalsRequestModel getHospitalsRequestModel =GetHospitalsRequestModel(); getHospitalsRequestModel.memberID = memberID; - // setState(ViewState.Busy); await _hospitalsService.getHospitals(getHospitalsRequestModel); if (_hospitalsService.hasError) { error = _hospitalsService.error; diff --git a/lib/screens/auth/login_screen.dart b/lib/screens/auth/login_screen.dart index 1d27e31e..d7784881 100644 --- a/lib/screens/auth/login_screen.dart +++ b/lib/screens/auth/login_screen.dart @@ -5,8 +5,8 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; +import 'package:doctor_app_flutter/core/model/hospitals/get_hospitals_response_model.dart'; import 'package:doctor_app_flutter/core/service/auth_service.dart'; -import 'package:doctor_app_flutter/core/viewModel/hospitals_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/imei_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/models/doctor/user_model.dart'; @@ -47,7 +47,7 @@ class _LoginsreenState extends State { //TODO change AppTextFormField to AppTextFormFieldCustom final loginFormKey = GlobalKey(); var projectIdController = TextEditingController(); - var projectsList = []; + List projectsList = []; FocusNode focusPass = FocusNode(); FocusNode focusProject = FocusNode(); // HospitalViewModel hospitalViewModel; @@ -491,8 +491,8 @@ class _LoginsreenState extends State { onSelectProject(index) { setState(() { - userInfo.projectID = projectsList[index]["facilityId"]; - projectIdController.text = projectsList[index]['facilityName']; + userInfo.projectID = projectsList[index].facilityId; + projectIdController.text = projectsList[index].facilityName; }); primaryFocus.unfocus(); @@ -505,8 +505,8 @@ class _LoginsreenState extends State { if(model.state == ViewState.Idle) { projectsList = model.hospitals; setState(() { - userInfo.projectID = projectsList[0]["facilityId"]; - projectIdController.text = projectsList[0]['facilityName']; + userInfo.projectID = projectsList[0].facilityId; + projectIdController.text = projectsList[0].facilityName; }); } }