|
|
|
|
@ -1,11 +1,11 @@
|
|
|
|
|
import 'dart:async';
|
|
|
|
|
|
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
import 'package:mc_common_app/api/api_client.dart';
|
|
|
|
|
import 'package:mc_common_app/classes/app_state.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:mc_common_app/classes/consts.dart';
|
|
|
|
|
import 'package:mc_common_app/config/dependency_injection.dart';
|
|
|
|
|
import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
|
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
|
|
|
|
|
import 'package:mc_common_app/models/provider_branches_models/branch_review_model.dart';
|
|
|
|
|
import 'package:mc_common_app/models/provider_branches_models/profile/branch.dart';
|
|
|
|
|
@ -15,6 +15,7 @@ import 'package:mc_common_app/models/provider_branches_models/profile/services.d
|
|
|
|
|
import 'package:mc_common_app/models/provider_branches_models/provider_model.dart';
|
|
|
|
|
import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.dart';
|
|
|
|
|
import 'package:mc_common_app/models/services_models/item_model.dart';
|
|
|
|
|
import 'package:mc_common_app/models/services_models/service_model.dart';
|
|
|
|
|
|
|
|
|
|
abstract class BranchRepo {
|
|
|
|
|
Future<GenericRespModel> createBranch({
|
|
|
|
|
@ -53,6 +54,8 @@ abstract class BranchRepo {
|
|
|
|
|
|
|
|
|
|
Future<Services> fetchProviderServices(String branchID, String serviceCategoryId);
|
|
|
|
|
|
|
|
|
|
Future<List<ServiceModel>> fetchProviderServicesModelByCategoryIdAndBranchID(String branchID, String serviceCategoryId);
|
|
|
|
|
|
|
|
|
|
Future<GenericRespModel> createNewService(List<Map<String, dynamic>> map);
|
|
|
|
|
|
|
|
|
|
Future<Document> getServiceProviderDocument(dynamic userId);
|
|
|
|
|
@ -188,7 +191,9 @@ class BranchRepoImp implements BranchRepo {
|
|
|
|
|
};
|
|
|
|
|
String? token = AppState().getUser.data?.accessToken;
|
|
|
|
|
debugPrint(token);
|
|
|
|
|
return await injector.get<ApiClient>().getJsonForObject((json) => Document.fromJson(json), ApiConsts.fetProviderDocument, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? "");
|
|
|
|
|
return await injector
|
|
|
|
|
.get<ApiClient>()
|
|
|
|
|
.getJsonForObject((json) => Document.fromJson(json), ApiConsts.fetProviderDocument, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
@ -355,6 +360,28 @@ class BranchRepoImp implements BranchRepo {
|
|
|
|
|
return await apiClient.getJsonForObject((json) => Services.fromJson(json), ApiConsts.getProviderServices, queryParameters: postParams, token: t);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Future<List<ServiceModel>> fetchProviderServicesModelByCategoryIdAndBranchID(String branchID, String serviceCategoryId) async {
|
|
|
|
|
var queryParameters = {
|
|
|
|
|
"ID": branchID,
|
|
|
|
|
"ServiceCategoryIDs": [serviceCategoryId],
|
|
|
|
|
};
|
|
|
|
|
String t = AppState().getUser.data!.accessToken ?? "";
|
|
|
|
|
|
|
|
|
|
GenericRespModel adsGenericModel = await apiClient.getJsonForObject(
|
|
|
|
|
(json) => GenericRespModel.fromJson(json),
|
|
|
|
|
ApiConsts.getAllNearBranches,
|
|
|
|
|
token: appState.getUser.data!.accessToken,
|
|
|
|
|
queryParameters: queryParameters,
|
|
|
|
|
);
|
|
|
|
|
List<BranchDetailModel> nearBranches = List.generate(adsGenericModel.data.length, (index) => BranchDetailModel.fromJson(adsGenericModel.data[index]));
|
|
|
|
|
if (nearBranches.isNotEmpty) {
|
|
|
|
|
List<ServiceModel> services = nearBranches.first.branchServices ?? [];
|
|
|
|
|
return services;
|
|
|
|
|
}
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Future<GenericRespModel> addNewServicesInAppointment(Map<String, dynamic> map) async {
|
|
|
|
|
String t = AppState().getUser.data!.accessToken ?? "";
|
|
|
|
|
@ -409,7 +436,8 @@ class BranchRepoImp implements BranchRepo {
|
|
|
|
|
@override
|
|
|
|
|
Future<ProviderProfileModel> getBranchAndServicesByProviderId(int providerId) async {
|
|
|
|
|
var postParams = {"serviceProviderID": providerId.toString()};
|
|
|
|
|
GenericRespModel adsGenericModel = await apiClient.getJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.branchesAndServices, token: appState.getUser.data!.accessToken, queryParameters: postParams);
|
|
|
|
|
GenericRespModel adsGenericModel =
|
|
|
|
|
await apiClient.getJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.branchesAndServices, token: appState.getUser.data!.accessToken, queryParameters: postParams);
|
|
|
|
|
|
|
|
|
|
return ProviderProfileModel.fromJson(adsGenericModel.data);
|
|
|
|
|
}
|
|
|
|
|
|