Services merging in Schedules (In Progress)
parent
436befd111
commit
533952e14e
@ -1,10 +1,12 @@
|
||||
import 'package:car_customer_app/repositories/provider_repo.dart';
|
||||
import 'package:car_customer_app/repositories/schedule_repo.dart';
|
||||
import 'package:mc_common_app/config/dependencies.dart';
|
||||
|
||||
class CustomerDependencies {
|
||||
static void addDependencies() {
|
||||
AppDependencies.addDependencies();
|
||||
injector.registerSingleton<ProviderRepo>(() => ProviderRepoImp());
|
||||
injector.registerSingleton<ScheduleRepo>(() => ScheduleRepoImp());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
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/dependencies.dart';
|
||||
import 'package:mc_common_app/models/generic_resp_model.dart';
|
||||
import 'package:mc_common_app/models/m_response.dart';
|
||||
import 'package:mc_common_app/models/provider_branches_models/profile/services.dart';
|
||||
import 'package:mc_common_app/models/schedule_model.dart';
|
||||
|
||||
abstract class ScheduleRepo {
|
||||
Future<Services> getAllServices(String branchId);
|
||||
|
||||
Future<MResponse> createSchedule(Map map);
|
||||
|
||||
Future<MResponse> addServicesInSchedule(Map map);
|
||||
|
||||
Future<MResponse> updateSchedule(Map map);
|
||||
|
||||
Future<List<ScheduleData>> getSchedules(String branchId);
|
||||
|
||||
Future<MResponse> updateServicesInSchedule(Map map);
|
||||
}
|
||||
|
||||
class ScheduleRepoImp implements ScheduleRepo {
|
||||
@override
|
||||
Future<Services> getAllServices(String branchId) async {
|
||||
Map<String, dynamic> map = {"ProviderBranchID": branchId};
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
return await injector.get<ApiClient>().getJsonForObject((json) => Services.fromJson(json), ApiConsts.getServicesOfBranch, token: t, queryParameters: map);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MResponse> createSchedule(Map map) async {
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
return await injector.get<ApiClient>().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.createSchedule, map, token: t);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MResponse> addServicesInSchedule(Map map) async {
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
return await injector.get<ApiClient>().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.createGroup, map, token: t);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<ScheduleData>> getSchedules(String branchId) async {
|
||||
Map<String, dynamic> map = {"ServiceProviderBranchID": branchId};
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
|
||||
GenericRespModel adsGenericModel = await injector.get<ApiClient>().getJsonForObject(
|
||||
(json) => GenericRespModel.fromJson(json),
|
||||
ApiConsts.getSchedule,
|
||||
token: t,
|
||||
queryParameters: map,
|
||||
);
|
||||
|
||||
return List.generate(adsGenericModel.data.length, (index) => ScheduleData.fromJson(adsGenericModel.data[index]));
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MResponse> updateSchedule(Map map) async {
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
return await injector.get<ApiClient>().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.updateSchedule, map, token: t);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MResponse> updateServicesInSchedule(Map map) async {
|
||||
String t = AppState().getUser.data!.accessToken ?? "";
|
||||
return await injector.get<ApiClient>().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.updateGroup, map, token: t);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue