Merge branch 'pharmacy-Fatima' into 'development'

Pharmacy fatima

See merge request Cloud_Solution/diplomatic-quarter!298
merge-update-with-lab-changes
Mohammad Aljammal 5 years ago
commit 0a4f17dc88

@ -509,6 +509,8 @@ const LAKUM_GET_USER_TERMS_AND_CONDITIONS =
"Services/ERP.svc/REST/GetUserTermsAndConditionsForEPharmcy"; "Services/ERP.svc/REST/GetUserTermsAndConditionsForEPharmcy";
const PRESCRIPTION = 'Services/Patients.svc/REST/GetPrescriptionApptList'; const PRESCRIPTION = 'Services/Patients.svc/REST/GetPrescriptionApptList';
const GET_RECOMMENDED_PRODUCT = 'alsoProduct/'; const GET_RECOMMENDED_PRODUCT = 'alsoProduct/';
const GET_MOST_VIEWED_PRODUCTS ="mostview?";
const GET_NEW_PRODUCTS = "newproducts?";
// Home Health Care // Home Health Care
const HHC_GET_ALL_SERVICES = const HHC_GET_ALL_SERVICES =

@ -316,4 +316,50 @@ class PharmacyCategoriseService extends BaseService {
}, },
); );
} }
Future getMostViewedProducts() async {
Map<String, String> queryParams = {
'fields':
'id,discount_ids,name,reviews,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage',
};
try {
await baseAppClient.getPharmacy(GET_MOST_VIEWED_PRODUCTS,
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear();
response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item));
});
print("most viewed products ---------");
print(response);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, queryParams: queryParams);
} catch (error) {
throw error;
}
}
Future getNewProducts() async {
Map<String, String> queryParams = {
'fields':
'Id,name,namen,localized_names,price,images,sku,stock_availability,published',
};
try {
await baseAppClient.getPharmacy(GET_NEW_PRODUCTS,
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear();
response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item));
});
print("new products ---------");
print(response);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, queryParams: queryParams);
} catch (error) {
throw error;
}
}
} }

@ -203,4 +203,26 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
setState(ViewState.Idle); setState(ViewState.Idle);
} }
} }
Future getMostViewedProducts() async {
setState(ViewState.Busy);
await _pharmacyCategoriseService.getMostViewedProducts();
if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
Future getNewProducts() async {
setState(ViewState.Busy);
await _pharmacyCategoriseService.getNewProducts();
if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
} }

@ -41,6 +41,10 @@ class _FinalProductsPageState extends State<FinalProductsPage> {
model.getManufacturerProducts(id); model.getManufacturerProducts(id);
} else if (widget.productType == 3) { } else if (widget.productType == 3) {
model.getLastVisitedProducts(); model.getLastVisitedProducts();
} else if (widget.productType == 4){
model.getMostViewedProducts();
} else if (widget.productType == 5){
model.getNewProducts();
} else { } else {
model.getBestSellerProducts(); model.getBestSellerProducts();
} }

@ -37,7 +37,8 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
baseViewModel: model, baseViewModel: model,
body: Column( body: Column(
children: [ children: [
Container( Expanded(
child: Container(
height: 400, height: 400,
margin: EdgeInsets.only(bottom: 22), margin: EdgeInsets.only(bottom: 22),
child: GridView.builder( child: GridView.builder(
@ -87,6 +88,7 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
}, },
), ),
), ),
),
Container( Container(
height: 140, height: 140,
child: Column( child: Column(
@ -110,7 +112,7 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
FadePage( FadePage(
page: FinalProductsPage( page: FinalProductsPage(
id: "", id: "",
productType: 4, productType: 6,
), ),
), ),
); );
@ -140,6 +142,18 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
Expanded( Expanded(
child: Padding( child: Padding(
padding: EdgeInsets.all(4.0), padding: EdgeInsets.all(4.0),
child: InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: FinalProductsPage(
id: "",
productType: 4,
),
),
);
},
child: Container( child: Container(
height: 50.0, height: 50.0,
width: 55.0, width: 55.0,
@ -149,7 +163,8 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
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 projectViewModel.isArabic
? 'الاكثر مشاهدة' ? 'الاكثر مشاهدة'
@ -160,6 +175,7 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
), ),
), ),
), ),
),
], ],
), ),
Row( Row(
@ -167,6 +183,18 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
Expanded( Expanded(
child: Padding( child: Padding(
padding: EdgeInsets.all(4.0), padding: EdgeInsets.all(4.0),
child: InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: FinalProductsPage(
id: "",
productType: 5,
),
),
);
},
child: Container( child: Container(
height: 50.0, height: 50.0,
width: 55.0, width: 55.0,
@ -175,7 +203,8 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
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 projectViewModel.isArabic
? 'منتجات جديدة' ? 'منتجات جديدة'
@ -186,6 +215,7 @@ class _PharmacyCategorisePageState extends State<PharmacyCategorisePage> {
), ),
), ),
), ),
),
Expanded( Expanded(
child: Padding( child: Padding(
padding: EdgeInsets.all(4.0), padding: EdgeInsets.all(4.0),

Loading…
Cancel
Save