Live Care Is Login Service

favourite_prescription
hussam al-habibeh 5 years ago
parent 25583d7bee
commit c800219428

@ -55,7 +55,7 @@ class LiveCarePatientServices extends BaseService {
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
}, body: endCallReq.toJson(), isLiveCare:_isLive); }, body: endCallReq.toJson(), isLiveCare: _isLive);
} }
Future startCall(StartCallReq startCallReq) async { Future startCall(StartCallReq startCallReq) async {
@ -65,7 +65,7 @@ class LiveCarePatientServices extends BaseService {
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
}, body: startCallReq.toJson(), isLiveCare:_isLive); }, body: startCallReq.toJson(), isLiveCare: _isLive);
} }
Future endCallWithCharge(int vcID) async { Future endCallWithCharge(int vcID) async {
@ -95,13 +95,13 @@ class LiveCarePatientServices extends BaseService {
}, isLiveCare: _isLive); }, isLiveCare: _isLive);
} }
Future isLogin(LiveCareUserLoginRequestModel isLoginRequestModel) async { Future isLogin({LiveCareUserLoginRequestModel isLoginRequestModel, int loginStatus}) async {
hasError = false; hasError = false;
await baseAppClient.post(LIVE_CARE_IS_LOGIN, onSuccess: (response, statusCode) async { await baseAppClient.post(LIVE_CARE_IS_LOGIN, onSuccess: (response, statusCode) async {
isLoginResponse = response; isLoginResponse = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
}, body: isLoginRequestModel.toJson(), isLiveCare: true); }, body: isLoginRequestModel.toJson(), isLiveCare: _isLive);
} }
} }

