Merge branch 'development' into pharmacy-Fatima

# Conflicts:
#	lib/core/model/pharmacies/order_model.dart
#	lib/pages/pharmacies/product-brands.dart
#	lib/pages/pharmacies/screens/pharmacy_module_page.dart
#	lib/pages/pharmacy/order/Order.dart
#	lib/pages/pharmacy/order/OrderDetails.dart
#	lib/pages/pharmacy/profile/profile.dart
merge-requests/277/head
Fatimah Alshammari 5 years ago
commit a46dddea9a

@ -1,3 +1,5 @@
import 'package:google_maps_flutter/google_maps_flutter.dart';
class BillingAddress { class BillingAddress {
String id; String id;
String firstName; String firstName;
@ -81,4 +83,19 @@ class BillingAddress {
data['lat_long'] = this.latLong; data['lat_long'] = this.latLong;
return data; return data;
} }
LatLng getLocation(){
if(latLong.contains(',')){
var parts = latLong.trim().split(',');
if(parts.length == 2){
var lat = double.tryParse(parts.first);
var lng = double.tryParse(parts.last);
if(lat != null || lng != null) {
var location = LatLng(lat, lng);
return location;
}
}
}
return null;
}
} }

@ -32,6 +32,7 @@ class Customer {
String lastLoginDateUtc; String lastLoginDateUtc;
String lastActivityDateUtc; String lastActivityDateUtc;
int registeredInStoreId; int registeredInStoreId;
List<int> roleIds;
Customer( Customer(
{this.billingAddress, {this.billingAddress,
@ -63,7 +64,8 @@ class Customer {
this.createdOnUtc, this.createdOnUtc,
this.lastLoginDateUtc, this.lastLoginDateUtc,
this.lastActivityDateUtc, this.lastActivityDateUtc,
this.registeredInStoreId}); this.registeredInStoreId,
this.roleIds});
Customer.fromJson(Map<String, dynamic> json) { Customer.fromJson(Map<String, dynamic> json) {
billingAddress = json['billing_address'] != null billingAddress = json['billing_address'] != null
@ -105,6 +107,7 @@ class Customer {
lastLoginDateUtc = json['last_login_date_utc']; lastLoginDateUtc = json['last_login_date_utc'];
lastActivityDateUtc = json['last_activity_date_utc']; lastActivityDateUtc = json['last_activity_date_utc'];
registeredInStoreId = json['registered_in_store_id']; registeredInStoreId = json['registered_in_store_id'];
roleIds = json['role_ids'].cast<int>();
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -145,6 +148,7 @@ class Customer {
data['last_login_date_utc'] = this.lastLoginDateUtc; data['last_login_date_utc'] = this.lastLoginDateUtc;
data['last_activity_date_utc'] = this.lastActivityDateUtc; data['last_activity_date_utc'] = this.lastActivityDateUtc;
data['registered_in_store_id'] = this.registeredInStoreId; data['registered_in_store_id'] = this.registeredInStoreId;
data['role_ids'] = this.roleIds;
return data; return data;
} }
} }

@ -7,22 +7,33 @@ class ShoppingCart {
// List<Null> productAttributes; // List<Null> productAttributes;
double customerEnteredPrice; double customerEnteredPrice;
int quantity; int quantity;
String discountAmountInclTax; dynamic discountAmountInclTax;
String subtotal; dynamic subtotal;
String subtotalWithVat; dynamic subtotalWithVat;
String subtotalVatAmount; dynamic subtotalVatAmount;
String subtotalVatRate; dynamic subtotalVatRate;
String currency; dynamic currency;
String currencyn; dynamic currencyn;
String rentalStartDateUtc; dynamic rentalStartDateUtc;
String rentalEndDateUtc; dynamic rentalEndDateUtc;
String createdOnUtc; dynamic createdOnUtc;
String updatedOnUtc; dynamic updatedOnUtc;
String shoppingCartType; dynamic shoppingCartType;
int productId; int productId;
PharmacyProduct product; PharmacyProduct product;
int customerId; int customerId;
Customer customer; Customer customer;
double unitPriceInclTax;
double unitPriceExclTax;
double priceInclTax;
double priceExclTax;
dynamic discountAmountExclTax;
double originalProductCost;
String attributeDescription;
int downloadCount;
bool isDownloadActivated;
int licenseDownloadId;
double itemWeight;
ShoppingCart( ShoppingCart(
{this.languageId, {this.languageId,
@ -45,7 +56,19 @@ class ShoppingCart {
this.productId, this.productId,
this.product, this.product,
this.customerId, this.customerId,
this.customer}); this.customer,
this.unitPriceInclTax,
this.unitPriceExclTax,
this.priceInclTax,
this.priceExclTax,
this.discountAmountExclTax,
this.originalProductCost,
this.attributeDescription,
this.downloadCount,
this.isDownloadActivated,
this.licenseDownloadId,
this.itemWeight,
});
ShoppingCart.fromJson(Map<String, dynamic> json) { ShoppingCart.fromJson(Map<String, dynamic> json) {
languageId = json['language_id']; languageId = json['language_id'];
@ -78,6 +101,18 @@ class ShoppingCart {
customer = json['customer'] != null customer = json['customer'] != null
? new Customer.fromJson(json['customer']) ? new Customer.fromJson(json['customer'])
: null; : null;
unitPriceInclTax = json['unit_price_incl_tax'];
unitPriceExclTax = json['unit_price_excl_tax'];
priceInclTax = json['price_incl_tax'];
priceExclTax = json['price_excl_tax'];
discountAmountExclTax = json['discount_amount_excl_tax'];
originalProductCost = json['original_product_cost'];
attributeDescription = json['attribute_description'];
downloadCount = json['download_count'];
isDownloadActivated = json['isDownload_activated'];
licenseDownloadId = json['license_download_id'];
itemWeight = json['item_weight'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -110,6 +145,18 @@ class ShoppingCart {
if (this.customer != null) { if (this.customer != null) {
data['customer'] = this.customer.toJson(); data['customer'] = this.customer.toJson();
} }
data['unit_price_incl_tax'] = this.unitPriceInclTax;
data['unit_price_excl_tax'] = this.unitPriceExclTax;
data['price_incl_tax'] = this.priceInclTax;
data['price_excl_tax'] = this.priceExclTax;
data['discount_amount_excl_tax'] = this.discountAmountExclTax;
data['original_product_cost'] = this.originalProductCost;
data['attribute_description'] = this.attributeDescription;
data['download_count'] = this.downloadCount;
data['isDownload_activated'] = this.isDownloadActivated;
data['license_download_id'] = this.licenseDownloadId;
data['item_weight'] = this.itemWeight;
return data; return data;
} }
} }

@ -0,0 +1,297 @@
import 'package:diplomaticquarterapp/core/model/pharmacies/BillingAddress.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Customer.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCart.dart';
class OrderDetailModel {
String id;
int storeId;
String orderGuid;
bool pickUpInStore;
String paymentMethodSystemName;
String paymentName;
String paymentNamen;
String customerCurrencyCode;
dynamic currencyRate;
dynamic customerTaxDisplayTypeId;
dynamic vatNumber;
double orderSubtotalInclTax;
double orderSubtotalExclTax;
dynamic orderSubTotalDiscountInclTax;
dynamic orderSubTotalDiscountExclTax;
double orderShippingInclTax;
dynamic orderShippingExclTax;
dynamic paymentMethodAdditionalFeeInclTax;
dynamic paymentMethodAdditionalFeeExclTax;
String taxRates;
double orderTax;
dynamic orderDiscount;
dynamic productCount;
dynamic orderTotal;
dynamic refundedAmount;
dynamic rewardPointsWereAdded;
dynamic rxAttachments;
String checkoutAttributeDescription;
int customerLanguageId;
int affiliateId;
String customerIp;
dynamic authorizationTransactionId;
dynamic authorizationTransactionCode;
dynamic authorizationTransactionResult;
dynamic captureTransactionId;
dynamic captureTransactionResult;
dynamic subscriptionTransactionId;
dynamic paidDateUtc;
String shippingMethod;
String shippingRateComputationMethodSystemName;
String customValuesXml;
bool deleted;
String createdOnUtc;
Customer customer;
int customerId;
BillingAddress billingAddress;
BillingAddress shippingAddress;
List<ShoppingCart> orderItems;
int orderStatusId;
String orderStatus;
String orderStatusn;
int paymentStatusId;
String paymentStatus;
String paymentStatusn;
String shippingStatus;
String shippingStatusn;
String customerTaxDisplayType;
bool canCancel;
bool canRefund;
dynamic lakumAmount;
String preferDeliveryDate;
String preferDeliveryTime;
String preferDeliveryTimen;
OrderDetailModel(
{this.id,
this.storeId,
this.orderGuid,
this.pickUpInStore,
this.paymentMethodSystemName,
this.paymentName,
this.paymentNamen,
this.customerCurrencyCode,
this.currencyRate,
this.customerTaxDisplayTypeId,
this.vatNumber,
this.orderSubtotalInclTax,
this.orderSubtotalExclTax,
this.orderSubTotalDiscountInclTax,
this.orderSubTotalDiscountExclTax,
this.orderShippingInclTax,
this.orderShippingExclTax,
this.paymentMethodAdditionalFeeInclTax,
this.paymentMethodAdditionalFeeExclTax,
this.taxRates,
this.orderTax,
this.orderDiscount,
this.productCount,
this.orderTotal,
this.refundedAmount,
this.rewardPointsWereAdded,
this.rxAttachments,
this.checkoutAttributeDescription,
this.customerLanguageId,
this.affiliateId,
this.customerIp,
this.authorizationTransactionId,
this.authorizationTransactionCode,
this.authorizationTransactionResult,
this.captureTransactionId,
this.captureTransactionResult,
this.subscriptionTransactionId,
this.paidDateUtc,
this.shippingMethod,
this.shippingRateComputationMethodSystemName,
this.customValuesXml,
this.deleted,
this.createdOnUtc,
this.customer,
this.customerId,
this.billingAddress,
this.shippingAddress,
this.orderItems,
this.orderStatusId,
this.orderStatus,
this.orderStatusn,
this.paymentStatusId,
this.paymentStatus,
this.paymentStatusn,
this.shippingStatus,
this.shippingStatusn,
this.customerTaxDisplayType,
this.canCancel,
this.canRefund,
this.lakumAmount,
this.preferDeliveryDate,
this.preferDeliveryTime,
this.preferDeliveryTimen});
OrderDetailModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
storeId = json['store_id'];
orderGuid = json['order_guid'];
pickUpInStore = json['pick_up_in_store'];
paymentMethodSystemName = json['payment_method_system_name'];
paymentName = json['payment_name'];
paymentNamen = json['payment_namen'];
customerCurrencyCode = json['customer_currency_code'];
currencyRate = json['currency_rate'];
customerTaxDisplayTypeId = json['customer_tax_display_type_id'];
vatNumber = json['vat_number'];
orderSubtotalInclTax = json['order_subtotal_incl_tax'];
orderSubtotalExclTax = json['order_subtotal_excl_tax'];
orderSubTotalDiscountInclTax = json['order_sub_total_discount_incl_tax'];
orderSubTotalDiscountExclTax = json['order_sub_total_discount_excl_tax'];
orderShippingInclTax = json['order_shipping_incl_tax'];
orderShippingExclTax = json['order_shipping_excl_tax'];
paymentMethodAdditionalFeeInclTax =
json['payment_method_additional_fee_incl_tax'];
paymentMethodAdditionalFeeExclTax =
json['payment_method_additional_fee_excl_tax'];
taxRates = json['tax_rates'];
orderTax = json['order_tax'];
orderDiscount = json['order_discount'];
productCount = json['product_count'];
orderTotal = json['order_total'];
refundedAmount = json['refunded_amount'];
rewardPointsWereAdded = json['reward_points_were_added'];
rxAttachments = json['rx_attachments'];
checkoutAttributeDescription = json['checkout_attribute_description'];
customerLanguageId = json['customer_language_id'];
affiliateId = json['affiliate_id'];
customerIp = json['customer_ip'];
authorizationTransactionId = json['authorization_transaction_id'];
authorizationTransactionCode = json['authorization_transaction_code'];
authorizationTransactionResult = json['authorization_transaction_result'];
captureTransactionId = json['capture_transaction_id'];
captureTransactionResult = json['capture_transaction_result'];
subscriptionTransactionId = json['subscription_transaction_id'];
paidDateUtc = json['paid_date_utc'];
shippingMethod = json['shipping_method'];
shippingRateComputationMethodSystemName =
json['shipping_rate_computation_method_system_name'];
customValuesXml = json['custom_values_xml'];
deleted = json['deleted'];
createdOnUtc = json['created_on_utc'];
customer = json['customer'] != null
? new Customer.fromJson(json['customer'])
: null;
customerId = json['customer_id'];
billingAddress = json['billing_address'] != null
? new BillingAddress.fromJson(json['billing_address'])
: null;
shippingAddress = json['shipping_address'] != null
? new BillingAddress.fromJson(json['shipping_address'])
: null;
if (json['order_items'] != null) {
orderItems = new List<ShoppingCart>();
json['order_items'].forEach((v) {
orderItems.add(new ShoppingCart.fromJson(v));
});
}
orderStatusId = json['order_status_id'];
orderStatus = json['order_status'];
orderStatusn = json['order_statusn'];
paymentStatusId = json['payment_status_id'];
paymentStatus = json['payment_status'];
paymentStatusn = json['payment_statusn'];
shippingStatus = json['shipping_status'];
shippingStatusn = json['shipping_statusn'];
customerTaxDisplayType = json['customer_tax_display_type'];
canCancel = json['can_cancel'];
canRefund = json['can_refund'];
lakumAmount = json['lakum_amount'];
preferDeliveryDate = json['prefer_delivery_date'];
preferDeliveryTime = json['prefer_delivery_time'];
preferDeliveryTimen = json['prefer_delivery_timen'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['store_id'] = this.storeId;
data['order_guid'] = this.orderGuid;
data['pick_up_in_store'] = this.pickUpInStore;
data['payment_method_system_name'] = this.paymentMethodSystemName;
data['payment_name'] = this.paymentName;
data['payment_namen'] = this.paymentNamen;
data['customer_currency_code'] = this.customerCurrencyCode;
data['currency_rate'] = this.currencyRate;
data['customer_tax_display_type_id'] = this.customerTaxDisplayTypeId;
data['vat_number'] = this.vatNumber;
data['order_subtotal_incl_tax'] = this.orderSubtotalInclTax;
data['order_subtotal_excl_tax'] = this.orderSubtotalExclTax;
data['order_sub_total_discount_incl_tax'] =
this.orderSubTotalDiscountInclTax;
data['order_sub_total_discount_excl_tax'] =
this.orderSubTotalDiscountExclTax;
data['order_shipping_incl_tax'] = this.orderShippingInclTax;
data['order_shipping_excl_tax'] = this.orderShippingExclTax;
data['payment_method_additional_fee_incl_tax'] =
this.paymentMethodAdditionalFeeInclTax;
data['payment_method_additional_fee_excl_tax'] =
this.paymentMethodAdditionalFeeExclTax;
data['tax_rates'] = this.taxRates;
data['order_tax'] = this.orderTax;
data['order_discount'] = this.orderDiscount;
data['product_count'] = this.productCount;
data['order_total'] = this.orderTotal;
data['refunded_amount'] = this.refundedAmount;
data['reward_points_were_added'] = this.rewardPointsWereAdded;
data['rx_attachments'] = this.rxAttachments;
data['checkout_attribute_description'] = this.checkoutAttributeDescription;
data['customer_language_id'] = this.customerLanguageId;
data['affiliate_id'] = this.affiliateId;
data['customer_ip'] = this.customerIp;
data['authorization_transaction_id'] = this.authorizationTransactionId;
data['authorization_transaction_code'] = this.authorizationTransactionCode;
data['authorization_transaction_result'] =
this.authorizationTransactionResult;
data['capture_transaction_id'] = this.captureTransactionId;
data['capture_transaction_result'] = this.captureTransactionResult;
data['subscription_transaction_id'] = this.subscriptionTransactionId;
data['paid_date_utc'] = this.paidDateUtc;
data['shipping_method'] = this.shippingMethod;
data['shipping_rate_computation_method_system_name'] =
this.shippingRateComputationMethodSystemName;
data['custom_values_xml'] = this.customValuesXml;
data['deleted'] = this.deleted;
data['created_on_utc'] = this.createdOnUtc;
if (this.customer != null) {
data['customer'] = this.customer.toJson();
}
data['customer_id'] = this.customerId;
if (this.billingAddress != null) {
data['billing_address'] = this.billingAddress.toJson();
}
if (this.shippingAddress != null) {
data['shipping_address'] = this.shippingAddress.toJson();
}
if (this.orderItems != null) {
data['order_items'] = this.orderItems.map((v) => v.toJson()).toList();
}
data['order_status_id'] = this.orderStatusId;
data['order_status'] = this.orderStatus;
data['order_statusn'] = this.orderStatusn;
data['payment_status_id'] = this.paymentStatusId;
data['payment_status'] = this.paymentStatus;
data['payment_statusn'] = this.paymentStatusn;
data['shipping_status'] = this.shippingStatus;
data['shipping_statusn'] = this.shippingStatusn;
data['customer_tax_display_type'] = this.customerTaxDisplayType;
data['can_cancel'] = this.canCancel;
data['can_refund'] = this.canRefund;
data['lakum_amount'] = this.lakumAmount;
data['prefer_delivery_date'] = this.preferDeliveryDate;
data['prefer_delivery_time'] = this.preferDeliveryTime;
data['prefer_delivery_timen'] = this.preferDeliveryTimen;
return data;
}
}

@ -9,6 +9,71 @@ List<OrderModel> orderModelFromJson(String str) => List<OrderModel>.from(json.de
String orderModelToJson(List<OrderModel> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson()))); String orderModelToJson(List<OrderModel> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class OrderModel { class OrderModel {
String id;
dynamic storeId;
String orderGuid;
bool pickUpInStore;
PaymentMethodSystemName paymentMethodSystemName;
PaymentName paymentName;
PaymentName paymentNamen;
CustomerCurrencyCode customerCurrencyCode;
dynamic currencyRate;
dynamic customerTaxDisplayTypeId;
dynamic vatNumber;
double orderSubtotalInclTax;
double orderSubtotalExclTax;
dynamic orderSubTotalDiscountInclTax;
dynamic orderSubTotalDiscountExclTax;
double orderShippingInclTax;
dynamic orderShippingExclTax;
dynamic paymentMethodAdditionalFeeInclTax;
dynamic paymentMethodAdditionalFeeExclTax;
String taxRates;
double orderTax;
dynamic orderDiscount;
dynamic productCount;
double orderTotal;
dynamic refundedAmount;
dynamic rewardPointsWereAdded;
String rxAttachments;
CheckoutAttributeDescription checkoutAttributeDescription;
dynamic customerLanguageId;
dynamic affiliateId;
CustomerIp customerIp;
String authorizationTransactionId;
dynamic authorizationTransactionCode;
dynamic authorizationTransactionResult;
dynamic captureTransactionId;
dynamic captureTransactionResult;
dynamic subscriptionTransactionId;
DateTime paidDateUtc;
ShippingMethod shippingMethod;
ShippingRateComputationMethodSystemName shippingRateComputationMethodSystemName;
String customValuesXml;
bool deleted;
DateTime createdOnUtc;
OrderModelCustomer customer;
dynamic customerId;
IngAddress billingAddress;
IngAddress shippingAddress;
List<OrderItem> orderItems;
dynamic orderStatusId;
OrderStatus orderStatus;
OrderStatusn orderStatusn;
dynamic paymentStatusId;
PaymentStatus paymentStatus;
PaymentStatusn paymentStatusn;
ShippingStatus shippingStatus;
ShippingStatusn shippingStatusn;
CustomerTaxDisplayType customerTaxDisplayType;
bool canCancel;
bool canRefund;
dynamic lakumAmount;
DateTime preferDeliveryDate;
PreferDeliveryTime preferDeliveryTime;
PreferDeliveryTimen preferDeliveryTimen;
OrderModel({ OrderModel({
this.id, this.id,
this.storeId, this.storeId,
@ -75,70 +140,6 @@ class OrderModel {
this.preferDeliveryTimen, this.preferDeliveryTimen,
}); });
String id;
dynamic storeId;
String orderGuid;
bool pickUpInStore;
dynamic paymentMethodSystemName;
dynamic paymentName;
dynamic paymentNamen;
dynamic customerCurrencyCode;
dynamic currencyRate;
dynamic customerTaxDisplayTypeId;
dynamic vatNumber;
double orderSubtotalInclTax;
double orderSubtotalExclTax;
dynamic orderSubTotalDiscountInclTax;
dynamic orderSubTotalDiscountExclTax;
double orderShippingInclTax;
dynamic orderShippingExclTax;
dynamic paymentMethodAdditionalFeeInclTax;
dynamic paymentMethodAdditionalFeeExclTax;
String taxRates;
double orderTax;
dynamic orderDiscount;
dynamic productCount;
double orderTotal;
dynamic refundedAmount;
dynamic rewardPointsWereAdded;
String rxAttachments;
dynamic checkoutAttributeDescription;
dynamic customerLanguageId;
dynamic affiliateId;
dynamic customerIp;
String authorizationTransactionId;
dynamic authorizationTransactionCode;
dynamic authorizationTransactionResult;
dynamic captureTransactionId;
dynamic captureTransactionResult;
dynamic subscriptionTransactionId;
dynamic paidDateUtc;
dynamic shippingMethod;
dynamic shippingRateComputationMethodSystemName;
String customValuesXml;
bool deleted;
dynamic createdOnUtc;
dynamic customer;
dynamic customerId;
dynamic billingAddress;
dynamic shippingAddress;
List<OrderItem> orderItems;
dynamic orderStatusId;
dynamic orderStatus;
dynamic orderStatusn;
dynamic paymentStatusId;
dynamic paymentStatus;
dynamic paymentStatusn;
dynamic shippingStatus;
dynamic shippingStatusn;
dynamic customerTaxDisplayType;
bool canCancel;
bool canRefund;
dynamic lakumAmount;
dynamic preferDeliveryDate;
dynamic preferDeliveryTime;
dynamic preferDeliveryTimen;
factory OrderModel.fromJson(Map<String, dynamic> json) => OrderModel( factory OrderModel.fromJson(Map<String, dynamic> json) => OrderModel(
id: json["id"], id: json["id"],
storeId: json["store_id"], storeId: json["store_id"],
@ -1471,6 +1472,3 @@ class EnumValues<T> {
return reverseMap; return reverseMap;
} }
} }

@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.
import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart'; import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
@ -213,8 +214,8 @@ class BaseAppClient {
Future navigateToAppUpdate(context, String text) async { Future navigateToAppUpdate(context, String text) async {
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => AppUpdatePage(appUpdateText: text))); page: AppUpdatePage(appUpdateText: text)));
} }
get(String endPoint, get(String endPoint,

@ -185,7 +185,7 @@ class OrderPreviewViewModel extends BaseViewModel {
await _orderService.makeOrder(paymentCheckoutData, cartResponse.shoppingCarts); await _orderService.makeOrder(paymentCheckoutData, cartResponse.shoppingCarts);
if (_orderService.hasError) { if (_orderService.hasError) {
error = _orderService.error; error = _orderService.error;
setState(ViewState.Error); setState(ViewState.ErrorLocal);
} else { } else {
setState(ViewState.Idle); setState(ViewState.Idle);
} }

@ -1,18 +1,17 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/Addresses.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/LacumAccountInformation.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/LacumAccountInformation.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCartResponse.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCartResponse.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/payment-checkout-data.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/payment-checkout-data.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/order-preview-service.dart'; import 'package:diplomaticquarterapp/core/service/parmacyModule/order-preview-service.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/OrderDetails.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/cancelOrder_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/cancelOrder_service.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/orderDetails_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/orderDetails_service.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/order_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/order_service.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/orders_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/orders_model.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:flutter/material.dart';
import '../../../locator.dart'; import '../../../locator.dart';
import '../base_view_model.dart'; import '../base_view_model.dart';
@ -21,10 +20,10 @@ class OrderModelViewModel extends BaseViewModel {
List<Orders> get orders => _orderService.orderList; List<Orders> get orders => _orderService.orderList;
OrderDetailsService _orderDetailsService = locator<OrderDetailsService>(); OrderDetailsService _orderDetailsService = locator<OrderDetailsService>();
List<OrderModel> get orderListModel => _orderDetailsService.orderList; List<OrderDetailModel> get orderListModel => _orderDetailsService.orderList;
CancelOrderService _cancelOrderService = locator<CancelOrderService>(); CancelOrderService _cancelOrderService = locator<CancelOrderService>();
List<OrderModel> get cancelOrder => _cancelOrderService.cancelOrderList; List<OrderDetailModel> get cancelOrder => _cancelOrderService.cancelOrderList;
OrderPreviewService _orderServices = locator<OrderPreviewService>(); OrderPreviewService _orderServices = locator<OrderPreviewService>();
@ -98,7 +97,7 @@ class OrderModelViewModel extends BaseViewModel {
return res; return res;
} }
Future makeReview(Product product, double rating, String reviewText) async { Future makeReview(PharmacyProduct product, double rating, String reviewText) async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _orderDetailsService.makeReview(product, rating, reviewText); await _orderDetailsService.makeReview(product, rating, reviewText);
if (_orderDetailsService.hasError) { if (_orderDetailsService.hasError) {

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
@ -111,8 +112,8 @@ class _NewCMCStepTowPageState
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (BuildContext context) => page:
CMCLocationPage( CMCLocationPage(
latitude: latitude, latitude: latitude,
longitude: longitude, longitude: longitude,

@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
@ -112,8 +113,8 @@ class _NewHomeHealthCareStepTowPageState
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (BuildContext context) => page:
LocationPage( LocationPage(
latitude: latitude, latitude: latitude,
longitude: longitude, longitude: longitude,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'dart:math'; import 'dart:math';
@ -508,8 +509,8 @@ class _BMICalculatorState extends State<BMICalculator> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => ResultPage( page: ResultPage(
finalResult: bmiResult, finalResult: bmiResult,
textResult: textResult, textResult: textResult,
msg: msg, msg: msg,

@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:percent_indicator/percent_indicator.dart'; import 'package:percent_indicator/percent_indicator.dart';
@ -114,8 +115,8 @@ class ResultPage extends StatelessWidget {
handler: (){ handler: (){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BariatricsPage(1, 1, finalResult)), page: BariatricsPage(1, 1, finalResult)),
); );
}, },
), ),

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:math'; import 'dart:math';
@ -701,8 +702,8 @@ class _BmrCalculatorState extends State<BmrCalculator> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BmrResultPage( page: BmrResultPage(
bmrResult: bmrResult, bmrResult: bmrResult,
calories: calories, calories: calories,
)), )),

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:math'; import 'dart:math';
@ -1001,8 +1002,8 @@ class _BodyFatState extends State<BodyFat> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => FatResult( page: FatResult(
bodyFat: bodyFat, bodyFat: bodyFat,
fat: fat, fat: fat,
textResult: textResult, textResult: textResult,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'calorie_result_page.dart'; import 'calorie_result_page.dart';
@ -678,8 +679,8 @@ class _CalorieCalculatorState extends State<CalorieCalculator> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => CalorieResultPage( page: CalorieResultPage(
calorie: calories, calorie: calories,
)), )),
); );

@ -1,10 +1,10 @@
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_calculator.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:math';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_calculator.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'carbs_result_page.dart'; import 'carbs_result_page.dart';
@ -207,8 +207,7 @@ class _CarbsState extends State<Carbs> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page: CalorieCalculator()),
builder: (context) => CalorieCalculator()),
); );
} }
}); });
@ -340,8 +339,8 @@ class _CarbsState extends State<Carbs> {
calculate(); calculate();
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => CarbsResult( page: CarbsResult(
cCal: cCal, cCal: cCal,
pCal: pCal, pCal: pCal,
fCal: fCal, fCal: fCal,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -121,8 +122,8 @@ class _DeliveryDueState extends State<DeliveryDue> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => DeliveryDueResult( page: DeliveryDueResult(
conceivedDate: conceivedDate, conceivedDate: conceivedDate,
dateFrom: dateFrom, dateFrom: dateFrom,
dateTo: dateTo, dateTo: dateTo,

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:math'; import 'dart:math';
@ -532,8 +533,8 @@ class _IdealBodyState extends State<IdealBody> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => IdealBodyResult( page: IdealBodyResult(
idealBodyWeight: idealWeight, idealBodyWeight: idealWeight,
minRange: minRange, minRange: minRange,
mixRange: maxRange, mixRange: maxRange,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -329,8 +330,8 @@ class _OvulationPeriodState extends State<OvulationPeriod> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => OvulationResult( page: OvulationResult(
conceivedDate: conceivedDate, conceivedDate: conceivedDate,
dateFrom: dateFrom, dateFrom: dateFrom,
dateTo: dateTo, dateTo: dateTo,

@ -6,21 +6,16 @@ import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dar
//import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; //import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
import 'package:diplomaticquarterapp/core/service/blood/blood_details_servies.dart';
import 'package:diplomaticquarterapp/core/viewModels/blooddonation/blood_details_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart'; import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart';
import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectCiteisDialog.dart'; import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectCiteisDialog.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectHospitalDialog.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/app_toast.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/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -30,14 +25,11 @@ import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart'; import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
//import '../../../core/model/my_balance/AdvanceModel.dart';
import 'confirm_payment_page.dart';
import 'dialogs/SelectBeneficiaryDialog.dart'; import 'dialogs/SelectBeneficiaryDialog.dart';
import 'dialogs/SelectBloodDialog.dart'; import 'dialogs/SelectBloodDialog.dart';
import 'dialogs/SelectGenderDialog.dart'; import 'dialogs/SelectGenderDialog.dart';
import 'dialogs/SelectPatientFamilyDialog.dart'; import 'dialogs/SelectPatientFamilyDialog.dart';
import 'dialogs/SelectPatientInfoDialog.dart'; import 'dialogs/SelectPatientInfoDialog.dart';
import 'new_text_Field.dart';
enum BeneficiaryType { MyAccount, MyFamilyFiles, OtherAccount, NON } enum BeneficiaryType { MyAccount, MyFamilyFiles, OtherAccount, NON }
enum Gender { Male, Female, NON } enum Gender { Male, Female, NON }
@ -63,7 +55,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
AuthenticatedUser authenticatedUser; AuthenticatedUser authenticatedUser;
GetAllSharedRecordsByStatusList selectedPatientFamily; GetAllSharedRecordsByStatusList selectedPatientFamily;
AdvanceModel advanceModel = AdvanceModel(); AdvanceModel advanceModel = AdvanceModel();
List_BloodGroupDetailsModel bloodDetails = List_BloodGroupDetailsModel(bloodGroup: "A-"); List_BloodGroupDetailsModel bloodDetails =
List_BloodGroupDetailsModel(bloodGroup: "A-");
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
AuthenticatedUser authUser; AuthenticatedUser authUser;
var checkedValue = false; var checkedValue = false;
@ -180,9 +173,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
), ),
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.of(context).push(MaterialPageRoute( Navigator.of(context)
builder: (BuildContext context) => .push(FadePage(page: UserAgreementPage()));
UserAgreementPage()));
}, },
child: Container( child: Container(
child: Texts( child: Texts(
@ -267,7 +259,6 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
), ),
], ],
), ),
SizedBox( SizedBox(
height: MediaQuery.of(context).size.height * 0.15, height: MediaQuery.of(context).size.height * 0.15,
) )
@ -291,8 +282,9 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
), ),
label: TranslationBase.of(context).save, label: TranslationBase.of(context).save,
onTap: () async { onTap: () async {
if(_selectedHospital == null){ if (_selectedHospital == null) {
AppToast.showErrorToast(message: TranslationBase.of(context).selectCity); AppToast.showErrorToast(
message: TranslationBase.of(context).selectCity);
return; return;
} }
bloodDetails.city = projectProvider.isArabic bloodDetails.city = projectProvider.isArabic
@ -536,7 +528,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
return "Select Blood Type"; //TranslationBase.of(context).selectBeneficiary; return "Select Blood Type"; //TranslationBase.of(context).selectBeneficiary;
} }
String getHospitalName(ProjectViewModel projectProvider, BuildContext context) { String getHospitalName(
ProjectViewModel projectProvider, BuildContext context) {
if (_selectedHospital != null) if (_selectedHospital != null)
return projectProvider.isArabic return projectProvider.isArabic
? _selectedHospital.descriptionN ? _selectedHospital.descriptionN

@ -14,6 +14,7 @@ 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/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/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -628,8 +629,8 @@ class _BookConfirmState extends State<BookConfirm> {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BookSuccess( page: BookSuccess(
docObject: docObject, docObject: docObject,
patientShareResponse: patientShareResponse, patientShareResponse: patientShareResponse,
appoDateFormatted: widget.appoDateFormatted, appoDateFormatted: widget.appoDateFormatted,

@ -12,6 +12,7 @@ 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/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart';
@ -592,7 +593,7 @@ class _BookSuccessState extends State<BookSuccess> {
appo.appointmentNo = widget.patientShareResponse.appointmentNo; appo.appointmentNo = widget.patientShareResponse.appointmentNo;
Navigator.push( Navigator.push(
context, MaterialPageRoute(builder: (context) => PaymentMethod())) context, FadePage(page: PaymentMethod()))
.then((value) { .then((value) {
print(value); print(value);
if (value != null) { if (value != null) {
@ -920,8 +921,8 @@ class _BookSuccessState extends State<BookSuccess> {
Future navigateToQR(context, String appoQR) async { Future navigateToQR(context, String appoQR) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => QRCode( page: QRCode(
patientShareResponse: widget.patientShareResponse, patientShareResponse: widget.patientShareResponse,
appoQR: appoQR, appoQR: appoQR,
))); )));

@ -12,6 +12,7 @@ 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/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/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -153,7 +154,8 @@ class _DoctorProfileState extends State<DoctorProfile>
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
"(" + "(" +
widget.docProfileList.noOfPatientsRate.toString() + widget.docProfileList.noOfPatientsRate
.toString() +
" " + " " +
TranslationBase.of(context).reviews + TranslationBase.of(context).reviews +
")", ")",
@ -279,7 +281,8 @@ class _DoctorProfileState extends State<DoctorProfile>
color: Theme.of(context).primaryColor, color: Theme.of(context).primaryColor,
margin: EdgeInsets.only(bottom: 5.0), margin: EdgeInsets.only(bottom: 5.0),
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Text(TranslationBase.of(context).doctorRating, child: Text(
TranslationBase.of(context).doctorRating,
style: TextStyle( style: TextStyle(
fontSize: 22.0, color: Colors.white))), fontSize: 22.0, color: Colors.white))),
Container( Container(
@ -297,8 +300,11 @@ class _DoctorProfileState extends State<DoctorProfile>
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(top: 5.0),
alignment: Alignment.center, alignment: Alignment.center,
child: RatingBar.readOnly( child: RatingBar.readOnly(
initialRating: initialRating: this
this.widget.doctor.actualDoctorRate.toDouble(), .widget
.doctor
.actualDoctorRate
.toDouble(),
size: 35.0, size: 35.0,
filledColor: Colors.yellow[700], filledColor: Colors.yellow[700],
emptyColor: Colors.grey[500], emptyColor: Colors.grey[500],
@ -311,7 +317,11 @@ class _DoctorProfileState extends State<DoctorProfile>
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: Text( child: Text(
this.widget.doctor.noOfPatientsRate.toString() + this
.widget
.doctor
.noOfPatientsRate
.toString() +
" " + " " +
TranslationBase.of(context).reviews, TranslationBase.of(context).reviews,
style: TextStyle( style: TextStyle(
@ -327,7 +337,8 @@ class _DoctorProfileState extends State<DoctorProfile>
child: Text( child: Text(
TranslationBase.of(context).excellent, TranslationBase.of(context).excellent,
style: TextStyle( style: TextStyle(
fontSize: 13.0, color: Colors.black))), fontSize: 13.0,
color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: SizedBox( child: SizedBox(
@ -349,9 +360,11 @@ class _DoctorProfileState extends State<DoctorProfile>
width: 100.0, width: 100.0,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 10.0, left: 15.0, right: 15.0), top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).v_good, child: Text(
TranslationBase.of(context).v_good,
style: TextStyle( style: TextStyle(
fontSize: 13.0, color: Colors.black))), fontSize: 13.0,
color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: SizedBox( child: SizedBox(
@ -373,9 +386,11 @@ class _DoctorProfileState extends State<DoctorProfile>
width: 100.0, width: 100.0,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 10.0, left: 15.0, right: 15.0), top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).good, child: Text(
TranslationBase.of(context).good,
style: TextStyle( style: TextStyle(
fontSize: 13.0, color: Colors.black))), fontSize: 13.0,
color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: SizedBox( child: SizedBox(
@ -397,9 +412,11 @@ class _DoctorProfileState extends State<DoctorProfile>
width: 100.0, width: 100.0,
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 10.0, left: 15.0, right: 15.0), top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).average, child: Text(
TranslationBase.of(context).average,
style: TextStyle( style: TextStyle(
fontSize: 13.0, color: Colors.black))), fontSize: 13.0,
color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: SizedBox( child: SizedBox(
@ -422,9 +439,11 @@ class _DoctorProfileState extends State<DoctorProfile>
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 10.0, left: 15.0, right: 15.0), top: 10.0, left: 15.0, right: 15.0),
child: Text( child: Text(
TranslationBase.of(context).below_average, TranslationBase.of(context)
.below_average,
style: TextStyle( style: TextStyle(
fontSize: 13.0, color: Colors.black))), fontSize: 13.0,
color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: SizedBox( child: SizedBox(
@ -440,7 +459,8 @@ class _DoctorProfileState extends State<DoctorProfile>
), ),
), ),
Container( Container(
margin: EdgeInsets.only(top: 40.0), child: Divider()), margin: EdgeInsets.only(top: 40.0),
child: Divider()),
Container( Container(
margin: EdgeInsets.only(top: 0.0), margin: EdgeInsets.only(top: 0.0),
child: Align( child: Align(
@ -462,7 +482,8 @@ class _DoctorProfileState extends State<DoctorProfile>
onPressed: () { onPressed: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
child: Text(TranslationBase.of(context).cancel, child: Text(
TranslationBase.of(context).cancel,
style: TextStyle(fontSize: 18.0)), style: TextStyle(fontSize: 18.0)),
), ),
), ),
@ -485,7 +506,8 @@ class _DoctorProfileState extends State<DoctorProfile>
} }
double getRatingWidth(int patientNumber) { double getRatingWidth(int patientNumber) {
var width = (patientNumber / this.widget.docProfileList.noOfPatientsRate) * 100; var width =
(patientNumber / this.widget.docProfileList.noOfPatientsRate) * 100;
return width; return width;
} }
@ -528,8 +550,8 @@ class _DoctorProfileState extends State<DoctorProfile>
Future navigateToBookConfirm(context) async { Future navigateToBookConfirm(context) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BookConfirm( page: BookConfirm(
doctor: widget.doctor, doctor: widget.doctor,
isLiveCareAppointment: widget.isLiveCareAppointment, isLiveCareAppointment: widget.isLiveCareAppointment,
selectedDate: DocAvailableAppointments.selectedDate, selectedDate: DocAvailableAppointments.selectedDate,

@ -1,21 +1,18 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByClinic.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByClinic.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByDoctor.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByDoctor.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/arrow_back.dart';
import 'package:diplomaticquarterapp/widgets/others/bottom_bar.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'components/SearchByClinic.dart'; import 'components/SearchByClinic.dart';
class Search extends StatefulWidget { class Search extends StatefulWidget {
final int type; final int type;
final List clnicIds; final List clnicIds;
Search({this.type = 0, this.clnicIds}); Search({this.type = 0, this.clnicIds});
@override @override
_SearchState createState() => _SearchState(); _SearchState createState() => _SearchState();
} }
@ -43,9 +40,12 @@ class _SearchState extends State<Search> with TickerProviderStateMixin {
children: [ children: [
TabBar( TabBar(
tabs: [ tabs: [
Tab(text: TranslationBase.of(context).clinicName),
Tab( Tab(
text: TranslationBase.of(context).doctorName, child: Text(TranslationBase.of(context).clinicName,
style: TextStyle(color: Colors.black))),
Tab(
child: Text(TranslationBase.of(context).doctorName,
style: TextStyle(color: Colors.black)),
) )
], ],
controller: _tabController, controller: _tabController,

@ -16,6 +16,7 @@ import '../../../uitl/date_uitl.dart';
class DocAvailableAppointments extends StatefulWidget { class DocAvailableAppointments extends StatefulWidget {
DoctorList doctor; DoctorList doctor;
static bool areSlotsAvailable = false; static bool areSlotsAvailable = false;
static bool areAppointmentsAvailable = false;
static DateTime selectedAppoDateTime; static DateTime selectedAppoDateTime;
static String selectedDate; static String selectedDate;
static String selectedTime; static String selectedTime;
@ -137,7 +138,7 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5.0), borderRadius: BorderRadius.circular(5.0),
side: BorderSide( side: BorderSide(
color: Colors.blue[400], //Color of the border color: Color(0xff76cfb7), //Color of the border
style: BorderStyle.solid, //Style of the border style: BorderStyle.solid, //Style of the border
width: 1.5, //width of the border width: 1.5, //width of the border
), ),
@ -209,8 +210,8 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
color: _calendarController.isSelected(date) color: _calendarController.isSelected(date)
? Colors.green[400] ? Colors.green[400]
: _calendarController.isToday(date) : _calendarController.isToday(date)
? Colors.brown[300] ? Colors.transparent
: Colors.blue[400], : Color(0xff76cfb7),
), ),
width: 40.0, width: 40.0,
height: 40.0, height: 40.0,
@ -321,7 +322,7 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
Widget getSelectedButton(int index) { Widget getSelectedButton(int index) {
return RaisedButton( return RaisedButton(
color: Colors.blue[400], color: Color(0xff76cfb7), //Color of the border
textColor: Colors.white, textColor: Colors.white,
onPressed: () { onPressed: () {
setState(() { setState(() {
@ -345,17 +346,22 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
if (res['FreeTimeSlots'].length != 0) { if (res['FreeTimeSlots'].length != 0) {
DocAvailableAppointments.areAppointmentsAvailable = true;
freeSlotsResponse = res['FreeTimeSlots']; freeSlotsResponse = res['FreeTimeSlots'];
print("res['FreeTimeSlots']"); print("res['FreeTimeSlots']");
print(res['FreeTimeSlots'].length); print(res['FreeTimeSlots'].length);
_getJSONSlots().then((value) => { _getJSONSlots().then((value) => {
setState(() => {_events.clear(), _events = value}) setState(() => {_events.clear(), _events = value})
}); });
} else {} } else {
DocAvailableAppointments.areAppointmentsAvailable = false;
}
} else { } else {
AppToast.showErrorToast(message: res['ErrorEndUserMessage']); AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
} }
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: err);
print(err); print(err);
}); });
} }
@ -370,18 +376,22 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
if (res['PatientER_DoctorFreeSlots'].length != 0) { if (res['PatientER_DoctorFreeSlots'].length != 0) {
DocAvailableAppointments.areAppointmentsAvailable = true;
freeSlotsResponse = res['PatientER_DoctorFreeSlots']; freeSlotsResponse = res['PatientER_DoctorFreeSlots'];
print("res['PatientER_DoctorFreeSlots']"); print("res['PatientER_DoctorFreeSlots']");
print(res['PatientER_DoctorFreeSlots'].length); print(res['PatientER_DoctorFreeSlots'].length);
_getJSONSlots().then((value) => { _getJSONSlots().then((value) => {
setState(() => {_events.clear(), _events = value}) setState(() => {_events.clear(), _events = value})
}); });
} else {} } else {
DocAvailableAppointments.areAppointmentsAvailable = false;
}
} else { } else {
AppToast.showErrorToast(message: res['ErrorEndUserMessage']); AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
} }
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: err);
print(err); print(err);
}); });
} }
@ -399,10 +409,10 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.circle, shape: BoxShape.circle,
color: _calendarController.isSelected(date) color: _calendarController.isSelected(date)
? Colors.green[400] ? Color(0xffB8382C)
: _calendarController.isToday(date) : _calendarController.isToday(date)
? Colors.brown[300] ? Colors.brown[300]
: Colors.blue[400], : Color(0xff76cfb7),
), ),
width: 40.0, width: 40.0,
height: 40.0, height: 40.0,

@ -12,6 +12,7 @@ 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/widgets/card/rounded_container.dart'; import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class SearchByClinic extends StatefulWidget { class SearchByClinic extends StatefulWidget {
@ -295,8 +296,8 @@ class _SearchByClinicState extends State<SearchByClinic> {
BuildContext context, SearchInfo searchInfo) async { BuildContext context, SearchInfo searchInfo) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => DentalComplaints(searchInfo: searchInfo), page: DentalComplaints(searchInfo: searchInfo),
), ),
); );
} }
@ -309,8 +310,8 @@ class _SearchByClinicState extends State<SearchByClinic> {
isProjectLoaded = false; isProjectLoaded = false;
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => SearchResults( page: SearchResults(
isLiveCareAppointment: false, isLiveCareAppointment: false,
doctorsList: docList, doctorsList: docList,
patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital:

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsLis
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; 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/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../SearchResults.dart'; import '../SearchResults.dart';
@ -160,8 +161,8 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
patientDoctorAppointmentListHospital) async { patientDoctorAppointmentListHospital) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => SearchResults( page: SearchResults(
isLiveCareAppointment: false, isLiveCareAppointment: false,
doctorsList: docList, doctorsList: docList,
patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital:

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../../Constants.dart'; import '../../../Constants.dart';
@ -8,6 +9,7 @@ class CardCommon extends StatelessWidget {
final text; final text;
final subText; final subText;
final type; final type;
const CardCommon( const CardCommon(
{@required this.image, {@required this.image,
@required this.text, @required this.text,
@ -58,8 +60,8 @@ class CardCommon extends StatelessWidget {
Future navigateToSearch(context, type) async { Future navigateToSearch(context, type) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => Search( page: Search(
type: type, type: type,
))); )));
} }

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; 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/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
@ -128,8 +129,8 @@ class _DentalComplaintCardState extends State<DentalComplaintCard> {
patientDoctorAppointmentListHospital) async { patientDoctorAppointmentListHospital) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => SearchResults( page: SearchResults(
doctorsList: docList, doctorsList: docList,
patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital:
patientDoctorAppointmentListHospital))); patientDoctorAppointmentListHospital)));

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsLis
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -13,8 +14,6 @@ class DoctorView extends StatelessWidget {
final DoctorList doctor; final DoctorList doctor;
bool isLiveCareAppointment; bool isLiveCareAppointment;
DoctorView({@required this.doctor, @required this.isLiveCareAppointment}); DoctorView({@required this.doctor, @required this.isLiveCareAppointment});
@override @override
@ -52,7 +51,7 @@ class DoctorView extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
if(doctor.doctorTitle!=null) if (doctor.doctorTitle != null)
Text(this.doctor.doctorTitle + " " + this.doctor.name, Text(this.doctor.doctorTitle + " " + this.doctor.name,
style: TextStyle( style: TextStyle(
fontSize: 14.0, fontSize: 14.0,
@ -60,7 +59,10 @@ class DoctorView extends StatelessWidget {
letterSpacing: 1.0)), letterSpacing: 1.0)),
Container( Container(
margin: EdgeInsets.only(top: 3.0), margin: EdgeInsets.only(top: 3.0),
child: Text(this.doctor.clinicName != null ? this.doctor.clinicName : "", child: Text(
this.doctor.clinicName != null
? this.doctor.clinicName
: "",
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0,
color: Colors.grey[600], color: Colors.grey[600],
@ -74,26 +76,28 @@ class DoctorView extends StatelessWidget {
color: Colors.grey[600], color: Colors.grey[600],
letterSpacing: 1.0)), letterSpacing: 1.0)),
), ),
if(doctor.speciality!=null) if (doctor.speciality != null)
Container( Container(
margin: EdgeInsets.only(top: 3.0, bottom: 3.0), margin: EdgeInsets.only(top: 3.0, bottom: 3.0),
child: Text( child: Text(
getDoctorSpeciality(this.doctor.speciality).trim(), getDoctorSpeciality(this.doctor.speciality)
.trim(),
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0,
color: Colors.grey[600], color: Colors.grey[600],
letterSpacing: 1.0)), letterSpacing: 1.0)),
), ),
this.doctor.nearestFreeSlot != null ? Container( this.doctor.nearestFreeSlot != null
? Container(
margin: EdgeInsets.only(top: 3.0, bottom: 3.0), margin: EdgeInsets.only(top: 3.0, bottom: 3.0),
child: Text( child: Text(getDate(this.doctor.nearestFreeSlot),
getDate(this.doctor.nearestFreeSlot),
style: TextStyle( style: TextStyle(
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.green[600], color: Colors.green[600],
letterSpacing: 1.0)), letterSpacing: 1.0)),
) : Container(), )
: Container(),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
@ -175,7 +179,7 @@ class DoctorView extends StatelessWidget {
} }
String getMinute(DateTime dateObj) { String getMinute(DateTime dateObj) {
if(dateObj.minute == 0) { if (dateObj.minute == 0) {
return dateObj.minute.toString() + "0"; return dateObj.minute.toString() + "0";
} else { } else {
return dateObj.minute.toString(); return dateObj.minute.toString();
@ -186,8 +190,8 @@ class DoctorView extends StatelessWidget {
{isAppo}) async { {isAppo}) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => DoctorProfile( page: DoctorProfile(
doctor: docObject, doctor: docObject,
isLiveCareAppointment: isLiveCareAppointment, isLiveCareAppointment: isLiveCareAppointment,
docProfileList: docProfile, docProfileList: docProfile,

@ -1,10 +1,10 @@
import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/delete_baby_model.dart'; import 'package:diplomaticquarterapp/core/model/childvaccines/delete_baby_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/child_vaccines_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/child_vaccines_view_model.dart';
import 'package:diplomaticquarterapp/pages/ChildVaccines/add_newchild_page.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/add_newchild_page.dart';
import 'package:diplomaticquarterapp/pages/ChildVaccines/vaccinationtable_page.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/vaccinationtable_page.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -12,9 +12,6 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'dialogs/delete_child.dart';
class ChildPage extends StatefulWidget { class ChildPage extends StatefulWidget {
@override @override
@ -60,7 +57,8 @@ class _ChildPageState extends State<ChildPage>
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
page: VaccinationTablePage(model.babyInformationModelList[index]), page: VaccinationTablePage(model
.babyInformationModelList[index]),
), ),
); );
}, },
@ -119,7 +117,9 @@ class _ChildPageState extends State<ChildPage>
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
page: VaccinationTablePage(model.babyInformationModelList[index]), page: VaccinationTablePage(model
.babyInformationModelList[
index]),
), ),
); );
}, },
@ -159,8 +159,8 @@ class _ChildPageState extends State<ChildPage>
newChild: deleteBaby); newChild: deleteBaby);
if (model.isDeleted) { if (model.isDeleted) {
AppToast.showSuccessToast( AppToast.showSuccessToast(
message: message: TranslationBase.of(
TranslationBase.of(context) context)
.recordDeleted); .recordDeleted);
Navigator.pop( Navigator.pop(
context, model.isDeleted); context, model.isDeleted);
@ -202,8 +202,8 @@ class _ChildPageState extends State<ChildPage>
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => AddNewChildPage(), page: AddNewChildPage(),
), ),
).then((value) { ).then((value) {
if (value) model.getNewUserOrders(); if (value) model.getNewUserOrders();

@ -8,6 +8,7 @@ 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/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:maps_launcher/maps_launcher.dart'; import 'package:maps_launcher/maps_launcher.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -285,8 +286,8 @@ class _CovidDrivethruLocationState extends State<CovidDrivethruLocation> {
}); });
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => CovidPaymentDetails( page: CovidPaymentDetails(
covidPaymentInfoResponse: covidPaymentInfoResponse, covidPaymentInfoResponse: covidPaymentInfoResponse,
projectID: int.parse(projectID), projectID: int.parse(projectID),
))); )));

