merge-requests/390/head
Sultan Khan 4 years ago
parent 32f62fbe56
commit dd58b8637b

@ -13,7 +13,7 @@ const PACKAGES_CUSTOMER = '/api/customers';
const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items'; const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items';
const PACKAGES_ORDERS = '/api/orders'; const PACKAGES_ORDERS = '/api/orders';
const BASE_URL = 'https://uat.hmgwebservices.com/'; const BASE_URL = 'https://uat.hmgwebservices.com/';
//const BASE_URL = 'https://hmgwebservices.com/'; // const BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs // Pharmacy UAT URLs
// const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; // const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
@ -390,7 +390,7 @@ const PHARMACY_AUTORZIE_CUSTOMER = "AutorizeCustomer";
const PHARMACY_VERIFY_CUSTOMER = "VerifyCustomer"; const PHARMACY_VERIFY_CUSTOMER = "VerifyCustomer";
const PHARMACY_GET_COUNTRY = "countries"; const PHARMACY_GET_COUNTRY = "countries";
// const PHARMACY_CREATE_CUSTOMER = "epharmacy/api/CreateCustomer"; // const PHARMACY_CREATE_CUSTOMER = "epharmacy/api/CreateCustomer";
const PHARMACY_CREATE_CUSTOMER = "epharmacy/api/getorcreateCustomer"; const PHARMACY_CREATE_CUSTOMER = "getorcreateCustomer";
const GET_PHARMACY_BANNER = "promotionbanners"; const GET_PHARMACY_BANNER = "promotionbanners";
const GET_PHARMACY_TOP_MANUFACTURER = "topmanufacturer"; const GET_PHARMACY_TOP_MANUFACTURER = "topmanufacturer";
const GET_PHARMACY_BEST_SELLER_PRODUCT = "bestsellerproducts"; const GET_PHARMACY_BEST_SELLER_PRODUCT = "bestsellerproducts";

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import '../../../locator.dart'; import '../../../locator.dart';

