|
|
|
@ -10,20 +10,36 @@ import 'base_view_model.dart';
|
|
|
|
|
|
|
|
|
|
class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
bool hasError = false;
|
|
|
|
|
PharmacyCategoriseService _pharmacyCategoriseService = locator<PharmacyCategoriseService>();
|
|
|
|
|
|
|
|
|
|
List<PharmacyCategorise> get categorise => _pharmacyCategoriseService.categoriseList;
|
|
|
|
|
int firstSubsetIndex = 0;
|
|
|
|
|
int inPatientPageSize = 20;
|
|
|
|
|
int lastSubsetIndex = 20;
|
|
|
|
|
|
|
|
|
|
List<CategoriseParentModel> get categoriseParent => _pharmacyCategoriseService.parentCategoriseList;
|
|
|
|
|
List<PharmacyProduct> filteredInPatientItems = List();
|
|
|
|
|
List<PharmacyProduct> filteredMyInPatientItems = List();
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get parentProducts => _pharmacyCategoriseService.parentProductsList;
|
|
|
|
|
PharmacyCategoriseService _pharmacyCategoriseService =
|
|
|
|
|
locator<PharmacyCategoriseService>();
|
|
|
|
|
|
|
|
|
|
List<CategoriseParentModel> get subCategorise => _pharmacyCategoriseService.subCategoriseList;
|
|
|
|
|
List<PharmacyCategorise> get categorise =>
|
|
|
|
|
_pharmacyCategoriseService.categoriseList;
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get subProducts => _pharmacyCategoriseService.subProductsList;
|
|
|
|
|
List<CategoriseParentModel> get categoriseParent =>
|
|
|
|
|
_pharmacyCategoriseService.parentCategoriseList;
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get finalProducts => _pharmacyCategoriseService.finalProducts;
|
|
|
|
|
List<CategoriseParentModel> get brandsList => _pharmacyCategoriseService.brandsList;
|
|
|
|
|
List<PharmacyProduct> get parentProducts =>
|
|
|
|
|
_pharmacyCategoriseService.parentProductsList;
|
|
|
|
|
|
|
|
|
|
List<CategoriseParentModel> get subCategorise =>
|
|
|
|
|
_pharmacyCategoriseService.subCategoriseList;
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get subProducts =>
|
|
|
|
|
_pharmacyCategoriseService.subProductsList;
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get finalProducts =>
|
|
|
|
|
_pharmacyCategoriseService.finalProducts;
|
|
|
|
|
List<CategoriseParentModel> get brandsList =>
|
|
|
|
|
_pharmacyCategoriseService.brandsList;
|
|
|
|
|
|
|
|
|
|
List<PharmacyProduct> get searchList => _pharmacyCategoriseService.searchList;
|
|
|
|
|
|
|
|
|
@ -81,7 +97,7 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future getCategoriseParent({String i}) async {
|
|
|
|
|
Future getCategoriseParent({String i, int pageIndex, bool isLoading}) async {
|
|
|
|
|
hasError = false;
|
|
|
|
|
// _insuranceCardService.clearInsuranceCard();
|
|
|
|
|
setState(ViewState.Busy);
|
|
|
|
@ -90,15 +106,16 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
error = _pharmacyCategoriseService.error;
|
|
|
|
|
setState(ViewState.ErrorLocal);
|
|
|
|
|
} else
|
|
|
|
|
await getParentProducts(i: i);
|
|
|
|
|
await getBrands(id: i);
|
|
|
|
|
await getBrands(id: i);
|
|
|
|
|
await getParentProducts(i: i, pageIndex: pageIndex, isLoading: isLoading);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future getParentProducts({String i}) async {
|
|
|
|
|
Future getParentProducts({String i, int pageIndex, bool isLoading}) async {
|
|
|
|
|
hasError = false;
|
|
|
|
|
// _insuranceCardService.clearInsuranceCard();
|
|
|
|
|
setState(ViewState.Busy);
|
|
|
|
|
await _pharmacyCategoriseService.getParentProducts(id: i);
|
|
|
|
|
setState(ViewState.BusyLocal);
|
|
|
|
|
await _pharmacyCategoriseService.getParentProducts(
|
|
|
|
|
id: i, pageNumber: pageIndex, isLoading: isLoading);
|
|
|
|
|
if (_pharmacyCategoriseService.hasError) {
|
|
|
|
|
error = _pharmacyCategoriseService.error;
|
|
|
|
|
setState(ViewState.ErrorLocal);
|
|
|
|
@ -142,11 +159,13 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future getFilteredProducts({String categoryId, String brandId, String min, String max}) async {
|
|
|
|
|
Future getFilteredProducts(
|
|
|
|
|
{String categoryId, String brandId, String min, String max}) async {
|
|
|
|
|
hasError = false;
|
|
|
|
|
// _insuranceCardService.clearInsuranceCard();
|
|
|
|
|
setState(ViewState.Busy);
|
|
|
|
|
await _pharmacyCategoriseService.getFilteredProducts(categoryId: categoryId, brandId: brandId, max: max, min: min);
|
|
|
|
|
await _pharmacyCategoriseService.getFilteredProducts(
|
|
|
|
|
categoryId: categoryId, brandId: brandId, max: max, min: min);
|
|
|
|
|
if (_pharmacyCategoriseService.hasError) {
|
|
|
|
|
error = _pharmacyCategoriseService.error;
|
|
|
|
|
setState(ViewState.ErrorLocal);
|
|
|
|
@ -154,7 +173,8 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future getFilteredSubProducts({String categoryId, String brandId, String min, String max}) async {
|
|
|
|
|
Future getFilteredSubProducts(
|
|
|
|
|
{String categoryId, String brandId, String min, String max}) async {
|
|
|
|
|
hasError = false;
|
|
|
|
|
// _insuranceCardService.clearInsuranceCard();
|
|
|
|
|
setState(ViewState.Busy);
|
|
|
|
@ -221,4 +241,27 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addOnFilteredList() {
|
|
|
|
|
if (lastSubsetIndex < parentProducts.length) {
|
|
|
|
|
firstSubsetIndex = firstSubsetIndex +
|
|
|
|
|
(parentProducts.length - lastSubsetIndex < inPatientPageSize - 1
|
|
|
|
|
? parentProducts.length - lastSubsetIndex
|
|
|
|
|
: inPatientPageSize - 1);
|
|
|
|
|
lastSubsetIndex = lastSubsetIndex +
|
|
|
|
|
(parentProducts.length - lastSubsetIndex < inPatientPageSize - 1
|
|
|
|
|
? parentProducts.length - lastSubsetIndex
|
|
|
|
|
: inPatientPageSize - 1);
|
|
|
|
|
filteredInPatientItems
|
|
|
|
|
.addAll(parentProducts.sublist(firstSubsetIndex, lastSubsetIndex));
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
removeOnFilteredList() {
|
|
|
|
|
if (lastSubsetIndex - inPatientPageSize - 1 > 0) {
|
|
|
|
|
filteredInPatientItems.removeAt(lastSubsetIndex - inPatientPageSize - 1);
|
|
|
|
|
setState(ViewState.Idle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|