@ -296,7 +296,7 @@ class _CovidPaymentAlertState extends State<CovidPaymentAlert> {
} }
Navigator.push( Navigator.push(
context, MaterialPageRoute(builder: (context) => PaymentMethod())) context, FadePage(page: PaymentMethod()))
.then((value) { .then((value) {
print(value); print(value);
if (value != null) { if (value != null) {

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/pages/Covid-DriveThru/Covid-TimeSlots.dart'
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
@ -197,7 +198,8 @@ class _CovidPaymentDetailsState extends State<CovidPaymentDetails> {
onPressed: () { onPressed: () {
cancel(); cancel();
}, },
child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0)), child: Text(TranslationBase.of(context).cancel,
style: TextStyle(fontSize: 18.0)),
), ),
), ),
), ),
@ -218,7 +220,8 @@ class _CovidPaymentDetailsState extends State<CovidPaymentDetails> {
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: Colors.grey[500], disabledColor: Colors.grey[500],
onPressed: isAgree ? next : null, onPressed: isAgree ? next : null,
child: Text(TranslationBase.of(context).next, style: TextStyle(fontSize: 18.0)), child: Text(TranslationBase.of(context).next,
style: TextStyle(fontSize: 18.0)),
), ),
), ),
), ),
@ -232,8 +235,8 @@ class _CovidPaymentDetailsState extends State<CovidPaymentDetails> {
void next() { void next() {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => CovidTimeSlots( page: CovidTimeSlots(
projectID: widget.projectID, projectID: widget.projectID,
))); )));
} }

@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -67,7 +68,8 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
Image.asset(getImagePath(widget.selectedPaymentMethod)), Image.asset(getImagePath(widget.selectedPaymentMethod)),
), ),
Texts( Texts(
'${widget.patientShareResponse.patientShareWithTax} ' + TranslationBase.of(context).sar, '${widget.patientShareResponse.patientShareWithTax} ' +
TranslationBase.of(context).sar,
fontSize: 26, fontSize: 26,
bold: true, bold: true,
) )
@ -300,8 +302,8 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
Future navigateToQR(context, String appoQR) async { Future navigateToQR(context, String appoQR) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => QRCode( page: QRCode(
patientShareResponse: widget.patientShareResponse, patientShareResponse: widget.patientShareResponse,
appoQR: appoQR, appoQR: appoQR,
))); )));

@ -7,6 +7,7 @@ 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/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@ -57,13 +58,12 @@ class NotificationsPage extends StatelessWidget {
.map( .map(
(notification) => InkWell( (notification) => InkWell(
onTap: () async { onTap: () async {
if(!notification.isRead) if (!notification.isRead)
model.markAsRead(notification.id); model.markAsRead(notification.id);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (BuildContext context) => page: NotificationsDetailsPage(
NotificationsDetailsPage(
notification: notification, notification: notification,
))); )));
}, },
@ -122,8 +122,7 @@ class NotificationsPage extends StatelessWidget {
..add( ..add(
InkWell( InkWell(
onTap: () async { onTap: () async {
GifLoaderDialogUtils.showMyDialog( GifLoaderDialogUtils.showMyDialog(context);
context);
currentIndex++; currentIndex++;
GetNotificationsRequestModel GetNotificationsRequestModel
getNotificationsRequestModel = getNotificationsRequestModel =
@ -132,10 +131,9 @@ class NotificationsPage extends StatelessWidget {
pagingSize: 14, pagingSize: 14,
notificationStatusID: 2); notificationStatusID: 2);
await model.getNotifications(getNotificationsRequestModel,context); await model.getNotifications(
GifLoaderDialogUtils.hideDialog( getNotificationsRequestModel, context);
context); GifLoaderDialogUtils.hideDialog(context);
}, },
child: Center( child: Center(
child: Image.asset('assets/images/notf.png'), child: Image.asset('assets/images/notf.png'),

@ -14,11 +14,13 @@ import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/pickupLocation/PickupLocationFromMap.dart'; import 'package:diplomaticquarterapp/widgets/pickupLocation/PickupLocationFromMap.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart'; import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import '../AvailableAppointmentsPage.dart'; import '../AvailableAppointmentsPage.dart';
enum HaveAppointment { YES, NO } enum HaveAppointment { YES, NO }
@ -87,8 +89,8 @@ class _PickupLocationState extends State<PickupLocation> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => PickupLocationFromMap( page: PickupLocationFromMap(
latitude: _latitude, latitude: _latitude,
longitude: _longitude, longitude: _longitude,
onPick: (value) { onPick: (value) {
@ -96,8 +98,7 @@ class _PickupLocationState extends State<PickupLocation> {
_result = value; _result = value;
}); });
}, },
), )),
),
); );
}, },
child: Container( child: Container(
@ -111,7 +112,8 @@ class _PickupLocationState extends State<PickupLocation> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded(child: Texts(getSelectFromMapName(context))), Expanded(
child: Texts(getSelectFromMapName(context))),
Icon( Icon(
FontAwesomeIcons.mapMarkerAlt, FontAwesomeIcons.mapMarkerAlt,
size: 24, size: 24,
@ -327,8 +329,8 @@ class _PickupLocationState extends State<PickupLocation> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => PickupLocationFromMap( page: PickupLocationFromMap(
latitude: _latitude, latitude: _latitude,
longitude: _longitude, longitude: _longitude,
onPick: (value) { onPick: (value) {
@ -351,7 +353,8 @@ class _PickupLocationState extends State<PickupLocation> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded(child: Texts(getSelectFromMapName(context))), Expanded(
child: Texts(getSelectFromMapName(context))),
Icon( Icon(
FontAwesomeIcons.mapMarkerAlt, FontAwesomeIcons.mapMarkerAlt,
size: 24, size: 24,
@ -366,7 +369,6 @@ class _PickupLocationState extends State<PickupLocation> {
SizedBox( SizedBox(
height: 45, height: 45,
), ),
], ],
), ),
), ),
@ -409,18 +411,16 @@ class _PickupLocationState extends State<PickupLocation> {
widget.patientER.pickupLocationLattitude; widget.patientER.pickupLocationLattitude;
widget.patientER.longitude = widget.patientER.longitude =
widget.patientER.pickupLocationLongitude; widget.patientER.pickupLocationLongitude;
widget.patientER.dropoffLocationName = widget.patientER.dropoffLocationName = _selectedHospital.name;
_selectedHospital.name;
widget.patientER.createdBy = widget.patientER.createdBy =
widget.amRequestViewModel.user.patientID; widget.amRequestViewModel.user.patientID;
widget.patientER.isOutPatient = widget.patientER.isOutPatient =
widget.amRequestViewModel.user.outSA; widget.amRequestViewModel.user.outSA;
widget.patientER.patientIdentificationID = widget widget.patientER.patientIdentificationID =
.amRequestViewModel.user.patientIdentificationNo; widget.amRequestViewModel.user.patientIdentificationNo;
widget.patientER.pickupDateTime = widget.patientER.pickupDateTime =
DateUtil.convertDateToStringLocation(DateTime.now()); DateUtil.convertDateToStringLocation(DateTime.now());
widget.patientER.pickupLocationName = widget.patientER.pickupLocationName = _result.formattedAddress;
_result.formattedAddress;
widget.patientER.projectID = widget.patientER.projectID =
widget.amRequestViewModel.user.projectID; widget.amRequestViewModel.user.projectID;
widget.patientER.requesterFileNo = widget.patientER.requesterFileNo =
@ -498,8 +498,8 @@ class _PickupLocationState extends State<PickupLocation> {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => AvailableAppointmentsPage( page: AvailableAppointmentsPage(
appointmentsAllHistoryList: appointmentsAllHistoryList:
widget.amRequestViewModel.appoitmentAllHistoryResultList, widget.amRequestViewModel.appoitmentAllHistoryResultList,
), ),

@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.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/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -236,9 +237,10 @@ class _AppointmentDetailsState extends State<AppointmentDetails>
Future navigateToBookConfirm(context) async { Future navigateToBookConfirm(context) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BookConfirm( page: BookConfirm(
doctor: getDoctorObject(), doctor: getDoctorObject(),
isLiveCareAppointment: widget.appo.isLiveCareAppointment,
selectedDate: DocAvailableAppointments.selectedDate, selectedDate: DocAvailableAppointments.selectedDate,
selectedTime: DocAvailableAppointments.selectedTime))); selectedTime: DocAvailableAppointments.selectedTime)));
} }

@ -82,9 +82,17 @@ class _MyAppointmentsState extends State<MyAppointments>
child: Column(children: [ child: Column(children: [
TabBar( TabBar(
tabs: [ tabs: [
Tab(text: TranslationBase.of(context).booked), Tab(
Tab(text: TranslationBase.of(context).confirmed), child: Text(TranslationBase.of(context).booked,
Tab(text: TranslationBase.of(context).arrived), style: TextStyle(color: Colors.black))),
Tab(
child: Text(TranslationBase.of(context).confirmed,
style: TextStyle(color: Colors.black)),
),
Tab(
child: Text(TranslationBase.of(context).arrived,
style: TextStyle(color: Colors.black)),
)
], ],
controller: _tabController, controller: _tabController,
), ),
@ -103,7 +111,7 @@ class _MyAppointmentsState extends State<MyAppointments>
leading: Radio( leading: Radio(
value: FilterType.Clinic, value: FilterType.Clinic,
groupValue: filterType, groupValue: filterType,
activeColor: Theme.of(context).primaryColor, activeColor: Color(0xffB8382C),
onChanged: (FilterType value) { onChanged: (FilterType value) {
setFilterType(value); setFilterType(value);
}, },
@ -120,7 +128,7 @@ class _MyAppointmentsState extends State<MyAppointments>
leading: Radio( leading: Radio(
value: FilterType.Hospital, value: FilterType.Hospital,
groupValue: filterType, groupValue: filterType,
activeColor: Theme.of(context).primaryColor, activeColor: Color(0xffB8382C),
onChanged: (FilterType value) => setFilterType(value), onChanged: (FilterType value) => setFilterType(value),
), ),
), ),

@ -110,7 +110,7 @@ class _AppointmentActionsState extends State<AppointmentActions> {
child: Text(e.title, child: Text(e.title,
overflow: TextOverflow.clip, overflow: TextOverflow.clip,
style: TextStyle( style: TextStyle(
color: new Color(0xFF40ACC9), color: new Color(0xffB8382C),
letterSpacing: 1.0, letterSpacing: 1.0,
fontSize: 18.0)), fontSize: 18.0)),
), ),
@ -498,8 +498,8 @@ class _AppointmentActionsState extends State<AppointmentActions> {
dynamic listPres) async { dynamic listPres) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => PrescriptionReportPage( page: PrescriptionReportPage(
prescriptionReportEnhList: prescriptionReportEnhList, prescriptionReportEnhList: prescriptionReportEnhList,
listPres: listPres, listPres: listPres,
appo: widget.appo))); appo: widget.appo)));
@ -508,8 +508,8 @@ class _AppointmentActionsState extends State<AppointmentActions> {
Future navigateToLabResults(PatientLabOrders patientLabOrders) async { Future navigateToLabResults(PatientLabOrders patientLabOrders) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page:
LaboratoryResultPage(patientLabOrders: patientLabOrders))) LaboratoryResultPage(patientLabOrders: patientLabOrders)))
.then((value) {}); .then((value) {});
} }
@ -517,8 +517,8 @@ class _AppointmentActionsState extends State<AppointmentActions> {
Future navigateToRadiologyDetails(FinalRadiology finalRadiology) async { Future navigateToRadiologyDetails(FinalRadiology finalRadiology) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page:
RadiologyDetailsPage(finalRadiology: finalRadiology))) RadiologyDetailsPage(finalRadiology: finalRadiology)))
.then((value) {}); .then((value) {});
} }

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResu
import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart'; import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/countdown_timer_controller.dart'; import 'package:flutter_countdown_timer/countdown_timer_controller.dart';
import 'package:flutter_countdown_timer/current_remaining_time.dart'; import 'package:flutter_countdown_timer/current_remaining_time.dart';
@ -85,9 +86,7 @@ class _ApointmentCardState extends State<AppointmentCard> {
child: Center( child: Center(
child: Text( child: Text(
widget.appo.isLiveCareAppointment widget.appo.isLiveCareAppointment
? TranslationBase.of(context) ? TranslationBase.of(context).liveCare.toUpperCase()
.liveCare
.toUpperCase()
: !widget.appo.isInOutPatient : !widget.appo.isInOutPatient
? TranslationBase.of(context) ? TranslationBase.of(context)
.inPatient .inPatient
@ -99,7 +98,9 @@ class _ApointmentCardState extends State<AppointmentCard> {
), ),
)), )),
), ),
SizedBox(width: 8,), SizedBox(
width: 8,
),
ClipRRect( ClipRRect(
borderRadius: BorderRadius.circular(100.0), borderRadius: BorderRadius.circular(100.0),
child: Image.network(widget.appo.doctorImageURL, child: Image.network(widget.appo.doctorImageURL,
@ -179,14 +180,15 @@ class _ApointmentCardState extends State<AppointmentCard> {
), ),
], ],
), ),
(widget.appo.patientStatusType == AppointmentType.BOOKED || (widget.appo.patientStatusType ==
AppointmentType.BOOKED ||
widget.appo.patientStatusType == widget.appo.patientStatusType ==
AppointmentType.CONFIRMED) AppointmentType.CONFIRMED)
? Container( ? Container(
child: CountdownTimer( child: CountdownTimer(
controller: new CountdownTimerController( controller: new CountdownTimerController(
endTime: endTime: DateTime.now()
DateTime.now().millisecondsSinceEpoch + .millisecondsSinceEpoch +
(widget.appo.remaniningHoursTocanPay * (widget.appo.remaniningHoursTocanPay *
1000) * 1000) *
60), 60),
@ -235,10 +237,7 @@ class _ApointmentCardState extends State<AppointmentCard> {
} }
Future navigateToAppointmentDetails(context, appo) async { Future navigateToAppointmentDetails(context, appo) async {
Navigator.push( Navigator.push(context, FadePage(page: AppointmentDetails(appo: appo)))
context,
MaterialPageRoute(
builder: (context) => AppointmentDetails(appo: appo)))
.then((value) { .then((value) {
widget.onReloadAppointmentHistory(); widget.onReloadAppointmentHistory();
}); });

@ -21,6 +21,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/countdown_timer_controller.dart'; import 'package:flutter_countdown_timer/countdown_timer_controller.dart';
import 'package:flutter_countdown_timer/current_remaining_time.dart'; import 'package:flutter_countdown_timer/current_remaining_time.dart';
@ -600,8 +601,8 @@ class _ToDoState extends State<ToDo> {
Future navigateToAppointmentDetails(context, appo) async { Future navigateToAppointmentDetails(context, appo) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => AppointmentDetails(appo: appo))) page: AppointmentDetails(appo: appo)))
.then((value) { .then((value) {
getPatientAppointmentHistory(); getPatientAppointmentHistory();
}); });
@ -702,8 +703,8 @@ class _ToDoState extends State<ToDo> {
context, String appoQR, PatientShareResponse patientShareResponse) async { context, String appoQR, PatientShareResponse patientShareResponse) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => QRCode( page: QRCode(
patientShareResponse: patientShareResponse, patientShareResponse: patientShareResponse,
appoQR: appoQR, appoQR: appoQR,
))).then((value) { ))).then((value) {
@ -907,7 +908,7 @@ class _ToDoState extends State<ToDo> {
} }
Navigator.push( Navigator.push(
context, MaterialPageRoute(builder: (context) => PaymentMethod())) context, FadePage(page: PaymentMethod()))
.then((value) { .then((value) {
print(value); print(value);
getPatientAppointmentHistory(); getPatientAppointmentHistory();

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/AppointmentDetails.dar
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -351,6 +352,6 @@ class _TodoListCardState extends State<TodoListCard> {
Future navigateToAppointmentDetails(context) async { Future navigateToAppointmentDetails(context) async {
Navigator.push( Navigator.push(
context, MaterialPageRoute(builder: (context) => AppointmentDetails())); context, FadePage(page: AppointmentDetails()));
} }
} }

@ -2,7 +2,6 @@ import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_index_page.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/contact_us_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/contact_us_page.dart';
@ -11,7 +10,6 @@ import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart'; import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy_module_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -88,49 +86,77 @@ class _HomePageState extends State<HomePage> {
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(5))), Radius.circular(5))),
child: Container( child: Container(
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Texts(TranslationBase.of(context).covidTest, Texts(
TranslationBase.of(context)
.covidTest,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment:
MainAxisAlignment
.spaceAround,
children: <Widget>[ children: <Widget>[
Container( Container(
margin: EdgeInsets.only( margin: EdgeInsets.only(
top: 15.0,), top: 15.0,
),
child: SvgPicture.asset( child: SvgPicture.asset(
'assets/images/new-design/covid-19-car.svg', 'assets/images/new-design/covid-19-car.svg',
width: 45.0, width: 45.0,
height: 45.0), height: 45.0),
), ),
Container( Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(
top: 5.0),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Texts(TranslationBase.of(context).driveThru, Texts(
fontWeight: FontWeight.w700, TranslationBase.of(
color: Colors.white,), context)
.driveThru,
fontWeight:
FontWeight.w700,
color: Colors.white,
),
ButtonTheme( ButtonTheme(
shape: RoundedRectangleBorder( shape:
RoundedRectangleBorder(
borderRadius: borderRadius:
BorderRadius.circular(5.0),), BorderRadius
minWidth: MediaQuery.of(context).size.width * 0.15, .circular(
5.0),
),
minWidth: MediaQuery.of(
context)
.size
.width *
0.15,
height: 25.0, height: 25.0,
child: RaisedButton( child: RaisedButton(
color: Colors.red[800], color: Colors
textColor: Colors.white, .red[800],
disabledTextColor: Colors.white, textColor:
disabledColor: new Color(0xFFbcc2c4), Colors.white,
disabledTextColor:
Colors.white,
disabledColor:
new Color(
0xFFbcc2c4),
onPressed: () { onPressed: () {
navigateToCovidDriveThru(); navigateToCovidDriveThru();
}, },
child: Texts( child: Texts(
TranslationBase.of(context).bookNow, TranslationBase.of(
fontWeight: FontWeight.w700, context)
color: Colors.white, .bookNow,
fontWeight:
FontWeight
.w700,
color: Colors
.white,
), ),
), ),
), ),
@ -172,7 +198,9 @@ class _HomePageState extends State<HomePage> {
], ],
), ),
), ),
Container(width: double.infinity, height:projectViewModel.isArabic ?110: 80) Container(
width: double.infinity,
height: projectViewModel.isArabic ? 110 : 80)
], ],
), ),
Positioned( Positioned(
@ -216,7 +244,6 @@ class _HomePageState extends State<HomePage> {
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 23, fontSize: 23,
), ),
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(context)
.myMedicalFileSubTitle, .myMedicalFileSubTitle,
@ -232,7 +259,8 @@ class _HomePageState extends State<HomePage> {
widget.goToMyProfile(); widget.goToMyProfile();
}, },
child: Container( child: Container(
margin: EdgeInsets.only(left: 15,right: 15), margin: EdgeInsets.only(
left: 15, right: 15),
width: 90, width: 90,
height: 30, height: 30,
decoration: BoxDecoration( decoration: BoxDecoration(
@ -245,8 +273,13 @@ class _HomePageState extends State<HomePage> {
Radius.circular(0)), Radius.circular(0)),
), ),
child: Center( child: Center(
child: InkWell(
// onTap: () {
// openBrowser();
// },
child: Texts( child: Texts(
TranslationBase.of(context).viewMore, TranslationBase.of(context)
.viewMore,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 12, fontSize: 12,
@ -254,6 +287,7 @@ class _HomePageState extends State<HomePage> {
), ),
), ),
), ),
),
) )
], ],
), ),
@ -261,7 +295,7 @@ class _HomePageState extends State<HomePage> {
) )
: Container( : Container(
width: double.infinity, width: double.infinity,
height: projectViewModel.isArabic ? 160:130, height: projectViewModel.isArabic ? 160 : 130,
decoration: BoxDecoration( decoration: BoxDecoration(
color: HexColor('#A59E9E'), color: HexColor('#A59E9E'),
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
@ -280,7 +314,8 @@ class _HomePageState extends State<HomePage> {
children: <Widget>[ children: <Widget>[
Row( Row(
children: <Widget>[ children: <Widget>[
if (projectViewModel.user != null && model.isLogin) if (projectViewModel.user != null &&
model.isLogin)
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment:
@ -300,7 +335,12 @@ class _HomePageState extends State<HomePage> {
fontSize: 15, fontSize: 15,
), ),
Container( Container(
margin: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 0.0), margin:
EdgeInsets.fromLTRB(
8.0,
0.0,
8.0,
0.0),
child: SvgPicture.asset( child: SvgPicture.asset(
"assets/images/new-design/verification_check.svg"), "assets/images/new-design/verification_check.svg"),
), ),
@ -382,11 +422,9 @@ class _HomePageState extends State<HomePage> {
width: 25, width: 25,
height: 40, height: 40,
), ),
Texts( Texts('${model.weightKg}',
'${model.weightKg}',
color: Colors.white, color: Colors.white,
fontSize: 17 fontSize: 17)
)
], ],
), ),
), ),
@ -419,13 +457,15 @@ class _HomePageState extends State<HomePage> {
), ),
], ],
), ),
if(projectViewModel.havePrivilege(64)||projectViewModel.havePrivilege(65)||projectViewModel.havePrivilege(67)) if (projectViewModel.havePrivilege(64) ||
projectViewModel.havePrivilege(65) ||
projectViewModel.havePrivilege(67))
Container( Container(
margin: EdgeInsets.only(left: 15, right: 15), margin: EdgeInsets.only(left: 15, right: 15),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
if(projectViewModel.havePrivilege(64)) if (projectViewModel.havePrivilege(64))
DashboardItem( DashboardItem(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
@ -449,11 +489,13 @@ class _HomePageState extends State<HomePage> {
height: 10, height: 10,
), ),
Texts( Texts(
TranslationBase.of(context).homeHealthCare, TranslationBase.of(context)
.homeHealthCare,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: SizeConfig.textMultiplier * 1.55, fontSize:
SizeConfig.textMultiplier * 1.55,
) )
], ],
), ),
@ -463,10 +505,10 @@ class _HomePageState extends State<HomePage> {
imageName: 'home_healthcare_service_bg.png', imageName: 'home_healthcare_service_bg.png',
opacity: 0.5, opacity: 0.5,
), ),
if(projectViewModel.havePrivilege(65)) if (projectViewModel.havePrivilege(65))
DashboardItem( DashboardItem(
onTap: () => Navigator.push(context, FadePage(page: LandingPagePharmacy())), onTap: () => Navigator.push(
context, FadePage(page: LandingPagePharmacy())),
child: Center( child: Center(
child: Padding( child: Padding(
padding: const EdgeInsets.all(15.0), padding: const EdgeInsets.all(15.0),
@ -481,11 +523,13 @@ class _HomePageState extends State<HomePage> {
height: 20, height: 20,
), ),
Texts( Texts(
TranslationBase.of(context).onlinePharmacy, TranslationBase.of(context)
.onlinePharmacy,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: SizeConfig.textMultiplier * 1.55, fontSize:
SizeConfig.textMultiplier * 1.55,
) )
], ],
), ),
@ -494,9 +538,9 @@ class _HomePageState extends State<HomePage> {
height: MediaQuery.of(context).size.width * 0.4, height: MediaQuery.of(context).size.width * 0.4,
imageName: 'al-habib_onlne_pharmacy_bg.png', imageName: 'al-habib_onlne_pharmacy_bg.png',
), ),
if(projectViewModel.havePrivilege(67)) if (projectViewModel.havePrivilege(67))
DashboardItem( DashboardItem(
onTap: (){ onTap: () {
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
@ -515,14 +559,15 @@ class _HomePageState extends State<HomePage> {
height: 50, height: 50,
), ),
SizedBox( SizedBox(
height:10, height: 10,
), ),
Texts( Texts(
TranslationBase.of(context).cmcHeading, TranslationBase.of(context).cmcHeading,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: SizeConfig.textMultiplier * 1.55, fontSize:
SizeConfig.textMultiplier * 1.55,
) )
], ],
), ),
@ -610,7 +655,7 @@ class _HomePageState extends State<HomePage> {
borderRadius: BorderRadius.circular(6.0), borderRadius: BorderRadius.circular(6.0),
color: Colors.white, color: Colors.white,
)), )),
if(projectViewModel.havePrivilege(60)) if (projectViewModel.havePrivilege(60))
Container( Container(
width: MediaQuery.of(context).size.width * 0.29, width: MediaQuery.of(context).size.width * 0.29,
child: InkWell( child: InkWell(
@ -639,7 +684,8 @@ class _HomePageState extends State<HomePage> {
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.black87, color: Colors.black87,
bold: false, bold: false,
fontSize: SizeConfig.textMultiplier * 1.7, fontSize:
SizeConfig.textMultiplier * 1.7,
) )
], ],
), ),
@ -757,9 +803,13 @@ class _HomePageState extends State<HomePage> {
); );
} }
// openBrowser() {
// InAppBrowser browser = new InAppBrowser();
// browser.openUrl(url: "https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID=ca9dd276-0a20-4924-a768-fafa9a855ef1&&CustomerId=1367368");
// }
navigateToCovidDriveThru() { navigateToCovidDriveThru() {
Navigator.push(context, Navigator.push(context, FadePage(page: CovidDrivethruLocation()));
MaterialPageRoute(builder: (context) => CovidDrivethruLocation()));
} }
} }
@ -792,7 +842,9 @@ class DashboardItem extends StatelessWidget {
onTap: onTap, onTap: onTap,
child: Container( child: Container(
width: width != null ? width : MediaQuery.of(context).size.width * 0.29, width: width != null ? width : MediaQuery.of(context).size.width * 0.29,
height: height != null ? height : MediaQuery.of(context).orientation == Orientation.portrait height: height != null
? height
: MediaQuery.of(context).orientation == Orientation.portrait
? MediaQuery.of(context).size.height * 0.17 ? MediaQuery.of(context).size.height * 0.17
: MediaQuery.of(context).size.height * 0.35, : MediaQuery.of(context).size.height * 0.35,
decoration: BoxDecoration( decoration: BoxDecoration(
@ -809,8 +861,10 @@ class DashboardItem extends StatelessWidget {
? DecorationImage( ? DecorationImage(
image: ExactAssetImage('assets/images/$imageName'), image: ExactAssetImage('assets/images/$imageName'),
fit: BoxFit.cover, fit: BoxFit.cover,
colorFilter: hasColorFilter ? new ColorFilter.mode( colorFilter: hasColorFilter
Colors.black.withOpacity(0.2), BlendMode.dstIn) : null, ? new ColorFilter.mode(
Colors.black.withOpacity(0.2), BlendMode.dstIn)
: null,
) )
: null, : null,
), ),

@ -1,28 +1,22 @@
import 'dart:convert';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:barcode_scan_fix/barcode_scan.dart'; import 'package:barcode_scan_fix/barcode_scan.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart'; import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/parent_categorise_page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy_module_page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy_module_page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/medicine_search_screen.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/profile/profile.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/profile/profile.dart';
import 'package:diplomaticquarterapp/pages/pharmacy_categorise.dart'; import 'package:diplomaticquarterapp/pages/pharmacy_categorise.dart';
import 'package:diplomaticquarterapp/pages/search_products_page.dart'; import 'package:diplomaticquarterapp/pages/search_products_page.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.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/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/widgets/pharmacy/bottom_nav_pharmacy_bar.dart'; import 'package:diplomaticquarterapp/widgets/pharmacy/bottom_nav_pharmacy_bar.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart';
class LandingPagePharmacy extends StatefulWidget { class LandingPagePharmacy extends StatefulWidget {
@override @override
@ -80,8 +74,7 @@ class _LandingPagePharmacyState extends State<LandingPagePharmacy> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page: SearchProductsPage()),
builder: (context) => SearchProductsPage()),
); );
}, },
), ),

