diff --git a/lib/repositories/provider_repo.dart b/lib/repositories/provider_repo.dart index c354ace..3a6804a 100644 --- a/lib/repositories/provider_repo.dart +++ b/lib/repositories/provider_repo.dart @@ -6,8 +6,8 @@ import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/models/generic_resp_model.dart'; -import 'package:mc_common_app/models/model/provider_model.dart'; import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart'; +import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.dart'; import 'package:mc_common_app/models/services/item_model.dart'; abstract class ProviderRepo { @@ -15,7 +15,7 @@ abstract class ProviderRepo { Future getServiceItems(int serviceId); - Future getBranchAndServices(int providerId); + Future getBranchAndServices(int providerId); } class ProviderRepoImp implements ProviderRepo { @@ -34,17 +34,17 @@ class ProviderRepoImp implements ProviderRepo { var queryParameters = { "ServiceProviderServiceID": serviceId.toString(), }; - String? token = AppState().getUser.data?.accessToken; + String? token = appState.getUser.data?.accessToken; debugPrint(token); - return await injector - .get() - .getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? ""); + return await apiClient.getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? ""); } @override - Future getBranchAndServices(int providerId) async { + Future getBranchAndServices(int providerId) async { var postParams = {"serviceProviderID": providerId.toString()}; - String t = AppState().getUser.data!.accessToken ?? ""; - return await injector.get().getJsonForObject((json) => ProviderModel.fromJson(json), ApiConsts.BranchesAndServices, queryParameters: postParams, token: t); + GenericRespModel adsGenericModel = + await apiClient.getJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.BranchesAndServices, token: appState.getUser.data!.accessToken, queryParameters: postParams); + + return ProviderProfileModel.fromJson(adsGenericModel.data); } } diff --git a/lib/view_models/appointments_view_model.dart b/lib/view_models/appointments_view_model.dart index 6371923..fc4daae 100644 --- a/lib/view_models/appointments_view_model.dart +++ b/lib/view_models/appointments_view_model.dart @@ -1,7 +1,7 @@ import 'package:car_customer_app/repositories/provider_repo.dart'; import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart'; -import 'package:mc_common_app/models/model/provider_model.dart'; import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart'; +import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.dart'; import 'package:mc_common_app/models/provider_category_model.dart'; import 'package:mc_common_app/models/provider_service_model.dart'; import 'package:mc_common_app/models/services/item_model.dart'; @@ -109,7 +109,7 @@ class AppointmentsVM extends BaseVM { List providersFilterOptions = []; List nearbyBranches = []; ItemModel? serviceItems; - ProviderModel? providerModel; + ProviderProfileModel? providerProfileModel; populateProvidersFilterList() { providersFilterOptions.clear(); @@ -150,8 +150,8 @@ class AppointmentsVM extends BaseVM { } getBranchAndServices(int providerId) async { - providerModel = null; - providerModel = await providerRepo.getBranchAndServices(providerId); + providerProfileModel = null; + providerProfileModel = await providerRepo.getBranchAndServices(providerId); setState(ViewState.idle); } } diff --git a/lib/views/provider/provider_profile_page.dart b/lib/views/provider/provider_profile_page.dart index e895682..8b411ac 100644 --- a/lib/views/provider/provider_profile_page.dart +++ b/lib/views/provider/provider_profile_page.dart @@ -27,7 +27,7 @@ class _ProviderProfilePageState extends State { @override void initState() { super.initState(); - context.read().getBranchAndServices(widget.providerId ?? 0); + context.read().getBranchAndServices(widget.providerId); } @override @@ -42,9 +42,9 @@ class _ProviderProfilePageState extends State { padding: EdgeInsets.all(21), child: Consumer( builder: (context, model, _) { - return model.providerModel == null + return model.providerProfileModel == null ? const Center(child: CircularProgressIndicator()) - : model.providerModel!.data == null + : model.providerProfileModel == null ? const EmptyWidget() : SingleChildScrollView( child: Column( @@ -55,7 +55,7 @@ class _ProviderProfilePageState extends State { //TODO: company logo/banner not added form provider app yet Image.asset(MyAssets.bnCar), 12.height, - model.providerModel!.data!.companyName.toString().toText( + model.providerProfileModel!.companyName.toString().toText( fontSize: 16, isBold: true, ), @@ -77,28 +77,28 @@ class _ProviderProfilePageState extends State { allPading: 12, ), 12.height, - model.providerModel!.data!.serviceProviderBranch == null + model.providerProfileModel!.serviceProviderBranch == null ? const Center(child: Text("No Branch Found")) - : model.providerModel!.data!.serviceProviderBranch!.isEmpty + : model.providerProfileModel!.serviceProviderBranch!.isEmpty ? Center(child: Text(LocaleKeys.no_branch.tr())) : ListView.separated( itemBuilder: (context, index) { return ProviderDetailsCard( onCardTapped: () { - navigateWithName(context, AppRoutes.branchDetailPage, arguments: model.providerModel!.data!.serviceProviderBranch![index]); + navigateWithName(context, AppRoutes.branchDetailPage, arguments: model.providerProfileModel!.serviceProviderBranch![index]); }, providerImageUrl: MyAssets.bnCar, - title: model.providerModel!.data!.serviceProviderBranch![index].branchName ?? "", - providerLocation: model.providerModel!.data!.serviceProviderBranch![index].distanceKm.toString() + " KM", - providerName: model.providerModel!.data!.serviceProviderBranch![index].serviceProviderName ?? "", + title: model.providerProfileModel!.serviceProviderBranch![index].branchName ?? "", + providerLocation: model.providerProfileModel!.serviceProviderBranch![index].distanceKm.toString() + " KM", + providerName: model.providerProfileModel!.serviceProviderBranch![index].serviceProviderName ?? "", providerRatings: "4.9", - items: model.providerModel!.data!.serviceProviderBranch![index].branchServices, + items: model.providerProfileModel!.serviceProviderBranch![index].branchServices, ); }, separatorBuilder: (context, index) { return 12.height; }, - itemCount: model.providerModel!.data!.serviceProviderBranch!.length, + itemCount: model.providerProfileModel!.serviceProviderBranch!.length, physics: NeverScrollableScrollPhysics(), shrinkWrap: true, )