import 'package:mc_common_app/models/services/near_branch_model.dart'; import 'package:car_customer_app/repositories/provider_repo.dart'; import 'package:flutter/cupertino.dart'; import 'package:mc_common_app/models/model/branch2.dart'; import 'package:mc_common_app/models/widgets_models.dart'; import 'package:mc_common_app/repositories/common_repo.dart'; import 'package:mc_common_app/services/common_services.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/view_models/base_view_model.dart'; class ProvidersVM extends BaseVM { final CommonRepo commonRepo; final CommonAppServices commonServices; final ProviderRepo providerRepo; ProvidersVM({required this.commonServices, required this.commonRepo, required this.providerRepo}); List providersFilterOptions = []; NearBrancheModel? branches; populateProvidersFilterList() { providersFilterOptions.clear(); providersFilterOptions = [ FilterListModel(title: "All Providers", isSelected: true, id: -1), FilterListModel(title: "Maintenance", isSelected: false, id: 0), FilterListModel(title: "Oil Service", isSelected: false, id: 1), FilterListModel(title: "Accessories", isSelected: false, id: 2), FilterListModel(title: "Tire Service", isSelected: false, id: 3), FilterListModel(title: "Dent and Paint", isSelected: false, id: 4), ]; notifyListeners(); } applyFilterOnProviders({required int index}) { if (providersFilterOptions.isEmpty) return; for (var value in providersFilterOptions) { value.isSelected = false; } providersFilterOptions[index].isSelected = true; notifyListeners(); } //Create new branch getAllNearBranches({bool isNeedToRebuild = false}) async { //TODO: needs to lat,long into API branches = null; if (isNeedToRebuild) setState(ViewState.busy); branches = await providerRepo.getAllNearBranchAndServices(); setState(ViewState.idle); } }