You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
Dart
52 lines
1.9 KiB
Dart
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<FilterListModel> 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);
|
|
}
|
|
}
|