@ -4,9 +4,14 @@ import 'package:mc_common_app/classes/consts.dart';
import ' package:mc_common_app/config/dependencies.dart ' ;
import ' package:mc_common_app/models/advertisment_models/ad_details_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/ads_duration_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/ads_generic_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/special_service_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/ss_car_check_schedule_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/ss_photo_schedule_model.dart ' ;
import ' package:mc_common_app/models/advertisment_models/vehicle_details_models.dart ' ;
import ' package:mc_common_app/models/appointments_models/appointment_list_model.dart ' ;
import ' package:mc_common_app/models/generic_resp_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/user/cities.dart ' ;
import ' package:mc_common_app/models/user/country.dart ' ;
import ' package:mc_common_app/models/user/role.dart ' ;
@ -46,13 +51,23 @@ abstract class CommonRepo {
Future < List < AdsDurationModel > > getAdsDuration ( ) ;
Future < List < SpecialServiceModel > > getSpecialServices ( );
Future < List < SpecialServiceModel > > getSpecialServices ( {required int specialServiceId } );
Future < Ads GenericModel> createNewAd ( { required AdsCreationPayloadModel adsCreationPayloadModel } ) ;
Future < GenericResp Model> createNewAd ( { required AdsCreationPayloadModel adsCreationPayloadModel } ) ;
Future < List < AdDetailsModel > > getAllAds ( { required bool isMyAds } ) ;
Future < List < AdDetailsModel > > getMyAds ( ) ;
Future < List < AppointmentListModel > > getMyAppointments ( ) ;
Future < SSCarCheckScheduleModel > getCarCheckServiceScheduleDetails ( { required double lat , required double long } ) ;
Future < SSPhotoScheduleModel > getPhotographyServiceScheduleDetails ( { required double lat , required double long } ) ;
Future < List < ProviderCategoryModel > > getProviderServiceCategories ( ) ;
Future < List < ProviderServiceModel > > getProviderServices ( { required int categoryId } ) ;
}
class CommonRepoImp implements CommonRepo {
@ -79,7 +94,7 @@ class CommonRepoImp implements CommonRepo {
@ override
Future < List < VehicleTypeModel > > getVehicleTypes ( ) async {
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleTypeGet ) ;
GenericResp Model adsGenericModel = await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleTypeGet ) ;
List < VehicleTypeModel > vehicleTypes = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleTypeModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleTypes ;
}
@ -89,8 +104,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleCategoryGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleCategoryGet , queryParameters: postParams ) ;
List < VehicleCategoryModel > vehicleCategories = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleCategoryModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleCategories ;
}
@ -100,8 +115,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" CountryID " : countryId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleCityGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleCityGet , queryParameters: postParams ) ;
List < VehicleCityModel > vehicleCities = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleCityModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleCities ;
}
@ -111,8 +126,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleColorGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleColorGet , queryParameters: postParams ) ;
List < VehicleColorModel > vehicleColors = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleColorModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleColors ;
}
@ -122,17 +137,17 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleConditionGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleConditionGet , queryParameters: postParams ) ;
List < VehicleConditionModel > vehicleConditions = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleConditionModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleConditions ;
}
@ override
Future < List < VehicleCountryModel > > getVehicleCountries ( ) async {
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject (
GenericResp Model adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > Ads GenericModel. fromJson ( json ) ,
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleCountryGet ,
) ;
List < VehicleCountryModel > vehicleConditions = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleCountryModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
@ -144,8 +159,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleMileageGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleMileageGet , queryParameters: postParams ) ;
List < VehicleMileageModel > vehicleMileages = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleMileageModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleMileages ;
}
@ -155,8 +170,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleModelYearGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleModelYearGet , queryParameters: postParams ) ;
List < VehicleYearModel > vehicleModelYears = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleYearModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleModelYears ;
}
@ -166,8 +181,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleModelGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleModelGet , queryParameters: postParams ) ;
List < VehicleModel > vehicleModels = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleModels ;
}
@ -177,8 +192,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleSellerTypeGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleSellerTypeGet , queryParameters: postParams ) ;
List < VehicleSellerTypeModel > vehicleSellerTypes = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleSellerTypeModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleSellerTypes ;
}
@ -188,8 +203,8 @@ class CommonRepoImp implements CommonRepo {
var postParams = {
" VehicleType " : vehicleTypeId . toString ( ) ,
} ;
Ads GenericModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > Ads GenericModel. fromJson ( json ) , ApiConsts . vehicleTransmissionGet , queryParameters: postParams ) ;
GenericResp Model adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericResp Model. fromJson ( json ) , ApiConsts . vehicleTransmissionGet , queryParameters: postParams ) ;
List < VehicleTransmissionModel > vehicleTransmissions = List . generate ( adsGenericModel . data . length , ( index ) = > VehicleTransmissionModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleTransmissions ;
}
@ -214,8 +229,8 @@ class CommonRepoImp implements CommonRepo {
} ;
String token = appState . getUser . data ! . accessToken ? ? " " ;
Ads GenericModel adsGenericModel = await apiClient . postJsonForObject (
( json ) = > Ads GenericModel. fromJson ( json ) ,
GenericResp Model adsGenericModel = await apiClient . postJsonForObject (
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleDetailsMaster ,
postParams ,
token: token ,
@ -226,9 +241,9 @@ class CommonRepoImp implements CommonRepo {
@ override
Future < List < VehiclePartModel > > getVehicleDamageParts ( ) async {
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject (
GenericResp Model adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > Ads GenericModel. fromJson ( json ) ,
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleDamagePartGet ,
) ;
List < VehiclePartModel > vehicleParts = List . generate ( adsGenericModel . data . length , ( index ) = > VehiclePartModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
@ -237,9 +252,9 @@ class CommonRepoImp implements CommonRepo {
@ override
Future < List < AdsDurationModel > > getAdsDuration ( ) async {
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject (
GenericResp Model adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > Ads GenericModel. fromJson ( json ) ,
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleAdsDurationGet ,
) ;
List < AdsDurationModel > vehicleAdsDuration = List . generate ( adsGenericModel . data . length , ( index ) = > AdsDurationModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
@ -247,18 +262,18 @@ class CommonRepoImp implements CommonRepo {
}
@ override
Future < List < SpecialServiceModel > > getSpecialServices ( ) async {
AdsGenericModel adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > AdsGenericModel . fromJson ( json ) ,
ApiConsts . vehicleAdsSpecialServicesGet ,
) ;
Future < List < SpecialServiceModel > > getSpecialServices ( {required int specialServiceId } ) async {
var params = {
" SpecialServiceType " : specialServiceId . toString ( ) ,
} ;
GenericRespModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericRespModel . fromJson ( json ) , ApiConsts . vehicleAdsSpecialServicesGet , queryParameters: params ) ;
List < SpecialServiceModel > vehicleAdsDuration = List . generate ( adsGenericModel . data . length , ( index ) = > SpecialServiceModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleAdsDuration ;
}
@ override
Future < Ads GenericModel> createNewAd ( { required AdsCreationPayloadModel adsCreationPayloadModel } ) async {
Future < GenericResp Model> createNewAd ( { required AdsCreationPayloadModel adsCreationPayloadModel } ) async {
List vehiclePostingImages = [ ] ;
adsCreationPayloadModel . vehiclePosting ! . vehiclePostingImages ? . forEach ( ( element ) {
var imageMap = {
@ -321,8 +336,8 @@ class CommonRepoImp implements CommonRepo {
} ;
String token = appState . getUser . data ! . accessToken ? ? " " ;
Ads GenericModel adsGenericModel = await apiClient . postJsonForObject (
( json ) = > Ads GenericModel. fromJson ( json ) ,
GenericResp Model adsGenericModel = await apiClient . postJsonForObject (
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleAdsSingleStepCreate ,
postParams ,
token: token ,
@ -337,9 +352,9 @@ class CommonRepoImp implements CommonRepo {
" userID " : appState . getUser . data ! . userInfo ! . userId ? ? " " ,
} ;
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject (
GenericResp Model adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > Ads GenericModel. fromJson ( json ) ,
( json ) = > GenericResp Model. fromJson ( json ) ,
ApiConsts . vehicleAdsGet ,
queryParameters: isMyAds ? params : null ,
) ;
@ -352,13 +367,78 @@ class CommonRepoImp implements CommonRepo {
var params = {
" userID " : appState . getUser . data ! . userInfo ! . userId ? ? " " ,
} ;
Ads GenericModel adsGenericModel = await apiClient . getJsonForObject (
GenericResp Model adsGenericModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > Ads GenericModel. fromJson ( json ) ,
( json ) = > GenericResp Model. fromJson ( json ) ,
queryParameters: params ,
ApiConsts . vehicleAdsGet ,
) ;
List < AdDetailsModel > vehicleAdsDetails = List . generate ( adsGenericModel . data . length , ( index ) = > AdDetailsModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return vehicleAdsDetails ;
}
@ override
Future < List < AppointmentListModel > > getMyAppointments ( ) async {
var params = {
" userID " : appState . getUser . data ! . userInfo ! . userId ? ? " " ,
} ;
GenericRespModel genericRespModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > GenericRespModel . fromJson ( json ) ,
queryParameters: params ,
ApiConsts . serviceProvidersAppointmentGet ,
) ;
List < AppointmentListModel > appointmentList = List . generate ( genericRespModel . data . length , ( index ) = > AppointmentListModel . fromJson ( genericRespModel . data [ index ] ) ) ;
return appointmentList ;
}
@ override
Future < SSCarCheckScheduleModel > getCarCheckServiceScheduleDetails ( { required double lat , required double long } ) async {
var params = {
" Latitude " : lat . toString ( ) ,
" Longitude " : long . toString ( ) ,
} ;
GenericRespModel genericRespModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > GenericRespModel . fromJson ( json ) ,
queryParameters: params ,
ApiConsts . adsCarCheckupSPBranchScheduleSlotGet ,
) ;
SSCarCheckScheduleModel ssCarCheckScheduleModel = SSCarCheckScheduleModel . fromJson ( genericRespModel . data [ 0 ] ) ;
return ssCarCheckScheduleModel ;
}
@ override
Future < SSPhotoScheduleModel > getPhotographyServiceScheduleDetails ( { required double lat , required double long } ) async {
var params = {
" Latitude " : lat . toString ( ) ,
" Longitude " : long . toString ( ) ,
} ;
GenericRespModel genericRespModel = await apiClient . getJsonForObject (
token: appState . getUser . data ! . accessToken ,
( json ) = > GenericRespModel . fromJson ( json ) ,
queryParameters: params ,
ApiConsts . adsPhotoOfficeAppointmentScheduleSlotGet ,
) ;
SSPhotoScheduleModel ssPhotoScheduleModel = SSPhotoScheduleModel . fromJson ( genericRespModel . data [ 0 ] ) ;
return ssPhotoScheduleModel ;
}
@ override
Future < List < ProviderCategoryModel > > getProviderServiceCategories ( ) async {
GenericRespModel adsGenericModel = await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericRespModel . fromJson ( json ) , ApiConsts . serviceCategoryGet ) ;
List < ProviderCategoryModel > providerCategories = List . generate ( adsGenericModel . data . length , ( index ) = > ProviderCategoryModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return providerCategories ;
}
@ override
Future < List < ProviderServiceModel > > getProviderServices ( { required int categoryId } ) async {
var postParams = {
" ServiceCategoryID " : categoryId . toString ( ) ,
} ;
GenericRespModel adsGenericModel =
await apiClient . getJsonForObject ( token: appState . getUser . data ! . accessToken , ( json ) = > GenericRespModel . fromJson ( json ) , ApiConsts . serviceCategoryGet , queryParameters: postParams ) ;
List < ProviderServiceModel > providerServices = List . generate ( adsGenericModel . data . length , ( index ) = > ProviderServiceModel . fromJson ( adsGenericModel . data [ index ] ) ) ;
return providerServices ;
}
}