@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/live_care/PendingPatientERForDoctorAppRequestModel.dart'; import 'package:doctor_app_flutter/core/model/live_care/PendingPatientERForDoctorAppRequestModel.dart';
import 'package:doctor_app_flutter/core/model/live_care/live_care_login_reguest_model.dart';
import 'package:doctor_app_flutter/core/service/home/dasboard_service.dart'; import 'package:doctor_app_flutter/core/service/home/dasboard_service.dart';
import 'package:doctor_app_flutter/core/service/patient/LiveCarePatientServices.dart'; import 'package:doctor_app_flutter/core/service/patient/LiveCarePatientServices.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
@ -14,8 +15,7 @@ import '../../locator.dart';
class LiveCarePatientViewModel extends BaseViewModel { class LiveCarePatientViewModel extends BaseViewModel {
List<PatiantInformtion> filterData = []; List<PatiantInformtion> filterData = [];
LiveCarePatientServices _liveCarePatientServices = LiveCarePatientServices _liveCarePatientServices = locator<LiveCarePatientServices>();
locator<LiveCarePatientServices>();
StartCallRes get startCallRes => _liveCarePatientServices.startCallRes; StartCallRes get startCallRes => _liveCarePatientServices.startCallRes;
@ -28,12 +28,9 @@ class LiveCarePatientViewModel extends BaseViewModel {
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
} }
PendingPatientERForDoctorAppRequestModel PendingPatientERForDoctorAppRequestModel pendingPatientERForDoctorAppRequestModel =
pendingPatientERForDoctorAppRequestModel = PendingPatientERForDoctorAppRequestModel(sErServiceID: _dashboardService.sServiceID, outSA: false);
PendingPatientERForDoctorAppRequestModel( await _liveCarePatientServices.getPendingPatientERForDoctorApp(pendingPatientERForDoctorAppRequestModel);
sErServiceID: _dashboardService.sServiceID, outSA: false);
await _liveCarePatientServices.getPendingPatientERForDoctorApp(
pendingPatientERForDoctorAppRequestModel);
if (_liveCarePatientServices.hasError) { if (_liveCarePatientServices.hasError) {
error = _liveCarePatientServices.error; error = _liveCarePatientServices.error;
@ -120,16 +117,11 @@ class LiveCarePatientViewModel extends BaseViewModel {
if (strExist) { if (strExist) {
filterData = []; filterData = [];
for (var i = 0; i < _liveCarePatientServices.patientList.length; i++) { for (var i = 0; i < _liveCarePatientServices.patientList.length; i++) {
String fullName = String fullName = _liveCarePatientServices.patientList[i].fullName.toUpperCase();
_liveCarePatientServices.patientList[i].fullName.toUpperCase(); String patientID = _liveCarePatientServices.patientList[i].patientId.toString();
String patientID = String mobile = _liveCarePatientServices.patientList[i].mobileNumber.toUpperCase();
_liveCarePatientServices.patientList[i].patientId.toString();
String mobile = if (fullName.contains(str.toUpperCase()) || patientID.contains(str) || mobile.contains(str)) {
_liveCarePatientServices.patientList[i].mobileNumber.toUpperCase();
if (fullName.contains(str.toUpperCase()) ||
patientID.contains(str) ||
mobile.contains(str)) {
filterData.add(_liveCarePatientServices.patientList[i]); filterData.add(_liveCarePatientServices.patientList[i]);
} }
} }
@ -139,4 +131,22 @@ class LiveCarePatientViewModel extends BaseViewModel {
notifyListeners(); notifyListeners();
} }
} }
Future isLogin(int loginStatus) async {
await getDoctorProfile(isGetProfile: true);
LiveCareUserLoginRequestModel userLoginRequestModel = new LiveCareUserLoginRequestModel();
userLoginRequestModel.isOutKsa = (doctorProfile.projectID == 2 || doctorProfile.projectID == 3) ? 1 : 0;
userLoginRequestModel.isLogin = loginStatus;
userLoginRequestModel.generalid = "Cs2020@2016\$2958";
setState(ViewState.BusyLocal);
await _liveCarePatientServices.isLogin(loginStatus: loginStatus, isLoginRequestModel: userLoginRequestModel);
if (_liveCarePatientServices.hasError) {
error = _liveCarePatientServices.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
}
} }

@ -30,7 +30,7 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
void initState() { void initState() {
super.initState(); super.initState();
timer = Timer.periodic(Duration(seconds: 10), (Timer t) { timer = Timer.periodic(Duration(seconds: 10), (Timer t) {
if(_liveCareViewModel != null){ if (_liveCareViewModel != null) {
_liveCareViewModel.getPendingPatientERForDoctorApp(isFromTimer: true); _liveCareViewModel.getPendingPatientERForDoctorApp(isFromTimer: true);
} }
}); });
@ -38,6 +38,7 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
@override @override
void dispose() { void dispose() {
_liveCareViewModel.isLogin(0);
_liveCareViewModel = null; _liveCareViewModel = null;
timer?.cancel(); timer?.cancel();
super.dispose(); super.dispose();
@ -49,7 +50,7 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
onModelReady: (model) async { onModelReady: (model) async {
_liveCareViewModel = model; _liveCareViewModel = model;
await model.getPendingPatientERForDoctorApp(); await model.getPendingPatientERForDoctorApp();
await model.isLogin(1);
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
@ -82,7 +83,9 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
]), ]),
), ),
), ),
SizedBox(height: 20,), SizedBox(
height: 20,
),
Center( Center(
child: FractionallySizedBox( child: FractionallySizedBox(
widthFactor: .9, widthFactor: .9,
@ -90,24 +93,17 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
width: double.maxFinite, width: double.maxFinite,
height: 75, height: 75,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(Radius.circular(6.0)),
Radius.circular(6.0)),
border: Border.all( border: Border.all(
width: 1.0, width: 1.0,
color: Color(0xffCCCCCC), color: Color(0xffCCCCCC),
), ),
color: Colors.white), color: Colors.white),
child: Column( child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Padding( Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(left: 10, top: 10),
left: 10, top: 10),
child: AppText( child: AppText(
TranslationBase.of( TranslationBase.of(context).searchPatientName,
context)
.searchPatientName,
fontSize: 13, fontSize: 13,
)), )),
AppTextFormField( AppTextFormField(
@ -120,9 +116,7 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
color: Colors.black, color: Colors.black,
), ),
iconSize: 20, iconSize: 20,
padding: padding: EdgeInsets.only(bottom: 30),
EdgeInsets.only(
bottom: 30),
), ),
onChanged: (String str) { onChanged: (String str) {
model.searchData(str); model.searchData(str);
@ -136,8 +130,7 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
child: model.filterData.isEmpty child: model.filterData.isEmpty
? Center( ? Center(
child: ErrorMessage( child: ErrorMessage(
error: TranslationBase.of(context) error: TranslationBase.of(context).youDontHaveAnyPatient,
.youDontHaveAnyPatient,
), ),
) )
: ListView.builder( : ListView.builder(
@ -153,27 +146,28 @@ class _LiveCarePatientScreenState extends State<LiveCarePatientScreen> {
arrivalType: "0", arrivalType: "0",
isFromSearch: false, isFromSearch: false,
isInpatient: false, isInpatient: false,
isFromLiveCare:true, isFromLiveCare: true,
onTap: () { onTap: () {
// TODO change the parameter to daynamic // TODO change the parameter to daynamic
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(PATIENTS_PROFILE, arguments: {
PATIENTS_PROFILE,
arguments: {
"patient": model.filterData[index], "patient": model.filterData[index],
"patientType": "0", "patientType": "0",
"isSearch": false, "isSearch": false,
"isInpatient": false, "isInpatient": false,
"arrivalType": "0", "arrivalType": "0",
"isSearchAndOut": false, "isSearchAndOut": false,
"isFromLiveCare":true, "isFromLiveCare": true,
}); });
}, },
// isFromSearch: widget.isSearch, // isFromSearch: widget.isSearch,
), ),
); );
})), })),
) : Expanded( )
child: AppLoaderWidget(containerColor: Colors.transparent,)), : Expanded(
child: AppLoaderWidget(
containerColor: Colors.transparent,
)),
], ],
), ),
), ),

@ -587,7 +587,7 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.2" version: "0.6.3-nullsafety.1"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@ -629,7 +629,7 @@ packages:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0-nullsafety.3" version: "1.3.0-nullsafety.4"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -921,7 +921,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.10.0-nullsafety.1" version: "1.10.0-nullsafety.2"
sticky_headers: sticky_headers:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1119,5 +1119,5 @@ packages:
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
sdks: sdks:
dart: ">=2.10.0 <2.11.0" dart: ">=2.10.0 <=2.11.0-213.1.beta"
flutter: ">=1.22.0 <2.0.0" flutter: ">=1.22.0 <2.0.0"

Loading…
Cancel
Save