Advertisement
X1ucifer

Untitled

Jan 27th, 2023
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.60 KB | None | 0 0
  1. if(selectedProductFilters.isNotEmpty){
  2.       List<CategoryProductData> filteredProducts = [];
  3.       for (var selectedFilter in selectedProductFilters) {
  4.         reagents.where((v) => v.ordering == 2).toList().forEach((allproduct) {
  5.           allproduct.linkedProducts?.forEach((element) {
  6.             if(element.title == selectedFilter){
  7.               filteredProducts.add(allproduct);
  8.             }
  9.           });
  10.         });
  11.         if(selectedBrandFilters.isNotEmpty){
  12.           List<CategoryProductData> brandFilteredData = [];
  13.           for (var brand in selectedBrandFilters) {
  14.             if(selectedParameterFilters.isNotEmpty) {
  15.               filteredProducts.where((v) => v.ordering == 2).toList().forEach((element) {
  16.                 if (element.brand == brand &&
  17.                     (selectedParameterFilters.contains(element.tags))) {
  18.                   brandFilteredData.add(element);
  19.                 }
  20.               });
  21.             }
  22.             else{
  23.               filteredProducts.where((v) => v.ordering == 2).toList().forEach((element) {
  24.                 if (element.brand == brand) {
  25.                   brandFilteredData.add(element);
  26.                 }
  27.               });
  28.             }
  29.           }
  30.           filteredData.value = brandFilteredData;
  31.         }
  32.         else if(selectedParameterFilters.isNotEmpty){
  33.           filteredProducts.where((v) => v.ordering == 2).toList().forEach((element) {
  34.             if (selectedParameterFilters.contains(element.tags)) {
  35.               filteredData.add(element);
  36.             }
  37.           });
  38.         } else{
  39.           filteredData.value = filteredProducts;
  40.         }
  41.       }
  42.     }
  43.     //no product filters selected
  44.     else if(selectedBrandFilters.isNotEmpty){
  45.       for (var brand in selectedBrandFilters) {
  46.         if(selectedParameterFilters.isNotEmpty) {
  47.           reagents.where((v) => v.ordering == 2).toList().forEach((element) {
  48.             if (element.brand == brand &&
  49.                 (selectedParameterFilters.contains(element.tags))) {
  50.               filteredData.add(element);
  51.             }
  52.           });
  53.         }
  54.         else{
  55.           reagents.where((v) => v.ordering == 2).toList().forEach((element) {
  56.             if (element.brand == brand) {
  57.               filteredData.add(element);
  58.             }
  59.           });
  60.         }
  61.       }
  62.     }
  63.     //only parameter filter
  64.     else if(selectedParameterFilters.isNotEmpty){
  65.       reagents.where((v) => v.ordering == 2).toList().forEach((element) {
  66.         if (selectedParameterFilters.contains(element.tags)) {
  67.           filteredData.add(element);
  68.         }
  69.       });
  70.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement