pull/1/head
Haroon Amjad 2 months ago
parent c65d44ae4d
commit 4fcaea2993

@ -1,4 +1,5 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:hmg_patient_app_new/core/post_params_model.dart';
import 'package:hmg_patient_app_new/main.dart';
import 'consts.dart';
@ -24,12 +25,26 @@ class AppState {
set setUserLong(v) => userLong = v;
final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 3, versionID: ApiConsts.VERSION_ID);
void setPostParamsInitConfig() {
isAuthenticated = false;
_postParams = _postParamsInitConfig;
}
PostParamsModel? _postParams;
PostParamsModel? get postParamsObject => _postParams;
Map<String, dynamic> get postParamsJson => isAuthenticated ? (_postParams?.toJsonAfterLogin() ?? {}) : (_postParams?.toJson() ?? {});
void setPostParamsModel(PostParamsModel _postParams) {
this._postParams = _postParams;
}
double userLat = 0.0;
double userLong = 0.0;
bool isArabic() => EasyLocalization.of(navigatorKey.currentContext!)?.locale.languageCode == "ar";
int getLanguageID(context) => EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2;
// bool isUserLoggedIn() =>
}

@ -8,7 +8,7 @@ class ApiConsts {
static String SELECT_DEVICE_IMEI = 'Services/Patients.svc/REST/Patient_SELECTDeviceIMEIbyIMEI';
static String VERSION_ID = "1.6";
static num VERSION_ID = 18.9;
static setBackendURLs() {
if (isDevelopment) {

@ -0,0 +1,57 @@
class PostParamsModel {
num? versionID;
int? channel;
int? languageID;
String? logInTokenID;
String? tokenID;
String? language;
String? ipAddress;
String? generalId;
String? latitude;
String? longitude;
String? deviceTypeID;
String? patientOutSA;
String? sessionID;
String? setupID;
PostParamsModel({this.versionID, this.channel, this.languageID, this.logInTokenID, this.tokenID, this.language, this.ipAddress, this.generalId, this.latitude, this.longitude, this.deviceTypeID});
PostParamsModel.fromJson(Map<String, dynamic> json) {
versionID = json['VersionID'];
channel = json['Channel'];
languageID = json['LanguageID'];
logInTokenID = json['LogInTokenID'];
tokenID = json['TokenID'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['versionID'] = this.versionID;
data['channel'] = this.channel;
data['languageID'] = this.languageID;
data['logInTokenID'] = this.logInTokenID ?? "";
data['tokenID'] = this.tokenID ?? "";
return data;
}
Map<String, dynamic> toJsonAfterLogin() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['versionID'] = this.versionID;
data['channel'] = this.channel;
data['languageID'] = this.languageID;
data['logInTokenID'] = this.logInTokenID;
data['tokenID'] = this.tokenID;
return data;
}
String? _LogInTokenID;
String? get getLogInTokenID => _LogInTokenID ?? logInTokenID;
set setLogInTokenID(String? value) {
logInTokenID = value;
_LogInTokenID = value;
}
set setTokenID(String? token) => tokenID = token;
}

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/providers/authentication_view_model.dart';
class LandingPage extends StatefulWidget {
const LandingPage({super.key});
@ -9,6 +10,8 @@ class LandingPage extends StatefulWidget {
}
class _LandingPageState extends State<LandingPage> {
late AuthenticationViewModel authenticationViewModel;
@override
Widget build(BuildContext context) {
return Scaffold(

@ -65,9 +65,9 @@ APIException _throwAPIException(Response response, Function retryCallBack) {
abstract class IApiClient {
Future<U> postJsonForObject<T, U>(FactoryConstructor<U> factoryConstructor, String url, T jsonObject,
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0, bool isFormData = false});
{String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
Future<Response> postJsonForResponse<T>(String url, T jsonObject, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0, bool isFormData = false});
Future<Response> postJsonForResponse<T>(String url, T jsonObject, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
Future<Response> getJsonForResponse<T>(String url, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0});
@ -93,7 +93,7 @@ class ApiClient implements IApiClient {
var bodyJson = json.encode(jsonObject);
print("body:$bodyJson");
}
var response = await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: _headers, retryTimes: retryTimes, isFormData: isFormData);
var response = await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: _headers, retryTimes: retryTimes);
// try {
if (!kReleaseMode) {
logger.i("res: " + response.body);
@ -119,16 +119,7 @@ class ApiClient implements IApiClient {
}
@override
Future<Response> postJsonForResponse<T>(String url, T jsonObject,
{String? token,
Map<String, dynamic>? queryParameters,
Map<String, String>? headers,
int retryTimes = 0,
bool isFormData = false,
bool isAuthAPI = false,
bool isHISAPI = false,
bool isSanedAPI = false,
bool isPutRequest = false}) async {
Future<Response> postJsonForResponse<T>(String url, T jsonObject, {String? token, Map<String, dynamic>? queryParameters, Map<String, String>? headers, int retryTimes = 0}) async {
String? requestBody;
late Map<String, String> stringObj;
if (jsonObject != null) {

@ -0,0 +1,30 @@
import 'dart:convert';
import 'package:hmg_patient_app_new/core/app_state.dart';
import 'package:http/http.dart';
import '../../core/consts.dart';
import '../api_client.dart';
import 'models/response_models/get_patient_last_login_details_response_model.dart';
class AuthenticationApiClient {
static final AuthenticationApiClient _instance = AuthenticationApiClient._internal();
AuthenticationApiClient._internal();
factory AuthenticationApiClient() => _instance;
Future<GetPatientLastLoginDetailsResponseModel> getMultipleLoginUserData(String deviceIMEI) async {
GetPatientLastLoginDetailsResponseModel getPatientLastLoginDetailsResponseModel;
Map<String, dynamic> request = {"IMEI": deviceIMEI};
request.addAll(AppState().postParamsJson);
String url = ApiConsts.baseUrl + ApiConsts.SELECT_DEVICE_IMEI;
Response response = await ApiClient().postJsonForResponse(url, request);
var json = jsonDecode(response.body);
getPatientLastLoginDetailsResponseModel = GetPatientLastLoginDetailsResponseModel.fromJson(json);
return getPatientLastLoginDetailsResponseModel;
}
}

@ -0,0 +1,68 @@
class GetPatientLastLoginDetailsResponseModel {
int? iD;
String? iMEI;
int? logInType;
int? patientID;
bool? outSA;
String? mobile;
String? identificationNo;
String? name;
String? nameN;
String? createdOn;
String? editedOn;
bool? biometricEnabled;
int? patientType;
int? preferredLanguage;
GetPatientLastLoginDetailsResponseModel(
{this.iD,
this.iMEI,
this.logInType,
this.patientID,
this.outSA,
this.mobile,
this.identificationNo,
this.name,
this.nameN,
this.createdOn,
this.editedOn,
this.biometricEnabled,
this.patientType,
this.preferredLanguage});
GetPatientLastLoginDetailsResponseModel.fromJson(Map<String, dynamic> json) {
iD = json['ID'];
iMEI = json['IMEI'];
logInType = json['LogInType'];
patientID = json['PatientID'];
outSA = json['OutSA'];
mobile = json['Mobile'];
identificationNo = json['IdentificationNo'];
name = json['Name'];
nameN = json['NameN'];
createdOn = json['CreatedOn'];
editedOn = json['EditedOn'];
biometricEnabled = json['BiometricEnabled'];
patientType = json['PatientType'];
preferredLanguage = json['PreferredLanguage'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD;
data['IMEI'] = this.iMEI;
data['LogInType'] = this.logInType;
data['PatientID'] = this.patientID;
data['OutSA'] = this.outSA;
data['Mobile'] = this.mobile;
data['IdentificationNo'] = this.identificationNo;
data['Name'] = this.name;
data['NameN'] = this.nameN;
data['CreatedOn'] = this.createdOn;
data['EditedOn'] = this.editedOn;
data['BiometricEnabled'] = this.biometricEnabled;
data['PatientType'] = this.patientType;
data['PreferredLanguage'] = this.preferredLanguage;
return data;
}
}
Loading…
Cancel
Save