Merge branch 'development' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into fatima-new

# Conflicts:
#	lib/pages/parent_categorise_page.dart
#	lib/pages/sub_categorise_page.dart
merge-update-with-lab-changes
Fatimah Alshammari 4 years ago
commit 7ebeb8cb4b

@ -95,9 +95,8 @@ class PharmacyCategoriseService extends BaseService {
Future searchProducts({String productName}) async { Future searchProducts({String productName}) async {
hasError = false; hasError = false;
_searchList.clear(); _searchList.clear();
String endPoint = productName != null String endPoint =
? GET_SEARCH_PRODUCTS + "$productName" + '&language_id=1' productName != null ? GET_SEARCH_PRODUCTS + "$productName" + '&language_id=1' : GET_SEARCH_PRODUCTS + "";
: GET_SEARCH_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -132,8 +131,7 @@ class PharmacyCategoriseService extends BaseService {
Future getCategoriseParent({String id}) async { Future getCategoriseParent({String id}) async {
hasError = false; hasError = false;
_parentCategoriseList.clear(); _parentCategoriseList.clear();
String endPoint = String endPoint = id != null ? GET_CATEGORISE_PARENT + "$id" : GET_CATEGORISE_PARENT + "";
id != null ? GET_CATEGORISE_PARENT + "$id" : GET_CATEGORISE_PARENT + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -151,9 +149,7 @@ class PharmacyCategoriseService extends BaseService {
Future getParentProducts({String id}) async { Future getParentProducts({String id}) async {
hasError = false; hasError = false;
_parentProductsList.clear(); _parentProductsList.clear();
String endPoint = id != null String endPoint = id != null ? GET_PARENT_PRODUCTS + "$id" + '&page=1&limit=50' : GET_PARENT_PRODUCTS + "";
? GET_PARENT_PRODUCTS + "$id" + '&page=1&limit=50'
: GET_PARENT_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -172,8 +168,7 @@ class PharmacyCategoriseService extends BaseService {
hasError = false; hasError = false;
_subCategoriseList.clear(); _subCategoriseList.clear();
String endPoint = String endPoint = id != null ? GET_SUB_CATEGORISE + "$id" : GET_SUB_CATEGORISE + "";
id != null ? GET_SUB_CATEGORISE + "$id" : GET_SUB_CATEGORISE + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -191,9 +186,7 @@ class PharmacyCategoriseService extends BaseService {
Future getSubProducts({String id}) async { Future getSubProducts({String id}) async {
hasError = false; hasError = false;
_subProductsList.clear(); _subProductsList.clear();
String endPoint = id != null String endPoint = id != null ? GET_SUB_PRODUCTS + "$id" + '&page=1&limit=50' : GET_SUB_PRODUCTS + "";
? GET_SUB_PRODUCTS + "$id" + '&page=1&limit=50'
: GET_SUB_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -211,8 +204,7 @@ class PharmacyCategoriseService extends BaseService {
Future getFinalProducts({String id}) async { Future getFinalProducts({String id}) async {
hasError = false; hasError = false;
_finalProducts.clear(); _finalProducts.clear();
String endPoint = String endPoint = id != null ? GET_FINAL_PRODUCTS + "$id" : GET_FINAL_PRODUCTS + "";
id != null ? GET_FINAL_PRODUCTS + "$id" : GET_FINAL_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -249,14 +241,11 @@ class PharmacyCategoriseService extends BaseService {
Future getLastVisitedProducts() async { Future getLastVisitedProducts() async {
String lastVisited = ""; String lastVisited = "";
if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != null) {
null) { lastVisited = await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
lastVisited =
await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
try { try {
await baseAppClient await baseAppClient.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited",
.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited", onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item)); _finalProducts.add(PharmacyProduct.fromJson(item));
@ -277,8 +266,7 @@ class PharmacyCategoriseService extends BaseService {
'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews', 'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews',
}; };
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT, await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item)); _finalProducts.add(PharmacyProduct.fromJson(item));
@ -292,8 +280,7 @@ class PharmacyCategoriseService extends BaseService {
} }
} }
Future getFilteredProducts( Future getFilteredProducts({String categoryId, String brandId, String min, String max}) async {
{String categoryId, String brandId, String min, String max}) async {
hasError = false; hasError = false;
String endPoint; String endPoint;
@ -317,24 +304,47 @@ class PharmacyCategoriseService extends BaseService {
); );
} }
Future getFilteredSubProducts({String categoryId, String brandId, String min, String max}) async {
hasError = false;
String endPoint;
_subProductsList.clear();
endPoint = FILTERED_PRODUCTS +
"$categoryId" +
"&manufacturerids=$brandId" +
"&price_min=$min" +
"&price_max=$max&page=1&limit=50";
await baseAppClient.getPharmacy(
endPoint,
onSuccess: (dynamic response, int statusCode) {
response['products'].forEach((item) {
_subProductsList.add(PharmacyProduct.fromJson(item));
});
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
);
}
Future getMostViewedProducts() async { Future getMostViewedProducts() async {
Map<String, String> queryParams = { Map<String, String> queryParams = {
'fields': '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', '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 { try {
await baseAppClient.getPharmacy(GET_MOST_VIEWED_PRODUCTS, await baseAppClient.getPharmacy(GET_MOST_VIEWED_PRODUCTS, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) { _finalProducts.clear();
_finalProducts.clear(); response['products'].forEach((item) {
response['products'].forEach((item) { _finalProducts.add(PharmacyProduct.fromJson(item));
_finalProducts.add(PharmacyProduct.fromJson(item)); });
}); print("most viewed products ---------");
print("most viewed products ---------"); print(response);
print(response); }, onFailure: (String error, int statusCode) {
}, onFailure: (String error, int statusCode) { hasError = true;
hasError = true; super.error = error;
super.error = error; }, queryParams: queryParams);
}, queryParams: queryParams);
} catch (error) { } catch (error) {
throw error; throw error;
} }
@ -342,22 +352,20 @@ class PharmacyCategoriseService extends BaseService {
Future getNewProducts() async { Future getNewProducts() async {
Map<String, String> queryParams = { Map<String, String> queryParams = {
'fields': 'fields': 'Id,name,namen,localized_names,price,images,sku,stock_availability,published',
'Id,name,namen,localized_names,price,images,sku,stock_availability,published',
}; };
try { try {
await baseAppClient.getPharmacy(GET_NEW_PRODUCTS, await baseAppClient.getPharmacy(GET_NEW_PRODUCTS, onSuccess: (dynamic response, int statusCode) {
onSuccess: (dynamic response, int statusCode) { _finalProducts.clear();
_finalProducts.clear(); response['products'].forEach((item) {
response['products'].forEach((item) { _finalProducts.add(PharmacyProduct.fromJson(item));
_finalProducts.add(PharmacyProduct.fromJson(item)); });
}); print("new products ---------");
print("new products ---------"); print(response);
print(response); }, onFailure: (String error, int statusCode) {
}, onFailure: (String error, int statusCode) { hasError = true;
hasError = true; super.error = error;
super.error = error; }, queryParams: queryParams);
}, queryParams: queryParams);
} catch (error) { } catch (error) {
throw error; throw error;
} }

@ -17,28 +17,20 @@ import 'base_view_model.dart';
class PharmacyCategoriseViewModel extends BaseViewModel { class PharmacyCategoriseViewModel extends BaseViewModel {
bool hasError = false; bool hasError = false;
PharmacyCategoriseService _pharmacyCategoriseService = PharmacyCategoriseService _pharmacyCategoriseService = locator<PharmacyCategoriseService>();
locator<PharmacyCategoriseService>();
List<PharmacyCategorise> get categorise => List<PharmacyCategorise> get categorise => _pharmacyCategoriseService.categoriseList;
_pharmacyCategoriseService.categoriseList;
List<CategoriseParentModel> get categoriseParent => List<CategoriseParentModel> get categoriseParent => _pharmacyCategoriseService.parentCategoriseList;
_pharmacyCategoriseService.parentCategoriseList;
List<PharmacyProduct> get parentProducts => List<PharmacyProduct> get parentProducts => _pharmacyCategoriseService.parentProductsList;
_pharmacyCategoriseService.parentProductsList;
List<CategoriseParentModel> get subCategorise => List<CategoriseParentModel> get subCategorise => _pharmacyCategoriseService.subCategoriseList;
_pharmacyCategoriseService.subCategoriseList;
List<PharmacyProduct> get subProducts => List<PharmacyProduct> get subProducts => _pharmacyCategoriseService.subProductsList;
_pharmacyCategoriseService.subProductsList;
List<PharmacyProduct> get finalProducts => List<PharmacyProduct> get finalProducts => _pharmacyCategoriseService.finalProducts;
_pharmacyCategoriseService.finalProducts; List<CategoriseParentModel> get brandsList => _pharmacyCategoriseService.brandsList;
List<CategoriseParentModel> get brandsList =>
_pharmacyCategoriseService.brandsList;
List<PharmacyProduct> get searchList => _pharmacyCategoriseService.searchList; List<PharmacyProduct> get searchList => _pharmacyCategoriseService.searchList;
@ -157,12 +149,23 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
setState(ViewState.Idle); setState(ViewState.Idle);
} }
Future getFilteredProducts( Future getFilteredProducts({String categoryId, String brandId, String min, String max}) async {
{String categoryId, String brandId, String min, String max}) async {
hasError = false; hasError = false;
// _insuranceCardService.clearInsuranceCard(); // _insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy); setState(ViewState.Busy);
await _pharmacyCategoriseService.getFilteredProducts( await _pharmacyCategoriseService.getFilteredProducts(categoryId: categoryId, brandId: brandId, max: max, min: min);
if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
Future getFilteredSubProducts({String categoryId, String brandId, String min, String max}) async {
hasError = false;
// _insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _pharmacyCategoriseService.getFilteredSubProducts(
categoryId: categoryId, brandId: brandId, max: max, min: min); categoryId: categoryId, brandId: brandId, max: max, min: min);
if (_pharmacyCategoriseService.hasError) { if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error; error = _pharmacyCategoriseService.error;

@ -5,6 +5,7 @@ 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/pages/sub_categorise_page.dart'; import 'package:diplomaticquarterapp/pages/sub_categorise_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.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/StarRating.dart'; import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
@ -109,7 +110,9 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: InkWell( child: InkWell(
child: Container( child: Container(
child: Texts(TranslationBase.of(context).viewCategorise, child: Texts(
TranslationBase.of(context)
.viewCategorise,
// 'View All Categories', // 'View All Categories',
fontWeight: FontWeight.w300, fontWeight: FontWeight.w300,
), ),
@ -144,8 +147,16 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
CrossAxisAlignment CrossAxisAlignment
.start, .start,
children: [ children: [
Texts( projectViewModel.isArabic ? model.categoriseParent[index].namen Texts(projectViewModel
:model.categoriseParent[index].name), .isArabic
? model
.categoriseParent[
index]
.namen
: model
.categoriseParent[
index]
.name),
Divider( Divider(
thickness: 0.6, thickness: 0.6,
color: Colors color: Colors
@ -545,7 +556,8 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
Container( Container(
width: 200, width: 200,
child: Button( child: Button(
onTap: () { onTap:
() async {
String String
categoriesId = categoriesId =
""; "";
@ -577,7 +589,11 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
} }
} }
model.getFilteredProducts( GifLoaderDialogUtils
.showMyDialog(
context);
await model.getFilteredProducts(
min: minField min: minField
.text .text
.toString(), .toString(),
@ -588,6 +604,12 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
categoriesId, categoriesId,
brandId: brandId:
brandIds); brandIds);
GifLoaderDialogUtils
.hideDialog(
context);
Navigator.pop(
context);
}, },
label: 'Apply', label: 'Apply',
backgroundColor: backgroundColor:
@ -723,7 +745,10 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
children: [ children: [
Stack( Stack(
children: [ children: [
if (model.parentProducts[index].discountName != if (model
.parentProducts[
index]
.discountName !=
null) null)
RotatedBox( RotatedBox(
quarterTurns: 4, quarterTurns: 4,
@ -843,7 +868,10 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
), ),
child: Center( child: Center(
child: Texts( child: Texts(
model.parentProducts[index].discountName, model
.parentProducts[
index]
.discountName,
regular: true, regular: true,
color: color:
Colors.white, Colors.white,
@ -851,9 +879,17 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
), ),
), ),
), ),
Texts( projectViewModel.isArabic ? Texts(
model.parentProducts[index].namen projectViewModel
: model.parentProducts[index].name, .isArabic
? model
.parentProducts[
index]
.namen
: model
.parentProducts[
index]
.name,
regular: true, regular: true,
fontSize: 12, fontSize: 12,
fontWeight: fontWeight:
@ -1038,8 +1074,15 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
.width * .width *
0.65, 0.65,
child: Texts( child: Texts(
projectViewModel.isArabic ? model.parentProducts[index].namen projectViewModel.isArabic
: model.parentProducts[index].name , ? model
.parentProducts[
index]
.namen
: model
.parentProducts[
index]
.name,
regular: true, regular: true,
fontSize: 13.2, fontSize: 13.2,
fontWeight: fontWeight:

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/model/pharmacy/categorise_parent_model
import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/product_detail.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.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/StarRating.dart'; import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
@ -104,7 +105,8 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
Padding( Padding(
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Container( child: Container(
child: Texts(TranslationBase.of(context).viewCategorise), child: Texts(TranslationBase.of(context)
.viewCategorise),
), ),
), ),
Icon(Icons.arrow_forward) Icon(Icons.arrow_forward)
@ -267,7 +269,8 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
SizedBox( SizedBox(
width: 10.0, width: 10.0,
), ),
Texts(TranslationBase.of(context).refine, Texts(
TranslationBase.of(context).refine,
// 'Refine', // 'Refine',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
@ -305,7 +308,10 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
SizedBox( SizedBox(
width: 10.0, width: 10.0,
), ),
Texts(TranslationBase.of(context).refine, Texts(
TranslationBase.of(
context)
.refine,
// 'Refine', // 'Refine',
fontWeight: fontWeight:
FontWeight.w600, FontWeight.w600,
@ -314,7 +320,10 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
width: 250.0, width: 250.0,
), ),
InkWell( InkWell(
child: Texts(TranslationBase.of(context).closeIt, child: Texts(
TranslationBase.of(
context)
.closeIt,
// 'Close', // 'Close',
color: Colors.red, color: Colors.red,
fontWeight: fontWeight:
@ -336,8 +345,10 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
Column( Column(
children: [ children: [
ExpansionTile( ExpansionTile(
title: title: Texts(
Texts(TranslationBase.of(context).categorise), TranslationBase.of(
context)
.categorise),
children: [ children: [
ProcedureListWidget( ProcedureListWidget(
model: model, model: model,
@ -375,7 +386,10 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
color: Colors.black12, color: Colors.black12,
), ),
ExpansionTile( ExpansionTile(
title: Texts(TranslationBase.of(context).brands), title: Texts(
TranslationBase.of(
context)
.brands),
children: [ children: [
ProcedureListWidget( ProcedureListWidget(
model: model, model: model,
@ -414,7 +428,10 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
color: Colors.black12, color: Colors.black12,
), ),
ExpansionTile( ExpansionTile(
title: Texts(TranslationBase.of(context).price), title: Texts(
TranslationBase.of(
context)
.price),
children: [ children: [
Container( Container(
color: Color( color: Color(
@ -506,10 +523,13 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
child: Container( child: Container(
width: 100, width: 100,
child: Button( child: Button(
label: TranslationBase.of(context).reset, label: TranslationBase.of(
context)
.reset,
// 'Reset', // 'Reset',
backgroundColor: backgroundColor:
Colors.red, Colors
.red,
), ),
), ),
), ),
@ -519,7 +539,8 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
Container( Container(
width: 200, width: 200,
child: Button( child: Button(
onTap: () { onTap:
() async {
String String
categoriesId = categoriesId =
""; "";
@ -550,8 +571,11 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
"$brandIds,${brand.id}"; "$brandIds,${brand.id}";
} }
} }
GifLoaderDialogUtils
.showMyDialog(
context);
model.getFilteredProducts( await model.getFilteredSubProducts(
min: minField min: minField
.text .text
.toString(), .toString(),
@ -562,8 +586,15 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
categoriesId, categoriesId,
brandId: brandId:
brandIds); brandIds);
GifLoaderDialogUtils
.hideDialog(
context);
Navigator.pop(
context);
}, },
label: TranslationBase.of(context).apply, label: TranslationBase.of(
context)
.apply,
// 'Apply', // 'Apply',
backgroundColor: backgroundColor:
Colors Colors
@ -993,7 +1024,7 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
.approvedRatingSum .approvedRatingSum
.toDouble() / .toDouble() /
model model
.parentProducts[ .subProducts[
index] index]
.approvedRatingSum .approvedRatingSum
.toDouble()) .toDouble())

Loading…
Cancel
Save