@ -34,11 +34,7 @@ VitalSignService _vitalSignService = locator<VitalSignService>();
class BaseAppClient { class BaseAppClient {
post(String endPoint, post(String endPoint,
{Map<String, dynamic> body, {Map<String, dynamic> body, Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, bool isAllowAny = false, bool isExternal = false}) async {
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
bool isAllowAny = false,
bool isExternal = false}) async {
String url; String url;
if (isExternal) { if (isExternal) {
url = endPoint; url = endPoint;
@ -196,11 +192,7 @@ class BaseAppClient {
} }
postPharmacy(String endPoint, postPharmacy(String endPoint,
{Map<String, dynamic> body, {Map<String, dynamic> body, Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, bool isAllowAny = false, bool isExternal = false}) async {
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
bool isAllowAny = false,
bool isExternal = false}) async {
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
var user = await sharedPref.getObject(USER_PROFILE); var user = await sharedPref.getObject(USER_PROFILE);
String url; String url;
@ -368,11 +360,7 @@ class BaseAppClient {
Navigator.pushReplacement(context, FadePage(page: AppUpdatePage(appUpdateText: text))); Navigator.pushReplacement(context, FadePage(page: AppUpdatePage(appUpdateText: text)));
} }
get(String endPoint, get(String endPoint, {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map<String, dynamic> queryParams, bool isExternal = false}) async {
{Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
Map<String, dynamic> queryParams,
bool isExternal = false}) async {
String url; String url;
if (isExternal) { if (isExternal) {
url = endPoint; url = endPoint;
@ -486,10 +474,7 @@ class BaseAppClient {
} }
} }
simpleGet(String fullUrl, simpleGet(String fullUrl, {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map<String, String> queryParams}) async {
{Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
Map<String, String> queryParams}) async {
String url = fullUrl; String url = fullUrl;
print("URL Query String: $url"); print("URL Query String: $url");
@ -519,10 +504,7 @@ class BaseAppClient {
} }
} }
simplePut(String fullUrl, simplePut(String fullUrl, {Map<String, dynamic> body, Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure}) async {
{Map<String, dynamic> body,
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure}) async {
String url = fullUrl; String url = fullUrl;
print("URL Query String: $url"); print("URL Query String: $url");
@ -546,10 +528,7 @@ class BaseAppClient {
} }
} }
simpleDelete(String fullUrl, simpleDelete(String fullUrl, {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map<String, String> queryParams}) async {
{Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
Map<String, String> queryParams}) async {
String url = fullUrl; String url = fullUrl;
print("URL Query String: $url"); print("URL Query String: $url");
@ -618,11 +597,7 @@ class BaseAppClient {
} }
pharmacyPost(String endPoint, pharmacyPost(String endPoint,
{Map<String, dynamic> body, {Map<String, dynamic> body, Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, bool isAllowAny = false, bool isExternal = false}) async {
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
bool isAllowAny = false,
bool isExternal = false}) async {
var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN);
var user = await sharedPref.getObject(USER_PROFILE); var user = await sharedPref.getObject(USER_PROFILE);
String url; String url;

@ -19,16 +19,12 @@ class PharmacyModuleService extends BaseService {
List<PharmacyProduct> lastVisitedProducts = List(); List<PharmacyProduct> lastVisitedProducts = List();
Future makeVerifyCustomer(dynamic data) async { Future makeVerifyCustomer(dynamic data) async {
Map<String, String> queryParams = { Map<String, String> queryParams = {'FileNumber': data['PatientID'].toString()};
'FileNumber': data['PatientID'].toString()
};
hasError = false; hasError = false;
try { try {
await baseAppClient.getPharmacy(PHARMACY_VERIFY_CUSTOMER, await baseAppClient.getPharmacy(PHARMACY_VERIFY_CUSTOMER, onSuccess: (dynamic response, int statusCode) async {
onSuccess: (dynamic response, int statusCode) async {
if (response['UserName'] != null) { if (response['UserName'] != null) {
sharedPref.setString( sharedPref.setString(PHARMACY_CUSTOMER_ID, response['CustomerId'].toString());
PHARMACY_CUSTOMER_ID, response['CustomerId'].toString());
print(response); print(response);
} else { } else {
await createUser(); await createUser();
@ -47,19 +43,14 @@ class PharmacyModuleService extends BaseService {
var languageID = await sharedPref.getString(APP_LANGUAGE); var languageID = await sharedPref.getString(APP_LANGUAGE);
Map<String, String> queryParams = { Map<String, String> queryParams = {
'Phone': data['MobileNumber'], 'Phone': data['MobileNumber'],
'Email': data['EmailAddress'],
'FileNumber': data['PatientID'].toString(), 'FileNumber': data['PatientID'].toString(),
'Language': languageID.toString(), 'Language': languageID.toString() == 'en' ? '2' : '1',
'Gender': data['Gender'].toString(), 'Iqama': data['PatientIdentificationNo'],
'FirstName': data['FirstName'], 'CountryCode': data['ZipCode'] ?? '966',
'LastName': data['LastName'],
'LanguageId': languageID.toString(),
'CountryCode': data['ZipCode'],
}; };
hasError = false; hasError = false;
try { try {
await baseAppClient.get(PHARMACY_CREATE_CUSTOMER, await baseAppClient.getPharmacy(PHARMACY_CREATE_CUSTOMER, onSuccess: (dynamic response, int statusCode) async {
onSuccess: (dynamic response, int statusCode) async {
if (!response['IsRegistered']) {} if (!response['IsRegistered']) {}
await generatePharmacyToken(); await generatePharmacyToken();
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
@ -79,11 +70,9 @@ class PharmacyModuleService extends BaseService {
}; };
hasError = false; hasError = false;
try { try {
await baseAppClient.getPharmacy(PHARMACY_AUTORZIE_CUSTOMER, await baseAppClient.getPharmacy(PHARMACY_AUTORZIE_CUSTOMER, onSuccess: (dynamic response, int statusCode) async {
onSuccess: (dynamic response, int statusCode) async {
if (response['Status'] == 200) { if (response['Status'] == 200) {
await sharedPref.setString( await sharedPref.setString(PHARMACY_AUTORZIE_TOKEN, response['token'].toString());
PHARMACY_AUTORZIE_TOKEN, response['token'].toString());
} }
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
@ -97,8 +86,7 @@ class PharmacyModuleService extends BaseService {
Future getBannerListList() async { Future getBannerListList() async {
hasError = false; hasError = false;
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_BANNER, await baseAppClient.getPharmacy(GET_PHARMACY_BANNER, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) {
bannerItems.clear(); bannerItems.clear();
response['images'].forEach((item) { response['images'].forEach((item) {
bannerItems.add(PharmacyImageObject.fromJson(item)); bannerItems.add(PharmacyImageObject.fromJson(item));
@ -116,8 +104,7 @@ class PharmacyModuleService extends BaseService {
hasError = false; hasError = false;
Map<String, String> queryParams = {'page': '1', 'limit': '8'}; Map<String, String> queryParams = {'page': '1', 'limit': '8'};
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_TOP_MANUFACTURER, await baseAppClient.getPharmacy(GET_PHARMACY_TOP_MANUFACTURER, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) {
manufacturerList.clear(); manufacturerList.clear();
response['manufacturer'].forEach((item) { response['manufacturer'].forEach((item) {
Manufacturer manufacturer = Manufacturer.fromJson(item); Manufacturer manufacturer = Manufacturer.fromJson(item);
@ -140,8 +127,7 @@ class PharmacyModuleService extends BaseService {
'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews', 'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews',
}; };
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT, await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) {
bestSellerProducts.clear(); bestSellerProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
bestSellerProducts.add(PharmacyProduct.fromJson(item)); bestSellerProducts.add(PharmacyProduct.fromJson(item));
@ -157,14 +143,10 @@ class PharmacyModuleService extends BaseService {
Future getLastVisitedProducts() async { Future getLastVisitedProducts() async {
String lastVisited = ""; String lastVisited = "";
if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != null) {
null) { lastVisited = await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
lastVisited =
await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
try { try {
await baseAppClient await baseAppClient.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited", onSuccess: (dynamic response, int statusCode) {
.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited",
onSuccess: (dynamic response, int statusCode) {
lastVisitedProducts.clear(); lastVisitedProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
lastVisitedProducts.add(PharmacyProduct.fromJson(item)); lastVisitedProducts.add(PharmacyProduct.fromJson(item));

@ -105,13 +105,17 @@ class HomeHealthCareViewModel extends BaseViewModel {
Future getCustomerInfo() async { Future getCustomerInfo() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _pharmacyModuleService.generatePharmacyToken().then((value) async { await _pharmacyModuleService.generatePharmacyToken();
await _customerAddressesService.getCustomerInfo(); // await _pharmacyModuleService.createUser();
});
if (_customerAddressesService.hasError) { if (_customerAddressesService.hasError) {
error = _customerAddressesService.error; error = _customerAddressesService.error;
await _pharmacyModuleService.createUser();
await _customerAddressesService.getCustomerInfo();
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
} else { } else {
await _pharmacyModuleService.createUser();
await _customerAddressesService.getCustomerInfo();
await getCustomerAddresses(); await getCustomerAddresses();
} }
} }

@ -139,7 +139,7 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
} }
}, },
label: TranslationBase.of(context).next, label: TranslationBase.of(context).next,
backgroundColor: Colors.red[900], backgroundColor: (this.widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0 || widget.model.state == ViewState.BusyLocal) ? Colors.grey : Colors.red[900],
disabled: this.widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0 || widget.model.state == ViewState.BusyLocal, disabled: this.widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0 || widget.model.state == ViewState.BusyLocal,
loading: widget.model.state == ViewState.BusyLocal, loading: widget.model.state == ViewState.BusyLocal,
), ),

@ -75,6 +75,7 @@ class _NewHomeHealthCarePageState extends State<NewHomeHealthCarePage> with Tick
model: model, model: model,
onTap: () async { onTap: () async {
UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.presOrderID, rejectionReason: "", presOrderStatus: 4, editedBy: 3); UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.presOrderID, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
model.setState(ViewState.Busy);
await model.updateHHCPresOrder(updatePresOrderRequestModel); await model.updateHHCPresOrder(updatePresOrderRequestModel);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
Utils.showErrorToast(model.error); Utils.showErrorToast(model.error);

@ -32,6 +32,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
model: model, model: model,
onTap: () async { onTap: () async {
UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3); UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
model.setState(ViewState.Busy);
await model.updateHHCPresOrder(updatePresOrderRequestModel); await model.updateHHCPresOrder(updatePresOrderRequestModel);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
Utils.showErrorToast(model.error); Utils.showErrorToast(model.error);

@ -5,6 +5,8 @@ import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart'; import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
@ -53,8 +55,7 @@ class _AddMember extends State<AddMember> {
? AppCircularProgressIndicator() ? AppCircularProgressIndicator()
: SingleChildScrollView( : SingleChildScrollView(
child: Container( child: Container(
padding: padding: EdgeInsets.only(top: 10, left: 20, right: 20, bottom: 30),
EdgeInsets.only(top: 10, left: 20, right: 20, bottom: 30),
height: SizeConfig.realScreenHeight * .9, height: SizeConfig.realScreenHeight * .9,
width: SizeConfig.realScreenWidth, width: SizeConfig.realScreenWidth,
child: Column(children: <Widget>[ child: Column(children: <Widget>[
@ -66,60 +67,51 @@ class _AddMember extends State<AddMember> {
textAlign: TextAlign.left, textAlign: TextAlign.left,
)), )),
Expanded( Expanded(
flex: 3, flex: 4,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[ children: <Widget>[
MobileNo( PhoneNumberSelectorWidget(onNumberChange: (value) => {mobileNo = value, validateForm()}, onCountryChange: (value) => countryCode = value),
onNumberChange: (value) => //MobileNo(onNumberChange: (value) => {mobileNo = value, validateForm()}, onCountryChange: (value) => countryCode = value),
{mobileNo = value, validateForm()}, // Container(
onCountryChange: (value) => countryCode = value), // child: TextFields(
Container( // controller: nationalIDorFile,
child: TextFields( // onChanged: (value) => {validateForm()},
controller: nationalIDorFile, // prefixIcon: Icon(loginType == 1 ? Icons.chrome_reader_mode : Icons.receipt, color: Colors.red),
onChanged: (value) => {validateForm()}, // padding: EdgeInsets.only(top: 20, bottom: 20, left: 10, right: 10),
prefixIcon: Icon( // hintText: loginType == 1 ? TranslationBase.of(context).nationalID : TranslationBase.of(context).fileNo,
loginType == 1 // ))
? Icons.chrome_reader_mode SizedBox(
: Icons.receipt, height: 12,
color: Colors.red), ),
padding: EdgeInsets.only( inputWidget(loginType == 1 ? TranslationBase.of(context).nationalIdNumber : TranslationBase.of(context).medicalFileNumber, "Xxxxxxxxx", nationalIDorFile),
top: 20, bottom: 20, left: 10, right: 10),
hintText: loginType == 1
? TranslationBase.of(context).nationalID
: TranslationBase.of(context).fileNo,
))
], ],
), ),
), ),
Expanded( // Expanded(
flex: 3, // flex: 3,
child: Column( // child: Column(
mainAxisAlignment: MainAxisAlignment.end, // mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[ // children: <Widget>[
Row( // Row(
children: <Widget>[ // children: <Widget>[
Expanded( // Expanded(
child: DefaultButton( // child: DefaultButton(
TranslationBase.of(context).add, // TranslationBase.of(context).add,
() => {this.addMember()}, // () => {this.addMember()},
color: isButtonDisabled == true // color: isButtonDisabled == true ? Colors.grey : Colors.grey[900],
? Colors.grey // textColor: Colors.white,
: Colors.grey[900], // ))
textColor: Colors.white, // ],
)) // ),
], // ],
), // ))
],
))
]), ]),
))); )));
} }
void validateForm() { void validateForm() {
if (util.validateIDBox(nationalIDorFile.text, loginType) == true && if (util.validateIDBox(nationalIDorFile.text, loginType) == true && mobileNo.length >= 9 && util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
mobileNo.length >= 9 &&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
setState(() { setState(() {
isButtonDisabled = false; isButtonDisabled = false;
}); });
@ -145,10 +137,7 @@ class _AddMember extends State<AddMember> {
request.isRegister = false; request.isRegister = false;
request.patientStatus = 2; request.patientStatus = 2;
loading(true); loading(true);
familyFileProvider familyFileProvider.addFamilyFile(request).then((value) => manageFamily(value)).catchError(() {
.addFamilyFile(request)
.then((value) => manageFamily(value))
.catchError(() {
loading(false); loading(false);
}); });
} }
@ -160,10 +149,7 @@ class _AddMember extends State<AddMember> {
confirmMessage: addMemberResult['ShareFamilyFileObj']['Message'], confirmMessage: addMemberResult['ShareFamilyFileObj']['Message'],
okText: TranslationBase.of(context).confirm, okText: TranslationBase.of(context).confirm,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {insertFamilyData(addMemberResult), ConfirmDialog.closeAlertDialog(context)},
insertFamilyData(addMemberResult),
ConfirmDialog.closeAlertDialog(context)
},
cancelFunction: () => {}); cancelFunction: () => {});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
} }
@ -171,8 +157,7 @@ class _AddMember extends State<AddMember> {
insertFamilyData(addMemberResult) { insertFamilyData(addMemberResult) {
var request = InsertSharePatientFileReq(); var request = InsertSharePatientFileReq();
request.responseID = addMemberResult['ShareFamilyFileObj']['ReponseID']; request.responseID = addMemberResult['ShareFamilyFileObj']['ReponseID'];
request.shareFamilyPatientName = request.shareFamilyPatientName = addMemberResult['ShareFamilyFileObj']['SharedPatientName'];
addMemberResult['ShareFamilyFileObj']['SharedPatientName'];
request.status = 2; request.status = 2;
if (request.patientOutSA == 1) { if (request.patientOutSA == 1) {
request.regionID = 2; request.regionID = 2;
@ -180,29 +165,26 @@ class _AddMember extends State<AddMember> {
request.regionID = 1; request.regionID = 1;
} }
loading(true); loading(true);
familyFileProvider familyFileProvider.insertNewMember(request).then((value) => sendActivationCode(value));
.insertNewMember(request)
.then((value) => sendActivationCode(value));
} }
sendActivationCode(result) { sendActivationCode(result) {
// var request = this.getCommonRequest(); // var request = this.getCommonRequest();
loading(true); loading(true);
patientShareRequestID = result['PatientShareRequestID']; patientShareRequestID = result['PatientShareRequestID'];
familyFileProvider familyFileProvider.sendActivationCode(mobileNo, countryCode, nationalIDorFile.text).then((result) => {
.sendActivationCode(mobileNo, countryCode, nationalIDorFile.text) if (result != null && result['isSMSSent'] == true) {this.startSMSService(1, result)}
.then((result) => { // {loading(false), this.startSMSService(type)}
if (result != null && result['isSMSSent'] == true) // else
{this.startSMSService(1, result)} // {loading(false)}
// {loading(false), this.startSMSService(type)} });
// else
// {loading(false)}
});
} }
var tempType;
startSMSService(type, result) { startSMSService(type, result) {
tempType = type;
loading(false); loading(false);
SMSOTP( SMSOTP(
context, context,
type, type,
mobileNo, mobileNo,
@ -210,30 +192,32 @@ class _AddMember extends State<AddMember> {
this.checkActivationCode(value, result); this.checkActivationCode(value, result);
}, },
() => { () => {
print('Faild..'), Navigator.pop(context),
}, },
).displayDialog(context); ).displayDialog(context);
} }
checkActivationCode(value, result) { checkActivationCode(value, result) {
familyFileProvider Navigator.pop(context);
.checkActivationCode( GifLoaderDialogUtils.showMyDialog(context);
result['LogInTokenID'], value, nationalIDorFile.text, mobileNo) familyFileProvider.checkActivationCode(result['LogInTokenID'], value, nationalIDorFile.text, mobileNo).then((result) {
.then((result) => { SMSOTP.hideSMSBox(context);
SMSOTP.hideSMSBox(context), handleFamilyRequests(this.patientShareRequestID, 3);
handleFamilyRequests(this.patientShareRequestID, 3) }).catchError((err) {
}); Future.delayed(Duration(seconds: 1), () {
AppToast.showErrorToast(message: err);
startSMSService(tempType, result);
});
});
} }
handleFamilyRequests(id, stauts) { handleFamilyRequests(id, stauts) {
familyFileProvider familyFileProvider.acceptAndRejectRecievedRequests(id, stauts).then((result) => {
.acceptAndRejectRecievedRequests(id, stauts) sharedPref.remove(FAMILY_FILE),
.then((result) => { Navigator.of(context).pushNamed(
sharedPref.remove(FAMILY_FILE), MY_FAMILIY,
Navigator.of(context).pushNamed( )
MY_FAMILIY, });
)
});
} }
loading(flag) { loading(flag) {
@ -241,4 +225,86 @@ class _AddMember extends State<AddMember> {
isLoading = flag; isLoading = flag;
}); });
} }
Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String prefix, bool isEnable = true, bool hasSelection = false}) {
return Container(
padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Colors.white,
border: Border.all(
color: Color(0xffefefef),
width: 1,
),
),
child: InkWell(
onTap: hasSelection ? () {} : null,
child: Row(
children: [
Expanded(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
_labelText,
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w600,
color: Color(0xff2B353E),
letterSpacing: -0.44,
),
),
TextField(
enabled: isEnable,
scrollPadding: EdgeInsets.zero,
keyboardType: TextInputType.number,
controller: _controller,
onChanged: (value) => {validateForm()},
style: TextStyle(
fontSize: 14,
height: 21 / 14,
fontWeight: FontWeight.w400,
color: Color(0xff2B353E),
letterSpacing: -0.44,
),
decoration: InputDecoration(
isDense: true,
hintText: _hintText,
hintStyle: TextStyle(
fontSize: 14,
height: 21 / 14,
fontWeight: FontWeight.w400,
color: Color(0xff575757),
letterSpacing: -0.56,
),
prefixIconConstraints: BoxConstraints(minWidth: 50),
prefixIcon: prefix == null
? null
: Text(
"+" + prefix,
style: TextStyle(
fontSize: 14,
height: 21 / 14,
fontWeight: FontWeight.w500,
color: Color(0xff2E303A),
letterSpacing: -0.56,
),
),
contentPadding: EdgeInsets.zero,
border: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
),
),
],
),
),
if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
],
),
),
);
}
} }

@ -21,7 +21,9 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart'; import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/bottom_bar.dart'; import 'package:diplomaticquarterapp/widgets/others/bottom_bar.dart';
@ -91,18 +93,18 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
preferredSize: Size.fromHeight(65.0), preferredSize: Size.fromHeight(65.0),
child: Stack( child: Stack(
children: <Widget>[ children: <Widget>[
Positioned( // Positioned(
bottom: 1, // bottom: 1,
left: 0, // left: 0,
right: 0, // right: 0,
child: BackdropFilter( // child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), // filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: Container( // child: Container(
color: Theme.of(context).scaffoldBackgroundColor.withOpacity(0.8), // color: Theme.of(context).scaffoldBackgroundColor.withOpacity(0.8),
height: 70.0, // height: 70.0,
), // ),
), // ),
), // ),
Center( Center(
child: Container( child: Container(
height: 60.0, height: 60.0,
@ -121,8 +123,8 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
//indicatorSize: TabBarIndicatorSize.label, //indicatorSize: TabBarIndicatorSize.label,
indicatorSize: TabBarIndicatorSize.tab, indicatorSize: TabBarIndicatorSize.tab,
indicatorColor: Theme.of(context).primaryColor, // indicatorColor: Theme.of(context).primaryColor,
labelColor: Theme.of(context).primaryColor, // labelColor: Theme.of(context).primaryColor,
labelPadding: EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0), labelPadding: EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0),
unselectedLabelColor: Colors.grey[800], unselectedLabelColor: Colors.grey[800],
tabs: [ tabs: [
@ -159,41 +161,20 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
) )
], ],
), ),
bottomSheet: Container(
width: MediaQuery.of(context).size.width,
height: 70.0,
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0),
child: Button(
onTap: () async {
Navigator.of(context).pushNamed(ADD_FAMILY_MEMBER_TYPE);
},
label: TranslationBase.of(context).addFamilyMember,
backgroundColor: Colors.red[900],
),
),
), ),
); );
// return AppScaffold(
// appBarTitle: TranslationBase.of(context).myFamilyFiles,
// isShowAppBar: widget.isAppbarVisible,
// body: SingleChildScrollView(
// child: Container(
// height: SizeConfig.screenHeight * .9,
// width: SizeConfig.realScreenWidth,
// padding: EdgeInsets.all(20),
// child: Stack(
// children: <Widget>[
// TabBar(
// controller: _tabController,
// indicatorColor: Colors.red,
// tabs: [
// Tab(
// // padding: EdgeInsets.all(6),
// child: AppText(TranslationBase.of(context).family)),
// Tab(
// // padding: EdgeInsets.all(6),
// child:
// AppText(TranslationBase.of(context).request)),
// ],
// ),
// TabBarView(
// controller: _tabController,
// children: [
// myFamilyDetails(context),
// myFamilyRequest(context)
// ],
// )
// ],
// ))));
} }
Widget myFamilyDetails(context) { Widget myFamilyDetails(context) {
@ -220,17 +201,14 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
Expanded(flex: 3, child: Text(TranslationBase.of(context).request)),
Expanded(
flex: 2,
child: Text(
TranslationBase.of(context).switchUser,
)),
Expanded( Expanded(
flex: 1, flex: 3,
child: Text( child: Texts(
TranslationBase.of(context).deleteView, TranslationBase.of(context).request,
textAlign: TextAlign.center,
)), )),
Expanded(flex: 2, child: Texts(TranslationBase.of(context).switchUser, textAlign: TextAlign.center)),
Expanded(flex: 1, child: Texts(TranslationBase.of(context).deleteView, textAlign: TextAlign.center)),
], ],
), ),
Column( Column(
@ -271,25 +249,25 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
}, },
), ),
), ),
Expanded( // Expanded(
flex: 1, // flex: 1,
child: Column( // child: Column(
mainAxisAlignment: MainAxisAlignment.end, // mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[ // children: <Widget>[
Row( // Row(
children: <Widget>[ // children: <Widget>[
Expanded( // Expanded(
child: DefaultButton( // child: DefaultButton(
TranslationBase.of(context).addFamilyMember, // TranslationBase.of(context).addFamilyMember,
() => {Navigator.of(context).pushNamed(ADD_FAMILY_MEMBER_TYPE)}, // () => {Navigator.of(context).pushNamed(ADD_FAMILY_MEMBER_TYPE)},
color: Colors.grey[900], // color: Colors.grey[900],
textColor: Colors.white, // textColor: Colors.white,
)) // ))
], // ],
), // ),
], // ],
), // ),
) // )
], ],
)); ));
} }
@ -323,49 +301,13 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
else else
return Column( return Column(
children: [ children: [
// Padding(padding: EdgeInsets.only(left:10, right:10),
// child:
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: <Widget>[
// Expanded(
// flex: 3,
// child: Text(TranslationBase.of(context)
// .request)),
// Expanded(
// flex: 2,
// child: Text(
// TranslationBase.of(context)
// .switchUser,
// )),
// Expanded(
// flex: 1,
// child: Text(
// TranslationBase.of(context)
// .deleteView,
// )),
// ],
// )),
Column(children: [ Column(children: [
Padding( Padding(
padding: EdgeInsets.only(left: 10, right: 10), padding: EdgeInsets.only(left: 10, right: 10),
child: Row(children: [ child: Row(children: [
Expanded( Expanded(flex: 3, child: AppText(TranslationBase.of(context).name)),
flex: 3, Expanded(flex: 1, child: AppText(TranslationBase.of(context).allow)),
child: AppText( Expanded(flex: 1, child: AppText(TranslationBase.of(context).reject)),
TranslationBase.of(context)
.name)),
Expanded(
flex: 1,
child: AppText(
TranslationBase.of(context)
.allow)),
Expanded(
flex: 1,
child: AppText(
TranslationBase.of(context)
.reject)),
])), ])),
Column( Column(
children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) { children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) {
@ -472,43 +414,12 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
else else
return Column( return Column(
children: [ children: [
// Padding(
// padding:EdgeInsets.only(left:10, right:10),
// child: Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: <Widget>[
// Expanded(
// flex: 3,
// child: AppText(
// TranslationBase.of(context).request),
// ),
// Expanded(
// flex: 2,
// child: AppText(
// TranslationBase.of(context).switchUser,
// )),
// Expanded(
// flex: 1,
// child: AppText(
// TranslationBase.of(context).deleteView,
// )),
// ],
// )),
Column(children: [ Column(children: [
Padding( Padding(
padding: EdgeInsets.only(left: 10, right: 10), padding: EdgeInsets.only(left: 10, right: 10),
child: Row(children: [ child: Row(children: [
Expanded( Expanded(flex: 3, child: AppText(TranslationBase.of(context).name)),
flex: 3, Expanded(flex: 1, child: AppText(TranslationBase.of(context).delete)),
child: AppText(
TranslationBase.of(context)
.name)),
Expanded(
flex: 1,
child: AppText(
TranslationBase.of(context)
.delete)),
])), ])),
Column( Column(
children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) { children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) {

@ -199,6 +199,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
}); });
} }
} }
sharedPref.remove(APPOINTMENT_HISTORY_MEDICAL);
} }
if (state == AppLifecycleState.paused) { if (state == AppLifecycleState.paused) {

@ -115,7 +115,7 @@ class _ConfirmLogin extends State<ConfirmLogin> {
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
children: [ children: [
SizedBox(height: 12), SizedBox(height: 12),
if (user != null) if (user != null && isMoreOption == false)
Column( Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -514,7 +514,7 @@ class _ConfirmLogin extends State<ConfirmLogin> {
authService authService
.checkActivationCode(request, value) .checkActivationCode(request, value)
.then((result) => { .then((result) => {
res = result, res = result,
if (result is Map) if (result is Map)
{ {
result = CheckActivationCode.fromJson(result), result = CheckActivationCode.fromJson(result),

Loading…
Cancel
Save