import 'dart:convert'; import 'package:hmg_nurses/exceptions/api_exception.dart'; import 'package:hmg_nurses/main.dart'; import 'package:hmg_nurses/model/base/generic_response_model2.dart'; import 'package:hmg_nurses/model/login/member_login_model.dart'; import 'package:hmg_nurses/model/login/project_info_model.dart'; import 'package:hmg_nurses/services/api_client.dart'; import 'package:hmg_nurses/classes/consts.dart'; import 'package:hmg_nurses/model/base/generic_response_model.dart'; import 'package:hmg_nurses/model/login/imei_details_model.dart'; import 'package:hmg_nurses/services/firebase_service.dart'; import 'package:injector/injector.dart'; abstract class IDashboardApiRepo { Future getDoctorProfile(); Future insertDoctorProfile(); } class DashboardApiRepo implements IDashboardApiRepo { @override Future getDoctorProfile() async { String url = "${ApiConsts.baseUrlServices}Doctors.svc/REST/GetDocProfiles"; Map postParams = {}; postParams.addAll(appState.postParamsJson); postParams["ProjectID"] = appState.projectID; postParams["ClinicID"] = appState.clinicId; postParams["doctorID"] = appState.memberBeforeLogin!.doctorId; postParams["IsRegistered"] = true; postParams["License"] = true; postParams["TokenID"] = appState.authenticationTokenID; postParams["DoctorID"] = appState.memberBeforeLogin!.doctorId; postParams["PatientOutSA"] = false; GenericResponseModel2 response; try { response = await Injector.appInstance.get().postJsonForObject((json) => GenericResponseModel2.fromJson(json), url, postParams); } catch (e) { rethrow; } return response; } @override Future insertDoctorProfile() async { String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/DoctorApp_InsertOrUpdateDeviceDetails"; Map postParams = {}; postParams.addAll(appState.postParamsJson); postParams["IMEI"] = appState.imei; postParams["LogInTypeID"] = appState.lastLoginTyp; postParams["OutSA"] = null; postParams["MobileNo"] = appState.doctorProfile!.doctorProfileList!.first.doctorMobileNumber; postParams["IdentificationNo"] = null; postParams["DoctorID"] = appState.doctorUserId; postParams["DoctorName"] = appState.doctorProfile!.doctorProfileList!.first.doctorName; postParams["DoctorNameN"] = appState.doctorProfile!.doctorProfileList!.first.doctorNameN; postParams["ClinicID"] = appState.doctorProfile!.doctorProfileList!.first.clinicId; postParams["ClinicDescription"] = appState.doctorProfile!.doctorProfileList!.first.clinicDescription; postParams["ClinicDescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.clinicDescriptionN; postParams["ProjectName"] = appState.doctorProfile!.doctorProfileList!.first.projectName; postParams["GenderDescription"] = appState.doctorProfile!.doctorProfileList!.first.genderDescription; postParams["GenderDescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.genderDescriptionN; postParams["TitleDescription"] = appState.doctorProfile!.doctorProfileList!.first.titleDescription; postParams["Title_DescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.titleDescriptionN; postParams["BioMetricEnabled"] = true; postParams["PreferredLanguage"] = null; postParams["IsActive"] = appState.doctorProfile!.doctorProfileList!.first.isActive; postParams["EditedBy"] = appState.doctorProfile!.doctorProfileList!.first.doctorId; postParams["ProjectID"] = appState.doctorProfile!.doctorProfileList!.first.projectId; postParams["TokenID"] = appState.authenticationTokenID; postParams["LoginDoctorID"] = appState.doctorProfile!.doctorProfileList!.first.doctorId; postParams["Password"] = appState.password; logger.d(jsonEncode(postParams)); GenericResponseModel response; try { response = await Injector.appInstance.get().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams); } catch (e) { rethrow; } return null; } } // { // "IMEI": "es6V9NcpSzCXR665uSDWGo:APA91bGF_FjdOf8ZOZmw5FU7pkDfzNOvkz-IsSBRrJE6OR0ZE2lyeTxzFtvjZEajUEC_ssD6ytKNEm74lm30KpZEvPdrNgSRR8idlGrRqJ6qK2Lp2lrLtgA1OLMjkkQS1bcpvXcdnEg_", // "LogInTypeID": 1, // "OutSA": null, // "MobileNo": "0553755378", // "IdentificationNo": null, // "DoctorID": 13777, // "DoctorName": "EYAD ISMAIL ABU-JAYAB", // "DoctorNameN": null, // "ClinicID": 1, // "ClinicDescription": "INTERNAL MEDICINE CLINIC", // "ClinicDescriptionN": null, // "ProjectName": "Olaya Hospital", // "GenderDescription": "Male", // "GenderDescriptionN": null, // "TitleDescription": "Dr.", // "Title_DescriptionN": null, // "BioMetricEnabled": true, // "PreferredLanguage": null, // "IsActive": false, // "EditedBy": 2477, // "ProjectID": 12, // "TokenID": "W7qObFELE0+VAtKJoTeq+w==", // "LanguageID": 2, // "stamp": "2022-11-27T10:50:25.345098", // "IPAdress": "9.9.9.9", // "VersionID": 9, // "Channel": 9, // "SessionID": "BlUSkYymTt", // "IsLoginForDoctorApp": true, // "PatientOutSA": false, // "VidaAuthTokenID": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzc3NyIsImp0aSI6IjNiM2U5MTU4LTJhNmEtNGM4MS04OTk5LWU3ZTRhYzUzMmFiOCIsImVtYWlsIjoiUndhaWQuQWxtYWxsYWhAY2xvdWRzb2x1dGlvbnMuY29tLnNhIiwiaWQiOiIxMzc3NyIsIk5hbWUiOiJSd2FpZCBGb3VkIEhhc3NhbiBBbE1hbGxhaCIsIkVtcGxveWVlSWQiOiIyNDc3IiwiRmFjaWxpdHlHcm91cElkIjoiOTE4NzciLCJGYWNpbGl0eUlkIjoiMTIiLCJQaGFyYW1jeUZhY2lsaXR5SWQiOiI1NiIsIklTX1BIQVJNQUNZX0NPTk5FQ1RFRCI6IlRydWUiLCJEb2N0b3JJZCI6IjI0NzciLCJTRVNTSU9OSUQiOiIyMDYzNDY2OCIsIkNsaW5pY0lkIjoiMSIsIm5iZiI6MTY2OTUzNTQxMSwiZXhwIjoxNjcwMzk5NDExLCJpYXQiOjE2Njk1MzU0MTF9.LkZMiDAt9F4yjbuNyMSIcZYIgct6VuPed7uPOw0PTVw", // "VidaRefreshTokenID": "sm30FcA2iL0lJmSCAVlNJJ8e0AbfYzHxg+wMGTBSoP9VM9do55BRxjATjBtOJyo60u8tLRk9LHrmmH8Xn+B25A==", // "Password": "Rr123456", // "LoginDoctorID": 2477, // "DeviceTypeID": 1 // }