Merged the code

pull/3/head
FaizHashmiCS22 3 years ago
parent ab723b4b97
commit f0130d189a

@ -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/classes/consts.dart';
import 'package:mc_common_app/config/dependencies.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/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/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'; import 'package:mc_common_app/models/services/item_model.dart';
abstract class ProviderRepo { abstract class ProviderRepo {
@ -15,7 +15,7 @@ abstract class ProviderRepo {
Future<ItemModel> getServiceItems(int serviceId); Future<ItemModel> getServiceItems(int serviceId);
Future<ProviderModel> getBranchAndServices(int providerId); Future<ProviderProfileModel> getBranchAndServices(int providerId);
} }
class ProviderRepoImp implements ProviderRepo { class ProviderRepoImp implements ProviderRepo {
@ -34,17 +34,17 @@ class ProviderRepoImp implements ProviderRepo {
var queryParameters = { var queryParameters = {
"ServiceProviderServiceID": serviceId.toString(), "ServiceProviderServiceID": serviceId.toString(),
}; };
String? token = AppState().getUser.data?.accessToken; String? token = appState.getUser.data?.accessToken;
debugPrint(token); debugPrint(token);
return await injector return await apiClient.getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? "");
.get<ApiClient>()
.getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? "");
} }
@override @override
Future<ProviderModel> getBranchAndServices(int providerId) async { Future<ProviderProfileModel> getBranchAndServices(int providerId) async {
var postParams = {"serviceProviderID": providerId.toString()}; var postParams = {"serviceProviderID": providerId.toString()};
String t = AppState().getUser.data!.accessToken ?? ""; GenericRespModel adsGenericModel =
return await injector.get<ApiClient>().getJsonForObject((json) => ProviderModel.fromJson(json), ApiConsts.BranchesAndServices, queryParameters: postParams, token: t); await apiClient.getJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.BranchesAndServices, token: appState.getUser.data!.accessToken, queryParameters: postParams);
return ProviderProfileModel.fromJson(adsGenericModel.data);
} }
} }

@ -1,7 +1,7 @@
import 'package:car_customer_app/repositories/provider_repo.dart'; 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/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/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_category_model.dart';
import 'package:mc_common_app/models/provider_service_model.dart'; import 'package:mc_common_app/models/provider_service_model.dart';
import 'package:mc_common_app/models/services/item_model.dart'; import 'package:mc_common_app/models/services/item_model.dart';
@ -109,7 +109,7 @@ class AppointmentsVM extends BaseVM {
List<FilterListModel> providersFilterOptions = []; List<FilterListModel> providersFilterOptions = [];
List<BranchDetailModel> nearbyBranches = []; List<BranchDetailModel> nearbyBranches = [];
ItemModel? serviceItems; ItemModel? serviceItems;
ProviderModel? providerModel; ProviderProfileModel? providerProfileModel;
populateProvidersFilterList() { populateProvidersFilterList() {
providersFilterOptions.clear(); providersFilterOptions.clear();
@ -150,8 +150,8 @@ class AppointmentsVM extends BaseVM {
} }
getBranchAndServices(int providerId) async { getBranchAndServices(int providerId) async {
providerModel = null; providerProfileModel = null;
providerModel = await providerRepo.getBranchAndServices(providerId); providerProfileModel = await providerRepo.getBranchAndServices(providerId);
setState(ViewState.idle); setState(ViewState.idle);
} }
} }

@ -27,7 +27,7 @@ class _ProviderProfilePageState extends State<ProviderProfilePage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
context.read<AppointmentsVM>().getBranchAndServices(widget.providerId ?? 0); context.read<AppointmentsVM>().getBranchAndServices(widget.providerId);
} }
@override @override
@ -42,9 +42,9 @@ class _ProviderProfilePageState extends State<ProviderProfilePage> {
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
child: Consumer<AppointmentsVM>( child: Consumer<AppointmentsVM>(
builder: (context, model, _) { builder: (context, model, _) {
return model.providerModel == null return model.providerProfileModel == null
? const Center(child: CircularProgressIndicator()) ? const Center(child: CircularProgressIndicator())
: model.providerModel!.data == null : model.providerProfileModel == null
? const EmptyWidget() ? const EmptyWidget()
: SingleChildScrollView( : SingleChildScrollView(
child: Column( child: Column(
@ -55,7 +55,7 @@ class _ProviderProfilePageState extends State<ProviderProfilePage> {
//TODO: company logo/banner not added form provider app yet //TODO: company logo/banner not added form provider app yet
Image.asset(MyAssets.bnCar), Image.asset(MyAssets.bnCar),
12.height, 12.height,
model.providerModel!.data!.companyName.toString().toText( model.providerProfileModel!.companyName.toString().toText(
fontSize: 16, fontSize: 16,
isBold: true, isBold: true,
), ),
@ -77,28 +77,28 @@ class _ProviderProfilePageState extends State<ProviderProfilePage> {
allPading: 12, allPading: 12,
), ),
12.height, 12.height,
model.providerModel!.data!.serviceProviderBranch == null model.providerProfileModel!.serviceProviderBranch == null
? const Center(child: Text("No Branch Found")) ? const Center(child: Text("No Branch Found"))
: model.providerModel!.data!.serviceProviderBranch!.isEmpty : model.providerProfileModel!.serviceProviderBranch!.isEmpty
? Center(child: Text(LocaleKeys.no_branch.tr())) ? Center(child: Text(LocaleKeys.no_branch.tr()))
: ListView.separated( : ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
return ProviderDetailsCard( return ProviderDetailsCard(
onCardTapped: () { onCardTapped: () {
navigateWithName(context, AppRoutes.branchDetailPage, arguments: model.providerModel!.data!.serviceProviderBranch![index]); navigateWithName(context, AppRoutes.branchDetailPage, arguments: model.providerProfileModel!.serviceProviderBranch![index]);
}, },
providerImageUrl: MyAssets.bnCar, providerImageUrl: MyAssets.bnCar,
title: model.providerModel!.data!.serviceProviderBranch![index].branchName ?? "", title: model.providerProfileModel!.serviceProviderBranch![index].branchName ?? "",
providerLocation: model.providerModel!.data!.serviceProviderBranch![index].distanceKm.toString() + " KM", providerLocation: model.providerProfileModel!.serviceProviderBranch![index].distanceKm.toString() + " KM",
providerName: model.providerModel!.data!.serviceProviderBranch![index].serviceProviderName ?? "", providerName: model.providerProfileModel!.serviceProviderBranch![index].serviceProviderName ?? "",
providerRatings: "4.9", providerRatings: "4.9",
items: model.providerModel!.data!.serviceProviderBranch![index].branchServices, items: model.providerProfileModel!.serviceProviderBranch![index].branchServices,
); );
}, },
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
return 12.height; return 12.height;
}, },
itemCount: model.providerModel!.data!.serviceProviderBranch!.length, itemCount: model.providerProfileModel!.serviceProviderBranch!.length,
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
) )

Loading…
Cancel
Save