@ -22,6 +22,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -256,9 +257,7 @@ class _clinic_listState extends State<ClinicList> {
}); });
} }
Navigator.push( Navigator.push(context, FadePage(page: PaymentMethod())).then((value) {
context, MaterialPageRoute(builder: (context) => PaymentMethod()))
.then((value) {
print(value); print(value);
if (value != null) { if (value != null) {
openPayment(value, authUser, openPayment(value, authUser,
@ -669,8 +668,8 @@ class _clinic_listState extends State<ClinicList> {
patientDoctorAppointmentListHospital) async { patientDoctorAppointmentListHospital) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => SearchResults( page: SearchResults(
doctorsList: docList, doctorsList: docList,
isLiveCareAppointment: true, isLiveCareAppointment: true,
patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital:

@ -1,10 +1,14 @@
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/pages/login/forgot-password.dart';
import 'package:diplomaticquarterapp/pages/login/login.dart';
import 'package:diplomaticquarterapp/pages/login/register.dart';
import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart'; import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -51,7 +55,7 @@ class LoginType extends StatelessWidget {
onTap: () => { onTap: () => {
LoginType.loginType = 1, LoginType.loginType = 1,
Navigator.of(context) Navigator.of(context)
.pushNamed(LOGIN_PAGE) .push(FadePage(page: Login())),
}, },
child: RoundedContainer( child: RoundedContainer(
borderColor: Colors.grey, borderColor: Colors.grey,
@ -91,7 +95,7 @@ class LoginType extends StatelessWidget {
onTap: () => { onTap: () => {
LoginType.loginType = 2, LoginType.loginType = 2,
Navigator.of(context) Navigator.of(context)
.pushNamed(LOGIN_PAGE) .push(FadePage(page: Login())),
}, },
child: RoundedContainer( child: RoundedContainer(
borderColor: Colors.grey, borderColor: Colors.grey,
@ -137,7 +141,7 @@ class LoginType extends StatelessWidget {
child: InkWell( child: InkWell(
onTap: () => { onTap: () => {
Navigator.of(context) Navigator.of(context)
.pushNamed(FORGOT_PASSWORD) .push(FadePage(page: ForgotPassword())),
}, },
child: AppText( child: AppText(
TranslationBase.of(context) TranslationBase.of(context)
@ -166,9 +170,8 @@ class LoginType extends StatelessWidget {
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).registerNow, TranslationBase.of(context).registerNow,
() => { () => {
Navigator.of(context).pushNamed( Navigator.of(context)
REGISTER, .push(FadePage(page: Register())),
)
}, },
)), )),
], ],

@ -9,9 +9,10 @@ import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.
import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/login/confirm-login.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart'; import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/pages/login/register.dart';
import 'package:diplomaticquarterapp/pages/rateAppointment/rate_appointment_doctor.dart'; import 'package:diplomaticquarterapp/pages/rateAppointment/rate_appointment_doctor.dart';
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/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
@ -24,8 +25,6 @@ import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; import 'package:diplomaticquarterapp/widgets/input/text_field.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart'; import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -48,10 +47,13 @@ class _Login extends State<Login> {
final authService = new AuthProvider(); final authService = new AuthProvider();
var sharedPref = new AppSharedPreferences(); var sharedPref = new AppSharedPreferences();
bool isLoading = false; bool isLoading = false;
AppointmentRateViewModel appointmentRateViewModel = locator<AppointmentRateViewModel>(); AppointmentRateViewModel appointmentRateViewModel =
PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>(); locator<AppointmentRateViewModel>();
PharmacyModuleViewModel pharmacyModuleViewModel =
locator<PharmacyModuleViewModel>();
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>(); AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
ProjectViewModel projectViewModel; ProjectViewModel projectViewModel;
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
@ -97,7 +99,10 @@ class _Login extends State<Login> {
children: <Widget>[ children: <Widget>[
Directionality( Directionality(
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
child: MobileNo(onNumberChange: (value) => {mobileNo = value, validateForm()}, onCountryChange: (value) => countryCode = value)), child: MobileNo(
onNumberChange: (value) =>
{mobileNo = value, validateForm()},
onCountryChange: (value) => countryCode = value)),
Directionality( Directionality(
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
child: Container( child: Container(
@ -138,7 +143,9 @@ class _Login extends State<Login> {
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).login, TranslationBase.of(context).login,
() => {this.startLogin()}, () => {this.startLogin()},
color: isButtonDisabled == true ? Colors.grey : Colors.grey[900], color: isButtonDisabled == true
? Colors.grey
: Colors.grey[900],
textColor: Colors.white, textColor: Colors.white,
)) ))
], ],
@ -159,7 +166,8 @@ class _Login extends State<Login> {
} }
void validateForm() { void validateForm() {
if (util.validateIDBox(nationalIDorFile.text, loginType) == true && util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) { if (util.validateIDBox(nationalIDorFile.text, loginType) == true &&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
setState(() { setState(() {
isButtonDisabled = false; isButtonDisabled = false;
}); });
@ -196,7 +204,7 @@ class _Login extends State<Login> {
sharedPref.setString(LOGIN_TOKEN_ID, value['LogInTokenID']), sharedPref.setString(LOGIN_TOKEN_ID, value['LogInTokenID']),
sharedPref.setObject(REGISTER_DATA_FOR_LOGIIN, request), sharedPref.setObject(REGISTER_DATA_FOR_LOGIIN, request),
GifLoaderDialogUtils.hideDialog(context), GifLoaderDialogUtils.hideDialog(context),
Navigator.of(context).pushNamed(CONFIRM_LOGIN) Navigator.of(context).push(FadePage(page: ConfirmLogin())),
} }
else else
{ {
@ -212,9 +220,7 @@ class _Login extends State<Login> {
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {
ConfirmDialog.closeAlertDialog(context), ConfirmDialog.closeAlertDialog(context),
Navigator.of(context).pushNamed( Navigator.of(context).push(FadePage(page: Register())),
REGISTER,
),
}, },
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
@ -260,7 +266,7 @@ class _Login extends State<Login> {
projectViewModel.user = authenticatedUserObject.user; projectViewModel.user = authenticatedUserObject.user;
await pharmacyModuleViewModel.generatePharmacyToken().then((value) async { await pharmacyModuleViewModel.generatePharmacyToken().then((value) async {
if(pharmacyModuleViewModel.error.isNotEmpty) if (pharmacyModuleViewModel.error.isNotEmpty)
await pharmacyModuleViewModel.createUser(); await pharmacyModuleViewModel.createUser();
}); });

@ -3,24 +3,22 @@ import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_user_status_reponse.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_user_status_reponse.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_user_status_req.dart'; import 'package:diplomaticquarterapp/models/Authentication/check_user_status_req.dart';
import 'package:diplomaticquarterapp/models/Authentication/checkpatient_for_registration.dart'; import 'package:diplomaticquarterapp/models/Authentication/checkpatient_for_registration.dart';
import 'package:diplomaticquarterapp/pages/login/confirm-login.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart'; import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_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/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/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/card/rounded_container.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; import 'package:diplomaticquarterapp/widgets/input/text_field.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart'; import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -43,6 +41,7 @@ class _Register extends State<Register> {
final sharedPref = new AppSharedPreferences(); final sharedPref = new AppSharedPreferences();
bool isLoading; bool isLoading;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
@ -51,8 +50,7 @@ class _Register extends State<Register> {
isShowDecPage: false, isShowDecPage: false,
body: SingleChildScrollView( body: 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>[
@ -226,9 +224,7 @@ class _Register extends State<Register> {
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {
ConfirmDialog.closeAlertDialog(context), ConfirmDialog.closeAlertDialog(context),
Navigator.of(context).pushNamed( Navigator.of(context).push(FadePage(page: Register())),
REGISTER,
),
}, },
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
@ -312,16 +308,10 @@ class _Register extends State<Register> {
{ {
result = CheckUserStatusResponse.fromJson(result), result = CheckUserStatusResponse.fromJson(result),
sharedPref.setObject(NHIC_DATA, result), sharedPref.setObject(NHIC_DATA, result),
Navigator.of(context).pushNamed( Navigator.of(context).push(FadePage(page: ConfirmLogin())),
CONFIRM_LOGIN,
)
// Navigator.of(context).pushNamed(
// REGISTER_INFO,
// )
} }
else else
{AppToast.showErrorToast(message: result)} {AppToast.showErrorToast(message: result)}
//this.onRegister();
}); });
} }

@ -1,9 +1,11 @@
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/pages/login/register.dart';
import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -72,9 +74,8 @@ class _WelcomeLogin extends State<WelcomeLogin> {
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).yes, TranslationBase.of(context).yes,
() => { () => {
Navigator.of(context).pushNamed( Navigator.of(context)
LOGIN_TYPE, .push(FadePage(page: LoginType())),
),
}, },
color: Color(0xFFc5272c), color: Color(0xFFc5272c),
textColor: Colors.white, textColor: Colors.white,
@ -87,9 +88,8 @@ class _WelcomeLogin extends State<WelcomeLogin> {
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).no, TranslationBase.of(context).no,
() => { () => {
Navigator.of(context).pushNamed( Navigator.of(context)
REGISTER, .push(FadePage(page: Register())),
)
}, },
)) ))
], ],

@ -214,7 +214,7 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
SizedBox( SizedBox(
height: 12, height: 12,
), ),
if(model.user!=null) if (model.user != null)
NewTextFields( NewTextFields(
hintText: TranslationBase.of(context).depositorEmail, hintText: TranslationBase.of(context).depositorEmail,
initialValue: model.user.emailAddress, initialValue: model.user.emailAddress,
@ -243,7 +243,9 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
child: SecondaryButton( child: SecondaryButton(
textColor: Colors.white, textColor: Colors.white,
label: TranslationBase.of(context).submit, label: TranslationBase.of(context).submit,
disabled: amount.isEmpty || _fileTextController.text.isEmpty || _selectedHospital == null, disabled: amount.isEmpty ||
_fileTextController.text.isEmpty ||
_selectedHospital == null,
onTap: () { onTap: () {
var mobileNum; var mobileNum;
var patientName; var patientName;
@ -278,10 +280,8 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
if (model.state != ViewState.Error && if (model.state != ViewState.Error &&
model.state != ViewState.ErrorLocal) { model.state != ViewState.ErrorLocal) {
Utils.hideKeyboard(context); Utils.hideKeyboard(context);
Navigator.push( Navigator.push(context, FadePage(page: PaymentMethod()))
context, .then(
MaterialPageRoute(
builder: (context) => PaymentMethod())).then(
(value) { (value) {
Navigator.push( Navigator.push(
context, context,

@ -1,4 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:diplomaticquarterapp/core/model/prescriptions/Prescriptions.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart'; import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report_enh.dart'; import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report_enh.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart'; import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
@ -11,12 +13,12 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/Prescriptions.dart';
import 'PrescriptionOrderOverveiw.dart'; import 'PrescriptionOrderOverveiw.dart';
@ -24,7 +26,12 @@ class PrescriptionDeliveryAddressPage extends StatefulWidget {
final Prescriptions prescriptions; final Prescriptions prescriptions;
final List<PrescriptionReport> prescriptionReportList; final List<PrescriptionReport> prescriptionReportList;
final List<PrescriptionReportEnh> prescriptionReportEnhList; final List<PrescriptionReportEnh> prescriptionReportEnhList;
const PrescriptionDeliveryAddressPage({Key key, this.prescriptions, this.prescriptionReportList, this.prescriptionReportEnhList})
const PrescriptionDeliveryAddressPage(
{Key key,
this.prescriptions,
this.prescriptionReportList,
this.prescriptionReportEnhList})
: super(key: key); : super(key: key);
@override @override
@ -46,10 +53,11 @@ class _PrescriptionDeliveryAddressPageState
double longitude = 0; double longitude = 0;
@override @override
void initState(){ void initState() {
super.initState(); super.initState();
_getCurrentLocation(); _getCurrentLocation();
} }
_getCurrentLocation() async { _getCurrentLocation() async {
await Geolocator.getLastKnownPosition().then((value) { await Geolocator.getLastKnownPosition().then((value) {
latitude = value.latitude; latitude = value.latitude;
@ -63,6 +71,7 @@ class _PrescriptionDeliveryAddressPageState
latitude = 46.73502189439707; latitude = 46.73502189439707;
}); });
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
@ -73,7 +82,7 @@ class _PrescriptionDeliveryAddressPageState
appBarTitle: TranslationBase.of(context).shippingAddresss, appBarTitle: TranslationBase.of(context).shippingAddresss,
baseViewModel: model, baseViewModel: model,
body: Container( body: Container(
height: MediaQuery.of(context).size.height* 0.65, height: MediaQuery.of(context).size.height * 0.65,
child: SingleChildScrollView( child: SingleChildScrollView(
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
child: Column( child: Column(
@ -139,29 +148,43 @@ class _PrescriptionDeliveryAddressPageState
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: Colors.grey) border: Border.all(color: Colors.grey)),
),
height: 200, height: 200,
child: GoogleMap( child: GoogleMap(
mapType: MapType.normal, mapType: MapType.normal,
markers: markers, markers: markers,
initialCameraPosition: _kGooglePlex, initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller) { onMapCreated:
(GoogleMapController controller) {
_controller.complete(controller); _controller.complete(controller);
}, },
), ),
), ),
), ),
SizedBox(height: 10,), SizedBox(
Texts(TranslationBase.of(context).shippingAddresss), height: 10,
SizedBox(height: 10,), ),
Texts('${model.user.firstName} ${model.user.lastName}'), Texts(
SizedBox(height: 10,), TranslationBase.of(context).shippingAddresss),
SizedBox(
height: 10,
),
Texts(
'${model.user.firstName} ${model.user.lastName}'),
SizedBox(
height: 10,
),
Texts(_selectedAddress.address1), Texts(_selectedAddress.address1),
SizedBox(height: 10,), SizedBox(
height: 10,
),
Texts(_selectedAddress.address2), Texts(_selectedAddress.address2),
SizedBox(height: 10,), SizedBox(
Texts(_selectedAddress.city+" "+_selectedAddress.country), height: 10,
),
Texts(_selectedAddress.city +
" " +
_selectedAddress.country),
], ],
), ),
) )
@ -179,30 +202,40 @@ class _PrescriptionDeliveryAddressPageState
Container( Container(
width: MediaQuery.of(context).size.width * 0.8, width: MediaQuery.of(context).size.width * 0.8,
child: Button( child: Button(
label: TranslationBase.of(context).addNewAddress.toUpperCase(), label:
TranslationBase.of(context).addNewAddress.toUpperCase(),
onTap: () { onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) => LocationPage(latitude: latitude, longitude: longitude,),), Navigator.push(
context,
FadePage(
page: LocationPage(
latitude: latitude,
longitude: longitude,
)),
); );
}, },
), ),
), ),
Container( Container(
width: MediaQuery.of(context).size.width * 0.8, width: MediaQuery.of(context).size.width * 0.8,
child: Button( child: Button(
label: TranslationBase.of(context).continues.toUpperCase(), label:
disabled: _selectedAddress==null, TranslationBase.of(context).continues.toUpperCase(),
backgroundColor: _selectedAddress==null?Colors.green[300]: Colors.green[700], disabled: _selectedAddress == null,
backgroundColor: _selectedAddress == null
? Colors.green[300]
: Colors.green[700],
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (BuildContext context) => page: PrescriptionOrderOverview(
PrescriptionOrderOverview(latitude: latitude, latitude: latitude,
longitude: longitude, longitude: longitude,
prescriptionReportEnhList: widget.prescriptionReportEnhList, prescriptionReportEnhList:
prescriptionReportList:widget.prescriptionReportList, widget.prescriptionReportEnhList,
prescriptionReportList:
widget.prescriptionReportList,
prescriptions: widget.prescriptions, prescriptions: widget.prescriptions,
selectedAddress: _selectedAddress, selectedAddress: _selectedAddress,
), ),
@ -216,8 +249,9 @@ class _PrescriptionDeliveryAddressPageState
); );
} }
void confirmSelectLocationDialog(
void confirmSelectLocationDialog(List<AddressInfo> addresses,) { List<AddressInfo> addresses,
) {
showDialog( showDialog(
context: context, context: context,
child: SelectLocationDialog( child: SelectLocationDialog(
@ -248,6 +282,7 @@ class _PrescriptionDeliveryAddressPageState
), ),
); );
} }
String getAddressName() { String getAddressName() {
if (_selectedAddress != null) if (_selectedAddress != null)
return _selectedAddress.address1; return _selectedAddress.address1;

@ -7,20 +7,19 @@ import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/StarRating.dart'; import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_pharmacy_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_pharmacy_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:giffy_dialog/giffy_dialog.dart';
import 'base/base_view.dart'; import 'base/base_view.dart';
import 'final_products_page.dart';
class ParentCategorisePage extends StatefulWidget { class ParentCategorisePage extends StatefulWidget {
String id; String id;
String titleName; String titleName;
ParentCategorisePage({this.id, this.titleName}); ParentCategorisePage({this.id, this.titleName});
@override @override
_ParentCategorisePageState createState() => _ParentCategorisePageState createState() =>
_ParentCategorisePageState(id: id, titleName: titleName); _ParentCategorisePageState(id: id, titleName: titleName);
@ -29,7 +28,9 @@ class ParentCategorisePage extends StatefulWidget {
class _ParentCategorisePageState extends State<ParentCategorisePage> { class _ParentCategorisePageState extends State<ParentCategorisePage> {
String id; String id;
String titleName; String titleName;
_ParentCategorisePageState({this.id, this.titleName}); _ParentCategorisePageState({this.id, this.titleName});
Map<String, bool> values = {'huusam': false, 'ali': false, 'noor': false}; Map<String, bool> values = {'huusam': false, 'ali': false, 'noor': false};
bool checkedBrands = false; bool checkedBrands = false;
bool checkedCategorise = false; bool checkedCategorise = false;
@ -41,6 +42,7 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
color: Colors.blue, color: Colors.blue,
size: 29.0, size: 29.0,
); );
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
@ -154,13 +156,19 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: page:
(context) =>
SubCategorisePage( SubCategorisePage(
title: model.categoriseParent[index].name, title: model
id: model.categoriseParent[index].id, .categoriseParent[
parentId: id, index]
.name,
id: model
.categoriseParent[
index]
.id,
parentId:
id,
)), )),
); );
}, },
@ -257,17 +265,13 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: SubCategorisePage(
SubCategorisePage(
title: model title: model
.categoriseParent[ .categoriseParent[index]
index]
.name, .name,
id: model id: model
.categoriseParent[ .categoriseParent[index].id,
index]
.id,
parentId: id, parentId: id,
)), )),
); );

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.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/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/pharmacies_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/pharmacies_model.dart';
@ -121,8 +122,8 @@ class MedicineSearch extends StatelessWidget {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => PharmaciesList( page: PharmaciesList(
medicineID: medicineID:
model.pharmacy[index].itemID, model.pharmacy[index].itemID,
imageURL: model imageURL: model

@ -1,15 +1,15 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/pages/final_products_page.dart'; import 'package:diplomaticquarterapp/pages/final_products_page.dart';
import 'package:diplomaticquarterapp/pages/login/register-info.dart'; import 'package:diplomaticquarterapp/pages/login/register-info.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/brand_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/search_brands_page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/search_brands_page.dart';
import 'package:diplomaticquarterapp/pages/search_products_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/brand_view_model.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
class ProductBrandsPage extends StatefulWidget { class ProductBrandsPage extends StatefulWidget {
@override @override
@ -17,8 +17,8 @@ class ProductBrandsPage extends StatefulWidget {
} }
var languageID; var languageID;
class _ProductBrandsPageState extends State<ProductBrandsPage> {
class _ProductBrandsPageState extends State<ProductBrandsPage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -39,18 +39,11 @@ class _ProductBrandsPageState extends State<ProductBrandsPage> {
children: [ children: [
Container( Container(
color: Colors.white, color: Colors.white,
alignment: languageID == 'ar'? alignment:
Alignment.topRight : languageID == 'ar' ? Alignment.topRight : Alignment.topLeft,
Alignment.topLeft, padding: languageID == 'ar'
padding: languageID == 'ar' ? ? EdgeInsets.only(right: 10.0, top: 10.0)
EdgeInsets.only( : EdgeInsets.only(left: 10.0, top: 10.0),
right: 10.0,
top: 10.0
):
EdgeInsets.only(
left: 10.0,
top: 10.0
),
child: Text( child: Text(
TranslationBase.of(context).topBrands, TranslationBase.of(context).topBrands,
style: TextStyle( style: TextStyle(
@ -94,8 +87,7 @@ class _ProductBrandsPageState extends State<ProductBrandsPage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page: SearchBrandsPage()),
builder: (context) => SearchBrandsPage()),
); );
}, },
), ),
@ -117,7 +109,9 @@ class _ProductBrandsPageState extends State<ProductBrandsPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
languageID == 'ar' ? Text(model.brandsListList[index].namen):Text(model.brandsListList[index].name), languageID == 'ar'
? Text(model.brandsListList[index].namen)
: Text(model.brandsListList[index].name),
SizedBox( SizedBox(
height: 3, height: 3,
), ),
@ -125,11 +119,14 @@ class _ProductBrandsPageState extends State<ProductBrandsPage> {
], ],
), ),
), ),
onTap: (){ onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => FinalProductsPage(id: model.brandsListList[index].id.toString(),)), builder: (context) => FinalProductsPage(
id: model.brandsListList[index].id
.toString(),
)),
); );
}, },
); );
@ -143,7 +140,6 @@ class _ProductBrandsPageState extends State<ProductBrandsPage> {
} }
} }
topBrand(BuildContext context) { topBrand(BuildContext context) {
return BaseView<BrandsViewModel>( return BaseView<BrandsViewModel>(
onModelReady: (model) => model.getTopBrandsData(), onModelReady: (model) => model.getTopBrandsData(),
@ -169,26 +165,30 @@ topBrand(BuildContext context) {
top: BorderSide(width: 1.0, color: Colors.grey), top: BorderSide(width: 1.0, color: Colors.grey),
left: BorderSide(width: 1.0, color: Colors.grey), left: BorderSide(width: 1.0, color: Colors.grey),
right: BorderSide(width: 1.0, color: Colors.grey), right: BorderSide(width: 1.0, color: Colors.grey),
bottom: BorderSide(width: 1.0, color: Colors.grey), bottom:
BorderSide(width: 1.0, color: Colors.grey),
), ),
color: Colors.white, color: Colors.white,
), ),
child: model.topBrandsListList[index].image != null ?Image.network( child: model.topBrandsListList[index].image != null
? Image.network(
model.topBrandsListList[index].image.src, model.topBrandsListList[index].image.src,
fit: BoxFit.cover, fit: BoxFit.cover,
width: 60, width: 60,
height: 40, height: 40,
): Text(model.topBrandsListList[index].name) )
), : Text(model.topBrandsListList[index].name)),
), ),
), ),
), ),
), ),
onTap: (){ onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => FinalProductsPage(id: model.topBrandsListList[index].id.toString(),)), builder: (context) => FinalProductsPage(
id: model.topBrandsListList[index].id.toString(),
)),
); );
}, },
), ),

@ -9,6 +9,7 @@ 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/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scafold_detail_page.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scafold_detail_page.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@ -1794,8 +1795,8 @@ class _footerWidgetState extends State<footerWidget> {
addToCartFunction(price, widget.item.id); addToCartFunction(price, widget.item.id);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page:
builder: (context) => CartOrderPage()), CartOrderPage()),
); );
}, },
child: Container( child: Container(

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/pages/pharmacies/screens/payment-method-sel
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy_module_page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy_module_page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderPreviewItem.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderPreviewItem.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -25,9 +26,7 @@ class OrderPreviewPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final mediaQuery = MediaQuery.of(context); final mediaQuery = MediaQuery.of(context);
final height = mediaQuery.size.height - final height = mediaQuery.size.height - 60 - mediaQuery.padding.top;
60 -
mediaQuery.padding.top;
return BaseView<OrderPreviewViewModel>( return BaseView<OrderPreviewViewModel>(
onModelReady: (model) => model.getShoppingCart(), onModelReady: (model) => model.getShoppingCart(),
@ -781,22 +780,15 @@ class PaymentBottomWidget extends StatelessWidget {
), ),
onPressed: (paymentData.address != null && onPressed: (paymentData.address != null &&
paymentData.paymentOption != null) paymentData.paymentOption != null)
? () => { ? () async {
model.makeOrder().then((_) { await model.makeOrder();
if (model.state != ViewState.Idle) { if (model.state != ViewState.Idle) {
SnackBar snackBar = SnackBar( AppToast.showSuccessToast(message: "Order has been placed successfully!!");
content: Text( } else {
'Order has been placed successfully!!')); AppToast.showErrorToast(message: model.error);
scaffold.showSnackBar(snackBar);
} }
Navigator.pop(context);
// Navigator.pushAndRemoveUntil( Navigator.pop(context);
// context,
// MaterialPageRoute(
// builder: (context) =>
// PharmacyPage()),
// (Route<dynamic> r) => false);
})
} }
: null, : null,
child: Padding( child: Padding(

@ -28,8 +28,6 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
import '../../final_products_page.dart'; import '../../final_products_page.dart';
import 'lacum-activitaion-vida-page.dart'; import 'lacum-activitaion-vida-page.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
bool isInWishlist = false; bool isInWishlist = false;
int price = 0; int price = 0;
@ -40,7 +38,6 @@ var item;
dynamic languageID; dynamic languageID;
List wishlistData; List wishlistData;
class PharmacyPage extends StatefulWidget { class PharmacyPage extends StatefulWidget {
// final PharmacyProduct product; // final PharmacyProduct product;
// PharmacyPage(this.product); // PharmacyPage(this.product);
@ -110,10 +107,7 @@ class _PharmacyPageState extends State<PharmacyPage> {
hPadding: 4, hPadding: 4,
handler: () { handler: () {
Navigator.push( Navigator.push(
context, context, FadePage(page: HomePrescriptionsPage()));
MaterialPageRoute(
builder: (context) =>
HomePrescriptionsPage()));
}, },
), ),
], ],
@ -223,8 +217,16 @@ class _PharmacyPageState extends State<PharmacyPage> {
30.0)), 30.0)),
child: Text( child: Text(
languageID == "ar" languageID == "ar"
? model.prescriptionsList[index].isInOutPatientDescriptionN.toString() ? model
: model.prescriptionsList[index].isInOutPatientDescription.toString(), .prescriptionsList[
index]
.isInOutPatientDescriptionN
.toString()
: model
.prescriptionsList[
index]
.isInOutPatientDescription
.toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 15.0, fontSize: 15.0,
@ -624,8 +626,8 @@ class _PharmacyPageState extends State<PharmacyPage> {
handler: () { handler: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => FinalProductsPage( page: FinalProductsPage(
id: "", id: "",
productType: 3, productType: 3,
), ),
@ -666,8 +668,8 @@ class _PharmacyPageState extends State<PharmacyPage> {
handler: () => { handler: () => {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => FinalProductsPage( page: FinalProductsPage(
id: "", id: "",
productType: 4, productType: 4,
), ),

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../final_products_page.dart'; import '../../final_products_page.dart';
@ -14,9 +15,10 @@ class ManufacturerItem extends StatelessWidget {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => FinalProductsPage( page: FinalProductsPage(
id: item.id, productType: 2, id: item.id,
productType: 2,
), ),
), ),
); );

File diff suppressed because it is too large Load Diff

@ -1,28 +1,25 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/orders_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/orders_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/TrackDriver.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets//pharmacy/product_tile.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:diplomaticquarterapp/widgets//pharmacy/product_tile.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:flutter/src/widgets/image.dart' as flutterImage; import 'package:flutter/src/widgets/image.dart' as flutterImage;
import 'package:flutter_svg/flutter_svg.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:provider/provider.dart';
dynamic languageID; dynamic languageID;
class OrderDetailsPage extends StatefulWidget { class OrderDetailsPage extends StatefulWidget {
Orders orderModel; Orders orderModel;
OrderDetailsPage({@required this.orderModel}); OrderDetailsPage({@required this.orderModel});
// Orders orderModel; // Orders orderModel;
@ -40,9 +37,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
// AppSharedPreferences sharedPref = AppSharedPreferences(); // AppSharedPreferences sharedPref = AppSharedPreferences();
String customerId; String customerId;
List<OrderModel> ordersList = []; List<OrderDetailModel> ordersList = [];
List<OrderModel> cancelledOrderList = []; List<OrderDetailModel> cancelledOrderList = [];
// String orderId="3516"; // String orderId="3516";
var model; var model;
@ -52,6 +49,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
var dataIsCancel; var dataIsCancel;
var dataIsRefund; var dataIsRefund;
MyInAppBrowser browser;
@override @override
void initState() { void initState() {
getLanguageID(); getLanguageID();
@ -66,10 +65,11 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<OrderModelViewModel>( return BaseView<OrderModelViewModel>(
onModelReady: (model){ onModelReady: (model) {
model.getOrderDetails(widget.orderModel.id).then((value){ model.getOrderDetails(widget.orderModel.id).then((value) {
setState(() { setState(() {
isActiveDelivery = (value.orderStatusId == 995 && (value.driverID != null && value.driverID.isNotEmpty)); isActiveDelivery = (value.orderStatusId == 995 &&
(value.driverID != null && value.driverID.isNotEmpty));
}); });
}); });
}, },
@ -77,7 +77,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
appBarTitle: TranslationBase.of(context).orderDetail, appBarTitle: TranslationBase.of(context).orderDetail,
isShowAppBar: true, isShowAppBar: true,
isPharmacy: true, isPharmacy: true,
body: Container( baseViewModel: model,
body: model.orderListModel.length > 0
? Container(
color: Colors.white, color: Colors.white,
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
@ -117,9 +119,9 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
borderRadius: BorderRadius.circular(30.0)), borderRadius: BorderRadius.circular(30.0)),
child: Text( child: Text(
languageID == "ar" languageID == "ar"
? widget.orderModel.orderStatusn.toString() ? model.orderListModel[0].orderStatusn
: widget.orderModel.orderStatus : model.orderListModel[0].orderStatus,
.toString(), // TranslationBase.of(context).delivered,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 13.0, fontSize: 13.0,
@ -135,8 +137,7 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Text( Text(
model.orderListModel[0].shippingAddress.firstName "${model.orderListModel[0].shippingAddress.firstName} ${model.orderListModel[0].shippingAddress.lastName}",
.toString().substring(10) ,
style: TextStyle( style: TextStyle(
fontSize: 15.0, fontSize: 15.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -151,8 +152,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
children: <Widget>[ children: <Widget>[
Text( Text(
model.orderListModel[0].shippingAddress.address1 model.orderListModel[0].shippingAddress.address1
.toString().substring(9), .toString()
// .substring(9), ,
style: TextStyle( style: TextStyle(
fontSize: 10.0, fontSize: 10.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -168,10 +169,11 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
children: <Widget>[ children: <Widget>[
Text( Text(
model.orderListModel[0].shippingAddress.address2 model.orderListModel[0].shippingAddress.address2
.toString().substring(9) .toString()
// .substring(9) + +
+ ' ' + ' ' +
model.orderListModel[0].shippingAddress.country model.orderListModel[0].shippingAddress
.country
.toString() + .toString() +
' ' + ' ' +
model.orderListModel[0].shippingAddress model.orderListModel[0].shippingAddress
@ -198,7 +200,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
Container( Container(
margin: EdgeInsets.only(top: 5.0, bottom: 5.0), margin: EdgeInsets.only(top: 5.0, bottom: 5.0),
child: Text( child: Text(
model.orderListModel[0].shippingAddress.phoneNumber model.orderListModel[0].shippingAddress
.phoneNumber
.toString(), .toString(),
style: TextStyle( style: TextStyle(
fontSize: 15.0, fontSize: 15.0,
@ -291,8 +294,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
margin: EdgeInsets.only(bottom: 10.0, top: 10.0), margin: EdgeInsets.only(bottom: 10.0, top: 10.0),
child: Text( child: Text(
model.orderListModel[0].paymentName model.orderListModel[0].paymentName
.toString().substring(12), .toString()
.substring(12),
style: TextStyle( style: TextStyle(
fontSize: 13.0, fontSize: 13.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -332,33 +335,43 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Container( return Container(
child: productTile( child: productTile(
productName: languageID == "ar" productName: model.orderListModel[0]
? model.orderListModel[0].orderItems[index].product.namen.toString() .orderItems[index].product.name
: model.orderListModel[0].orderItems[index].product.name.toString(), .toString(),
productPrice: model.orderListModel[0].orderItems[index].product.price productPrice: model.orderListModel[0]
.orderItems[index].product.price
.toString(), .toString(),
productRate: model.orderListModel[0].orderItems[index].product.approvedRatingSum productRate: model.orderListModel[0]
.orderItems[index].product.approvedRatingSum
.toDouble(), .toDouble(),
productReviews: model.orderListModel[0].orderItems[index].product.approvedTotalReviews, productReviews: model
.orderListModel[0]
.orderItems[index]
.product
.approvedTotalReviews,
totalPrice: totalPrice:
"${(model.orderListModel[0].orderItems[index].product.price * model.orderListModel[0].orderItems[index].quantity).toStringAsFixed(2)}", "${(model.orderListModel[0].orderItems[index].product.price * model.orderListModel[0].orderItems[index].quantity).toStringAsFixed(2)}",
qyt: model qyt: model.orderListModel[0].orderItems[index]
.orderListModel[0].orderItems[index].quantity .quantity
.toString(), .toString(),
isOrderDetails: true, isOrderDetails: true,
imgs: model.orderListModel[0].orderItems[index] imgs: model.orderListModel[0].orderItems[index]
.product.images != .product.images !=
null && null &&
model.orderListModel[0].orderItems[index] model
.product.images.length != .orderListModel[0]
.orderItems[index]
.product
.images
.length !=
0 0
? model.orderListModel[0].orderItems[index] ? model.orderListModel[0].orderItems[index]
.product.images[0].src .product.images[0].src
.toString() .toString()
: null, : null,
status: model.orderListModel[0].orderStatusId, status: model.orderListModel[0].orderStatusId,
product: product: model.orderListModel[0]
model.orderListModel[0].orderItems[index].product, .orderItems[index].product,
), ),
); );
}), }),
@ -537,14 +550,20 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
model.orderListModel[0].orderStatusId == 10 model.orderListModel[0].orderStatusId == 10
? InkWell( ? InkWell(
onTap: () { onTap: () {
model.makeOrder(); print(widget.orderModel.toString());
print(model.orderListModel.toString());
print("calc = ${5.9 * 3}");
// TODO MOSA
openPayment(
model.orderListModel[0], model.user);
}, },
child: Container( child: Container(
// margin: EdgeInsets.only(top: 20.0), // margin: EdgeInsets.only(top: 20.0),
height: 50.0, height: 50.0,
color: Colors.transparent, color: Colors.transparent,
child: Container( child: Container(
padding: EdgeInsets.only(left: 130.0, right: 130.0), padding: EdgeInsets.only(
left: 130.0, right: 130.0),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: Colors.green, color: Colors.green,
@ -569,7 +588,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
isCancel isCancel
? InkWell( ? InkWell(
onTap: () { onTap: () {
presentConfirmDialog(model, widget.orderModel.id); presentConfirmDialog(
model, widget.orderModel.id);
// model.orderListModel[0].id//(widget.orderModel.id)); // model.orderListModel[0].id//(widget.orderModel.id));
// //
}, },
@ -592,17 +612,18 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
isActiveDelivery isActiveDelivery
? InkWell( ? InkWell(
onTap: () { onTap: () {
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute(builder: (context) => TrackDriver(order: model.orderListModel.first), // MaterialPageRoute(builder: (context) => TrackDriver(order: widget.orderModel),
)); // ));
}, },
child: Container( child: Container(
height: 50.0, height: 50.0,
color: Colors.transparent, color: Colors.transparent,
child: Center( child: Center(
child: Text( child: Text(
TranslationBase.of(context).trackDeliveryDriver, TranslationBase.of(context)
.trackDeliveryDriver,
style: TextStyle( style: TextStyle(
color: Colors.green[900], color: Colors.green[900],
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
@ -615,7 +636,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
], ],
), ),
), ),
), )
: Container(),
), ),
); );
} }
@ -677,8 +699,8 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
// Navigator.pop(context); // Navigator.pop(context);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => OrderPage( page: OrderPage(
// customerID: model.ordersList[0].customerId.toString() // customerID: model.ordersList[0].customerId.toString()
customerID: widget.orderModel.customerId.toString())), customerID: widget.orderModel.customerId.toString())),
); );
@ -697,5 +719,55 @@ class _OrderDetailsPageState extends State<OrderDetailsPage> {
} }
} }
}
/***
*
* Online payment methods
*/
openPayment(
OrderDetailModel order,
AuthenticatedUser authenticatedUser,
) {
browser = new MyInAppBrowser(
onExitCallback: onBrowserExit, onLoadStartCallback: onBrowserLoadStart);
browser.openPharmacyPaymentBrowser(
order,
order.orderTotal,
'ePharmacy Order',
order.id,
order.billingAddress.email,
order.customValuesXml,
"${authenticatedUser.firstName} ${authenticatedUser.middleName} ${authenticatedUser.lastName}",
authenticatedUser.patientID,
authenticatedUser,
browser);
}
onBrowserLoadStart(String url) {
print("onBrowserLoadStart");
print(url);
MyInAppBrowser.successURLS.forEach((element) {
if (url.contains(element)) {
if (browser.isOpened()) browser.close();
MyInAppBrowser.isPaymentDone = true;
return;
}
});
MyInAppBrowser.errorURLS.forEach((element) {
if (url.contains(element)) {
if (browser.isOpened()) browser.close();
MyInAppBrowser.isPaymentDone = false;
return;
}
});
}
onBrowserExit(bool isPaymentMade) {
print("onBrowserExit Called!!!!");
// if (isPaymentMade) checkPaymentStatus(appo);
}
}

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/profile/profile.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/profile/profile.dart';
@ -12,7 +13,7 @@ import 'package:rating_bar/rating_bar.dart';
import 'package:flutter/src/widgets/image.dart' as flutterImage; import 'package:flutter/src/widgets/image.dart' as flutterImage;
class ProductReviewPage extends StatefulWidget { class ProductReviewPage extends StatefulWidget {
final Product product; final PharmacyProduct product;
ProductReviewPage(this.product); ProductReviewPage(this.product);

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_polyline_points/flutter_polyline_points.dart'; import 'package:flutter_polyline_points/flutter_polyline_points.dart';
@ -9,7 +10,7 @@ import 'package:location/location.dart';
class TrackDriver extends StatefulWidget { class TrackDriver extends StatefulWidget {
final OrderModel order; final OrderDetailModel order;
TrackDriver({this.order}); TrackDriver({this.order});
@override @override
@ -17,7 +18,7 @@ class TrackDriver extends StatefulWidget {
} }
class _TrackDriverState extends State<TrackDriver> { class _TrackDriverState extends State<TrackDriver> {
OrderModel _order; OrderDetailModel _order;
Completer<GoogleMapController> _controller = Completer(); Completer<GoogleMapController> _controller = Completer();

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da
import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/livechat_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/livechat_page.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/login/welcome.dart'; import 'package:diplomaticquarterapp/pages/login/welcome.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart'; import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/compare.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/compare.dart';
@ -14,20 +15,14 @@ import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-con
import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/order/Order.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart'; import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/my_reviews.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/compare.dart';
dynamic languageID; dynamic languageID;
@ -74,7 +69,7 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
if (userData == null) { if (userData == null) {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => WelcomeLogin()), FadePage(page: WelcomeLogin()),
); );
} }
} }
@ -124,23 +119,21 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
url: '', url: '',
), ),
), ),
Column( Column(children: <Widget>[
children: <Widget>[ Row(children: <Widget>[
Row(
children: <Widget>[
Text( Text(
TranslationBase.of(context).welcome, TranslationBase.of(context)
.welcome,
style: TextStyle( style: TextStyle(
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.grey), color: Colors.grey),
), ),
] ), ]),
SizedBox( SizedBox(
height: 10, height: 10,
), ),
Row( Row(children: <Widget>[
children: <Widget>[
Text( Text(
languageID == "ar" languageID == "ar"
? user.firstNameN.toString() + ? user.firstNameN.toString() +
@ -153,9 +146,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold),
), ),
] ), ]),
] ), ]),
], ],
), ),
) )
@ -185,8 +177,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
} }
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => OrderPage( page: OrderPage(
customerID: customerId))); customerID: customerId)));
}, },
child: Column( child: Column(
@ -214,11 +206,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
Expanded( Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(context,
context, FadePage(page: LakumMainPage()));
MaterialPageRoute(
builder: (context) =>
LakumMainPage()));
}, },
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
@ -273,11 +262,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
Expanded( Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(context,
context, FadePage(page: MyReviewsPage()));
MaterialPageRoute(
builder: (context) =>
MyReviewsPage()));
}, },
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
@ -337,9 +323,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: HomePrescriptionsPage()));
HomePrescriptionsPage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -370,11 +355,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
), ),
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(context,
context, FadePage(page: ComparePage()));
MaterialPageRoute(
builder: (context) =>
ComparePage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -405,9 +387,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: HomePrescriptionsPage()));
HomePrescriptionsPage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -439,10 +420,7 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context, FadePage(page: MyFamily()));
MaterialPageRoute(
builder: (context) =>
MyFamily()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -474,9 +452,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: PharmacyAddressesPage()));
PharmacyAddressesPage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -509,9 +486,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: PharmacyTermsConditions()));
PharmacyTermsConditions()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -544,9 +520,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: LakumTermsConditions(
LakumTermsConditions(
this.identificationNo, this.identificationNo,
this.firstName, this.firstName,
this.lastName, this.lastName,
@ -611,11 +586,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
), ),
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(context,
context, FadePage(page: LiveChatPage()));
MaterialPageRoute(
builder: (context) =>
LiveChatPage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
@ -643,11 +615,8 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
), ),
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(context,
context, FadePage(page: FindUsPage()));
MaterialPageRoute(
builder: (context) =>
FindUsPage()));
}, },
child: Row( child: Row(
children: <Widget>[ children: <Widget>[

@ -1,7 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:barcode_scan_fix/barcode_scan.dart'; import 'package:barcode_scan_fix/barcode_scan.dart';
import 'package:charts_flutter/flutter.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
@ -11,8 +10,10 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'base/base_view.dart'; import 'base/base_view.dart';
import 'final_products_page.dart'; import 'final_products_page.dart';
@ -29,7 +30,9 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<PharmacyCategoriseViewModel>( return BaseView<PharmacyCategoriseViewModel>(
onModelReady: (model) => model.getCategorise(), onModelReady: (model) => model.getCategorise(),
builder: (BuildContext context, PharmacyCategoriseViewModel model, Widget child) => AppScaffold( builder: (BuildContext context, PharmacyCategoriseViewModel model,
Widget child) =>
AppScaffold(
isShowDecPage: false, isShowDecPage: false,
baseViewModel: model, baseViewModel: model,
body: Column( body: Column(
@ -57,7 +60,9 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 10.0),
child: Texts( child: Texts(
projectViewModel.isArabic ? model.categorise[index].namen : model.categorise[index].name, projectViewModel.isArabic
? model.categorise[index].namen
: model.categorise[index].name,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -65,8 +70,8 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
onTap: () => { onTap: () => {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => model.categorise[index].id != '12' page: model.categorise[index].id != '12'
? ParentCategorisePage( ? ParentCategorisePage(
id: model.categorise[index].id, id: model.categorise[index].id,
titleName: model.categorise[index].name, titleName: model.categorise[index].name,
@ -86,7 +91,10 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
height: 140, height: 140,
child: Column( child: Column(
children: [ children: [
Divider(height: 2.0, thickness: 1.0, color: Colors.black12.withOpacity(0.14)), Divider(
height: 2.0,
thickness: 1.0,
color: Colors.black12.withOpacity(0.14)),
SizedBox( SizedBox(
height: 10.0, height: 10.0,
), ),
@ -102,12 +110,16 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
width: 55.0, width: 55.0,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.0), borderRadius: BorderRadius.circular(5.0),
color: Colors.green.shade300.withOpacity(0.34), color:
Colors.green.shade300.withOpacity(0.34),
), ),
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding:
EdgeInsets.symmetric(horizontal: 10.0),
child: Texts( child: Texts(
projectViewModel.isArabic ? 'الاكثر مبيعا' : 'Best Sellers', projectViewModel.isArabic
? 'الاكثر مبيعا'
: 'Best Sellers',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -122,13 +134,16 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
height: 50.0, height: 50.0,
width: 55.0, width: 55.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.orangeAccent.shade200.withOpacity(0.34), color: Colors.orangeAccent.shade200
.withOpacity(0.34),
borderRadius: BorderRadius.circular(5.0), borderRadius: BorderRadius.circular(5.0),
), ),
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 10.0),
child: Texts( child: Texts(
projectViewModel.isArabic ? 'الاكثر مشاهدة' : 'Most Viewed', projectViewModel.isArabic
? 'الاكثر مشاهدة'
: 'Most Viewed',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -152,7 +167,9 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 10.0),
child: Texts( child: Texts(
projectViewModel.isArabic ? 'منتجات جديدة' : 'New Products', projectViewModel.isArabic
? 'منتجات جديدة'
: 'New Products',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -170,13 +187,17 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
height: 50.0, height: 50.0,
width: 55.0, width: 55.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.purple.shade200.withOpacity(0.34), color:
Colors.purple.shade200.withOpacity(0.34),
borderRadius: BorderRadius.circular(5.0), borderRadius: BorderRadius.circular(5.0),
), ),
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding:
EdgeInsets.symmetric(horizontal: 10.0),
child: Texts( child: Texts(
projectViewModel.isArabic ? 'شوهد مؤخرا' : 'Recently Viewed', projectViewModel.isArabic
? 'شوهد مؤخرا'
: 'Recently Viewed',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -214,7 +235,7 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
{ {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => LandingPagePharmacy()), FadePage(page: LandingPagePharmacy()),
); );
} }
} }

@ -1,5 +1,4 @@
import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -8,7 +7,6 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_pharmacy_widget
import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'base/base_view.dart'; import 'base/base_view.dart';
import 'final_products_page.dart'; import 'final_products_page.dart';
@ -19,6 +17,7 @@ class SubCategorisePage extends StatefulWidget {
String parentId; String parentId;
SubCategorisePage({this.id, this.parentId, this.title}); SubCategorisePage({this.id, this.parentId, this.title});
@override @override
_SubCategorisePageState createState() => _SubCategorisePageState createState() =>
_SubCategorisePageState(id: id, title: title, parentId: parentId); _SubCategorisePageState(id: id, title: title, parentId: parentId);
@ -30,7 +29,9 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
String id; String id;
String title; String title;
String parentId; String parentId;
_SubCategorisePageState({this.title, this.parentId, this.id}); _SubCategorisePageState({this.title, this.parentId, this.id});
String categoriseName = "Personal Care"; String categoriseName = "Personal Care";
bool styleOne = true; bool styleOne = true;
bool styleTwo = false; bool styleTwo = false;
@ -39,6 +40,7 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
color: Colors.blue, color: Colors.blue,
size: 29.0, size: 29.0,
); );
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<PharmacyCategoriseViewModel>( return BaseView<PharmacyCategoriseViewModel>(
@ -142,8 +144,8 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page:
FinalProductsPage( FinalProductsPage(
id: model id: model
.subCategorise[ .subCategorise[
@ -230,9 +232,8 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => page: FinalProductsPage(
FinalProductsPage(
id: model.subCategorise[index].id, id: model.subCategorise[index].id,
), ),
), ),

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
@ -16,8 +17,8 @@ class CancelOrderService extends BaseService{
AuthenticatedUser authUser = new AuthenticatedUser(); AuthenticatedUser authUser = new AuthenticatedUser();
AuthProvider authProvider = new AuthProvider(); AuthProvider authProvider = new AuthProvider();
List<OrderModel> _cancelOrderList = List(); List<OrderDetailModel> _cancelOrderList = List();
List<OrderModel> get cancelOrderList => _cancelOrderList; List<OrderDetailModel> get cancelOrderList => _cancelOrderList;
String url =""; String url ="";

@ -1,12 +1,13 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:flutter/material.dart';
class OrderDetailsService extends BaseService{ class OrderDetailsService extends BaseService{
@ -16,10 +17,8 @@ class OrderDetailsService extends BaseService{
AuthenticatedUser authUser = new AuthenticatedUser(); AuthenticatedUser authUser = new AuthenticatedUser();
AuthProvider authProvider = new AuthProvider(); AuthProvider authProvider = new AuthProvider();
// String url =""; List<OrderDetailModel> _orderList = List();
// List<OrderModel> get orderDetails => ordeDetails; List<OrderDetailModel> get orderList => _orderList;
List<OrderModel> _orderList = List();
List<OrderModel> get orderList => _orderList;
Future getOrderDetails(OrderId) async { Future getOrderDetails(OrderId) async {
@ -28,7 +27,7 @@ class OrderDetailsService extends BaseService{
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_orderList.clear(); _orderList.clear();
response['orders'].forEach((item) { response['orders'].forEach((item) {
_orderList.add(OrderModel.fromJson(item)); _orderList.add(OrderDetailModel.fromJson(item));
print(response); print(response);
}); });
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
@ -37,7 +36,7 @@ class OrderDetailsService extends BaseService{
}); });
} }
Future makeReview(Product product, double rating, String reviewText) async { Future makeReview(PharmacyProduct product, double rating, String reviewText) async {
hasError = false; hasError = false;
super.error = ""; super.error = "";

@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -16,8 +17,9 @@ import 'bottom_navigation_item.dart';
class BottomNavBar extends StatefulWidget { class BottomNavBar extends StatefulWidget {
final ValueChanged<int> changeIndex; final ValueChanged<int> changeIndex;
final int index ; final int index;
BottomNavBar({Key key, this.changeIndex,this.index}) : super(key: key);
BottomNavBar({Key key, this.changeIndex, this.index}) : super(key: key);
@override @override
_BottomNavBarState createState() => _BottomNavBarState(); _BottomNavBarState createState() => _BottomNavBarState();
@ -77,7 +79,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 1, currentIndex: 1,
name: TranslationBase.of(context).medicalProfile, name: TranslationBase.of(context).medicalProfile,
), ),
if(widget.index == 0 && projectViewModel.havePrivilege(34)) if (widget.index == 0 && projectViewModel.havePrivilege(34))
Expanded( Expanded(
child: SizedBox( child: SizedBox(
height: 50, height: 50,
@ -90,7 +92,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
), ),
), ),
), ),
if(widget.index != 0 && projectViewModel.havePrivilege(34)) if (widget.index != 0 && projectViewModel.havePrivilege(34))
BottomNavigationItem( BottomNavigationItem(
icon: EvaIcons.calendar, icon: EvaIcons.calendar,
activeIcon: EvaIcons.calendar, activeIcon: EvaIcons.calendar,
@ -99,7 +101,6 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 2, currentIndex: 2,
name: TranslationBase.of(context).bookAppo, name: TranslationBase.of(context).bookAppo,
), ),
BottomNavigationItem( BottomNavigationItem(
icon: DQIcons.family, icon: DQIcons.family,
activeIcon: DQIcons.family, activeIcon: DQIcons.family,
@ -108,7 +109,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 3, currentIndex: 3,
name: TranslationBase.of(context).myFamily, name: TranslationBase.of(context).myFamily,
), ),
if(projectViewModel.havePrivilege(51)) if (projectViewModel.havePrivilege(51))
BottomNavigationItem( BottomNavigationItem(
icon: EvaIcons.calendar, icon: EvaIcons.calendar,
activeIcon: EvaIcons.calendar, activeIcon: EvaIcons.calendar,
@ -124,12 +125,10 @@ class _BottomNavBarState extends State<BottomNavBar> {
} }
Future navigateToBookingOptions(context) async { Future navigateToBookingOptions(context) async {
Navigator.push( Navigator.push(context, FadePage(page: BookingOptions()));
context, MaterialPageRoute(builder: (context) => BookingOptions()));
} }
Future navigateToToDoList(context) async { Future navigateToToDoList(context) async {
Navigator.push(context, Navigator.push(context, FadePage(page: ToDo(isShowAppBar: false)));
MaterialPageRoute(builder: (context) => ToDo(isShowAppBar: false)));
} }
} }

@ -1,4 +1,5 @@
import 'dart:io'; import 'dart:io';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart'; import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
@ -18,7 +19,6 @@ import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; 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/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -44,7 +44,8 @@ class _AppDrawerState extends State<AppDrawer> {
ProjectViewModel projectProvider; ProjectViewModel projectProvider;
var sharedPref = new AppSharedPreferences(); var sharedPref = new AppSharedPreferences();
var familyFileProvider = FamilyFilesProvider(); var familyFileProvider = FamilyFilesProvider();
PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>(); PharmacyModuleViewModel pharmacyModuleViewModel =
locator<PharmacyModuleViewModel>();
AuthenticatedUser user; AuthenticatedUser user;
AuthenticatedUser mainUser; AuthenticatedUser mainUser;
AuthenticatedUserObject authenticatedUserObject = AuthenticatedUserObject authenticatedUserObject =
@ -55,6 +56,7 @@ class _AppDrawerState extends State<AppDrawer> {
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
String booldType; String booldType;
String notificationCount; String notificationCount;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
toDoProvider = Provider.of<ToDoCountProviderModel>(context); toDoProvider = Provider.of<ToDoCountProviderModel>(context);
@ -158,7 +160,8 @@ class _AppDrawerState extends State<AppDrawer> {
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
(user.isFamily == null || (user.isFamily == null ||
user.isFamily == false)&& projectProvider.havePrivilege(2) user.isFamily == false) &&
projectProvider.havePrivilege(2)
? InkWell( ? InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context).family, TranslationBase.of(context).family,
@ -294,8 +297,7 @@ class _AppDrawerState extends State<AppDrawer> {
} }
}, },
), ),
if(projectProvider.havePrivilege(1)) if (projectProvider.havePrivilege(1))
InkWell( InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context) TranslationBase.of(context)
@ -350,17 +352,15 @@ class _AppDrawerState extends State<AppDrawer> {
onTap: () { onTap: () {
//NotificationsPage //NotificationsPage
Navigator.of(context).pop(); Navigator.of(context).pop();
Navigator.push( Navigator.push(context,
context, FadePage(page: NotificationsPage()));
MaterialPageRoute(
builder: (BuildContext context) =>
NotificationsPage()));
}, },
), ),
if(projectProvider.havePrivilege(3)) if (projectProvider.havePrivilege(3))
InkWell( InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context).appsetting, TranslationBase.of(context)
.appsetting,
Icons.settings_input_composite), Icons.settings_input_composite),
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
@ -573,7 +573,8 @@ class _AppDrawerState extends State<AppDrawer> {
loginAfter(result, context) async { loginAfter(result, context) async {
result = CheckActivationCode.fromJson(result); result = CheckActivationCode.fromJson(result);
Provider.of<ProjectViewModel>(context, listen: false).setPrivilege(privilegeList: result,isLoginChild: true); Provider.of<ProjectViewModel>(context, listen: false)
.setPrivilege(privilegeList: result, isLoginChild: true);
var familyFile = await sharedPref.getObject(FAMILY_FILE); var familyFile = await sharedPref.getObject(FAMILY_FILE);
var currentLang = await sharedPref.getString(APP_LANGUAGE); var currentLang = await sharedPref.getString(APP_LANGUAGE);
var mainUser = await sharedPref.getObject(MAIN_USER); var mainUser = await sharedPref.getObject(MAIN_USER);
@ -596,7 +597,7 @@ class _AppDrawerState extends State<AppDrawer> {
Provider.of<ProjectViewModel>(context, listen: false) Provider.of<ProjectViewModel>(context, listen: false)
.setUser(authenticatedUserObject.user); .setUser(authenticatedUserObject.user);
await pharmacyModuleViewModel.generatePharmacyToken().then((value) async { await pharmacyModuleViewModel.generatePharmacyToken().then((value) async {
if(pharmacyModuleViewModel.error.isNotEmpty) if (pharmacyModuleViewModel.error.isNotEmpty)
await pharmacyModuleViewModel.createUser(); await pharmacyModuleViewModel.createUser();
}); });

@ -1,6 +1,7 @@
import 'dart:convert'; import 'dart:convert';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
@ -20,13 +21,17 @@ class MyInAppBrowser extends InAppBrowser {
// static String PREAUTH_SERVICE_URL = // static String PREAUTH_SERVICE_URL =
// 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store // 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store
static String PRESCRIPTION_PAYMENT_WITH_ORDERID =
'https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID=';
static List<String> successURLS = [ static List<String> successURLS = [
'success', 'success',
'PayFortResponse', 'PayFortResponse',
'PayFortSucess' 'PayFortSucess',
'mobilepaymentcomplete'
]; ];
static List<String> errorURLS = ['PayfortCancel']; static List<String> errorURLS = ['PayfortCancel', 'errorpage', 'Failed'];
final Function onExitCallback; final Function onExitCallback;
final Function onLoadStartCallback; final Function onLoadStartCallback;
@ -146,6 +151,26 @@ class MyInAppBrowser extends InAppBrowser {
}); });
} }
openPharmacyPaymentBrowser(
OrderDetailModel order,
double amount,
String orderDesc,
String transactionID,
String emailId,
String paymentMethod,
String patientName,
dynamic patientID,
AuthenticatedUser authenticatedUser,
InAppBrowser browser) {
this.browser = browser;
getPatientData();
generatePharmacyURL(order, amount, orderDesc, transactionID, emailId,
paymentMethod, patientName, patientID, authenticatedUser)
.then((value) {
this.browser.openUrl(url: value);
});
}
openBrowser(String url) { openBrowser(String url) {
this.browser = browser; this.browser = browser;
this.browser.openUrl(url: url); this.browser.openUrl(url: url);
@ -225,6 +250,25 @@ class MyInAppBrowser extends InAppBrowser {
return 'data:text/html;base64,' + base64Str; return 'data:text/html;base64,' + base64Str;
} }
Future<String> generatePharmacyURL(
OrderDetailModel order,
double amount,
String orderDesc,
String transactionID,
String emailId,
String paymentMethod,
String patientName,
dynamic patientID,
AuthenticatedUser authUser) async {
String pharmacyURL = PRESCRIPTION_PAYMENT_WITH_ORDERID +
order.orderGuid +
'&&CustomerId=' +
"${order.customerId}";
print(pharmacyURL);
return pharmacyURL;
}
String getForm() { String getForm() {
return '<html> ' + return '<html> ' +
'<head></head>' + '<head></head>' +
@ -292,6 +336,36 @@ class MyInAppBrowser extends InAppBrowser {
'</body>' + '</body>' +
'</html>'; '</html>';
} }
String getPharmacyForm() {
return '<html> ' +
'<head></head>' +
'<body>' +
'<form id="paymentForm" action="SERVICE_URL_VALUE" method="post">' +
'<input type="hidden" name="Amount" value="AMOUNT_VALUE">' +
'<input type="hidden" name="Order_Desc" value="ORDER_DESCRIPTION_VALUE">' +
'<input type="hidden" name="OrderID" value="ORDER_ID_VALUE">' +
'<input type="hidden" name="PaymentOption" value="PAYMENT_OPTION_VALUE">' +
'<input type="hidden" name="Email" value="EMAIL_VALUE">' +
'<input type="hidden" name="ServID" value="SERV_ID" >' +
'<input type="hidden" name="ChannelID" value="2" >' +
'<input type="hidden" name="Lang" value="LANG_VALUE" >' +
'<input type="hidden" name="ReturnURL" value="" >' +
'<input type="hidden" name="CustName" value="CUSTNAME_VALUE" >' +
'<input type="hidden" name="PatientOutSA" value="PATIENT_OUT_SA" >' +
'<input type="hidden" name="PatientTypeID" value="PATIENT_TYPE_ID" >' +
'<input type="hidden" name="DeviceToken" value="DEVICE_TOKEN" >' +
'<input type="hidden" name="Longitude" value="LONGITUDE_VALUE" >' +
'<input type="hidden" name="Latitude" value="LATITUDE_VALUE" >' +
'<input type="hidden" name="Live_ServiceID" value="LIVE_SERVICE_ID" >' +
'<input type="hidden" name="CustID" value="CUSTID_VALUE" >' +
'<input type="hidden" name="ResponseContinueURL" value="http://hmg.com/Documents/success.html" >' +
'<input type="hidden" name="BackClickUrl" value="http://hmg.com/Documents/success.html" >' +
'</form>' +
'<script type="text/javascript"> document.getElementById("paymentForm").submit(); </script>' +
'</body>' +
'</html>';
}
} }
class MyChromeSafariBrowser extends ChromeSafariBrowser { class MyChromeSafariBrowser extends ChromeSafariBrowser {

@ -194,7 +194,7 @@ class AppBarWidget extends StatelessWidget with PreferredSizeWidget {
onPressed: () { onPressed: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => CartOrderPage()), FadePage(page: CartOrderPage()),
); );
// Navigator.of(context) // Navigator.of(context)
// .popUntil(ModalRoute.withName('/')); // .popUntil(ModalRoute.withName('/'));

@ -483,8 +483,8 @@ class _SearchBot extends State<BottomBarSearch> {
{isAppo}) async { {isAppo}) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => DoctorProfile( page: DoctorProfile(
doctor: docObject, doctor: docObject,
docProfileList: docProfile, docProfileList: docProfile,
isOpenAppt: isAppo, isOpenAppt: isAppo,
@ -492,16 +492,12 @@ class _SearchBot extends State<BottomBarSearch> {
} }
Future navigateToSearchResults(context, docList, arr, arrDistance) async { Future navigateToSearchResults(context, docList, arr, arrDistance) async {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => SearchResults(doctorsList: docList)));
var result = LinkedHashSet<String>.from(arr).toList(); var result = LinkedHashSet<String>.from(arr).toList();
var numAll = result.length; var numAll = result.length;
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BranchView( page: BranchView(
doctorsList: docList, doctorsList: docList,
result: result, result: result,
num: numAll, num: numAll,
@ -524,8 +520,8 @@ class _SearchBot extends State<BottomBarSearch> {
goToClinic(List ids) { goToClinic(List ids) {
Navigator.push( Navigator.push(
AppGlobal.context, AppGlobal.context,
MaterialPageRoute( FadePage(
builder: (context) => Search( page: Search(
type: 0, type: 0,
clnicIds: ids, clnicIds: ids,
))); )));

@ -1,6 +1,7 @@
import 'dart:collection'; import 'dart:collection';
import 'dart:io'; import 'dart:io';
import 'dart:math'; import 'dart:math';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
@ -11,6 +12,8 @@ import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/my_web_view.dar
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/parking_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/parking_page.dart';
import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart'; import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart';
import 'package:diplomaticquarterapp/pages/Blood/my_balance_page.dart'; import 'package:diplomaticquarterapp/pages/Blood/my_balance_page.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/DoctorProfile.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/BranchView.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/BranchView.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
@ -44,17 +47,14 @@ 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/widgets/robo-search/robosearch.dart'; import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_tts/flutter_tts.dart'; import 'package:flutter_tts/flutter_tts.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:speech_to_text/speech_recognition_error.dart'; import 'package:speech_to_text/speech_recognition_error.dart';
import 'package:speech_to_text/speech_recognition_result.dart'; import 'package:speech_to_text/speech_recognition_result.dart';
import 'package:speech_to_text/speech_to_text.dart'; import 'package:speech_to_text/speech_to_text.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/DoctorProfile.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:flutter/cupertino.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class FloatingSearchButton extends StatefulWidget { class FloatingSearchButton extends StatefulWidget {
@ -795,8 +795,8 @@ class _FloatingSearchButton extends State<FloatingSearchButton>
{isAppo}) async { {isAppo}) async {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => DoctorProfile( page: DoctorProfile(
doctor: docObject, doctor: docObject,
docProfileList: docProfile, docProfileList: docProfile,
isOpenAppt: isAppo, isOpenAppt: isAppo,
@ -804,16 +804,12 @@ class _FloatingSearchButton extends State<FloatingSearchButton>
} }
Future navigateToSearchResults(context, docList, arr, arrDistance) async { Future navigateToSearchResults(context, docList, arr, arrDistance) async {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => SearchResults(doctorsList: docList)));
var result = LinkedHashSet<String>.from(arr).toList(); var result = LinkedHashSet<String>.from(arr).toList();
var numAll = result.length; var numAll = result.length;
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(
builder: (context) => BranchView( page: BranchView(
doctorsList: docList, doctorsList: docList,
result: result, result: result,
num: numAll, num: numAll,

@ -1,6 +1,5 @@
import 'package:diplomaticquarterapp/pages/landing/home_page.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class BottomNavHomeItem extends StatelessWidget { class BottomNavHomeItem extends StatelessWidget {
@ -35,7 +34,7 @@ class BottomNavHomeItem extends StatelessWidget {
onTap: () => { onTap: () => {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => LandingPage()), FadePage(page: LandingPage()),
), ),
}, },
child: Column( child: Column(

@ -1,10 +1,10 @@
import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/order/ProductReview.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/order/ProductReview.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/image.dart' as flutterImage;
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -21,11 +21,11 @@ class productTile extends StatelessWidget {
final String img; final String img;
final String imgs; final String imgs;
final int status; final int status;
final Product product; final PharmacyProduct product;
final dynamic productID; final dynamic productID;
productTile( productTile({
{this.productName, this.productName,
this.productPrice, this.productPrice,
this.productRate, this.productRate,
this.productReviews, this.productReviews,
@ -134,11 +134,8 @@ class productTile extends StatelessWidget {
child: Column( child: Column(
children: [ children: [
IconButton( IconButton(
icon: Icon( icon: Icon(FontAwesomeIcons.trashAlt, size: 15),
FontAwesomeIcons.trashAlt, onPressed: () {
size: 15
),
onPressed: (){
deleteFromWishlistFunction(productID); deleteFromWishlistFunction(productID);
}, },
), ),
@ -146,16 +143,12 @@ class productTile extends StatelessWidget {
height: 50, height: 50,
), ),
IconButton( IconButton(
icon: Icon( icon: Icon(FontAwesomeIcons.shoppingCart, size: 15),
FontAwesomeIcons.shoppingCart, onPressed: () async {
size: 15
),
onPressed: () async{
await addToCartFunction(1, productID); await addToCartFunction(1, productID);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page: CartOrderPage()),
builder: (context) => CartOrderPage()),
); );
}, },
), ),
@ -261,10 +254,7 @@ class productTile extends StatelessWidget {
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context, FadePage(page: ProductReviewPage(product)));
MaterialPageRoute(
builder: (context) =>
ProductReviewPage(product)));
}, },
child: Container( child: Container(
padding: padding:
@ -296,17 +286,14 @@ class productTile extends StatelessWidget {
), ),
); );
} }
deleteFromWishlistFunction(itemID) async { deleteFromWishlistFunction(itemID) async {
ProductDetailViewModel x = new ProductDetailViewModel(); ProductDetailViewModel x = new ProductDetailViewModel();
await x.deletWishlistData(itemID); await x.deletWishlistData(itemID);
} }
addToCartFunction(quantity, itemID) async { addToCartFunction(quantity, itemID) async {
ProductDetailViewModel x = new ProductDetailViewModel(); ProductDetailViewModel x = new ProductDetailViewModel();
await x.addToCartData(quantity, itemID); await x.addToCartData(quantity, itemID);
} }
} }

@ -1,27 +1,18 @@
import 'dart:math';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart'; import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_tts/flutter_tts.dart'; import 'package:flutter_tts/flutter_tts.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:speech_to_text/speech_recognition_error.dart'; import 'package:speech_to_text/speech_recognition_error.dart';
import 'package:speech_to_text/speech_recognition_result.dart'; import 'package:speech_to_text/speech_recognition_result.dart';
import 'package:speech_to_text/speech_to_text.dart'; import 'package:speech_to_text/speech_to_text.dart';
import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'dart:math';
import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
class SearchBot with ChangeNotifier { class SearchBot with ChangeNotifier {
SearchBot() { SearchBot() {
@ -30,6 +21,7 @@ class SearchBot with ChangeNotifier {
} }
SearchProvider searchProvider = new SearchProvider(); SearchProvider searchProvider = new SearchProvider();
// RobotProvider eventProvider = RobotProvider(); // RobotProvider eventProvider = RobotProvider();
bool isLoading = false; bool isLoading = false;
bool isError = false; bool isError = false;
@ -190,16 +182,16 @@ class SearchBot with ChangeNotifier {
case '101': case '101':
Navigator.push( Navigator.push(
AppGlobal.context, AppGlobal.context,
MaterialPageRoute( FadePage(
builder: (context) => Search( page: Search(
type: 0, type: 0,
))); )));
break; break;
case '102': case '102':
Navigator.push( Navigator.push(
AppGlobal.context, AppGlobal.context,
MaterialPageRoute( FadePage(
builder: (context) => Search( page: Search(
type: 1, type: 1,
))); )));
break; break;

Loading…
Cancel
Save