diff --git a/lib/models/provider_branches_models/branch_detail_model.dart b/lib/models/provider_branches_models/branch_detail_model.dart index 8b93ec2..1c08508 100644 --- a/lib/models/provider_branches_models/branch_detail_model.dart +++ b/lib/models/provider_branches_models/branch_detail_model.dart @@ -1,5 +1,5 @@ import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart'; -import 'package:mc_common_app/models/services/service_model.dart'; +import 'package:mc_common_app/models/services/branch_service_model.dart'; class BranchDetailModel { final int? id; @@ -16,7 +16,7 @@ class BranchDetailModel { final String? closeTime; final int? status; final dynamic statusText; - final List? branchServices; + final List? branchServices; List? categories; bool isExpanded; @@ -55,7 +55,7 @@ class BranchDetailModel { closeTime: json["closeTime"], status: json["status"], statusText: json["statusText"], - branchServices: json["serviceProviderServices"] == null ? [] : List.from(json["serviceProviderServices"]!.map((x) => ServiceModel.fromJson(x))), + branchServices: json["serviceProviderServices"] == null ? [] : List.from(json["serviceProviderServices"]!.map((x) => BranchServiceModel.fromJson(x))), categories: [], isExpanded: false, ); diff --git a/lib/models/provider_branches_models/profile/categroy.dart b/lib/models/provider_branches_models/profile/categroy.dart index 33feaae..c62cd9b 100644 --- a/lib/models/provider_branches_models/profile/categroy.dart +++ b/lib/models/provider_branches_models/profile/categroy.dart @@ -6,7 +6,7 @@ import 'dart:convert'; import 'package:equatable/equatable.dart'; import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.dart'; -import 'package:mc_common_app/models/services/service_model.dart'; +import 'package:mc_common_app/models/services/branch_service_model.dart'; Category categoryFromJson(String str) => Category.fromJson(json.decode(str)); @@ -60,7 +60,7 @@ class CategoryData extends Equatable { dynamic? serviceCategoryImageUrl; String? branchId; String? branchName; - List? services; + List? services; factory CategoryData.fromJson(Map json) => CategoryData( id: json["id"] == null ? null : json["id"], diff --git a/lib/models/provider_category_model.dart b/lib/models/provider_category_model.dart index 2c6ae13..18c8dda 100644 --- a/lib/models/provider_category_model.dart +++ b/lib/models/provider_category_model.dart @@ -1,32 +1,32 @@ -class ProviderCategoryModel { - int? id; - String? categoryName; - String? categoryNameN; - String? serviceCategoryIconUrl; - String? serviceCategoryImageUrl; - bool? isActive; - bool? isSelected; - - ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false}); - - ProviderCategoryModel.fromJson(Map json) { - id = json['id']; - categoryName = json['categoryName']; - categoryNameN = json['categoryNameN']; - serviceCategoryIconUrl = json['serviceCategoryIconUrl']; - serviceCategoryImageUrl = json['serviceCategoryImageUrl']; - isActive = json['isActive']; - isSelected = false; - } - - Map toJson() { - final Map data = {}; - data['id'] = id; - data['categoryName'] = categoryName; - data['categoryNameN'] = categoryNameN; - data['serviceCategoryIconUrl'] = serviceCategoryIconUrl; - data['serviceCategoryImageUrl'] = serviceCategoryImageUrl; - data['isActive'] = isActive; - return data; - } -} +// class ProviderCategoryModel { +// int? id; +// String? categoryName; +// String? categoryNameN; +// String? serviceCategoryIconUrl; +// String? serviceCategoryImageUrl; +// bool? isActive; +// bool? isSelected; +// +// ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false}); +// +// ProviderCategoryModel.fromJson(Map json) { +// id = json['id']; +// categoryName = json['categoryName']; +// categoryNameN = json['categoryNameN']; +// serviceCategoryIconUrl = json['serviceCategoryIconUrl']; +// serviceCategoryImageUrl = json['serviceCategoryImageUrl']; +// isActive = json['isActive']; +// isSelected = false; +// } +// +// Map toJson() { +// final Map data = {}; +// data['id'] = id; +// data['categoryName'] = categoryName; +// data['categoryNameN'] = categoryNameN; +// data['serviceCategoryIconUrl'] = serviceCategoryIconUrl; +// data['serviceCategoryImageUrl'] = serviceCategoryImageUrl; +// data['isActive'] = isActive; +// return data; +// } +// } diff --git a/lib/models/provider_service_model.dart b/lib/models/provider_service_model.dart index 4875675..914ce65 100644 --- a/lib/models/provider_service_model.dart +++ b/lib/models/provider_service_model.dart @@ -1,65 +1,65 @@ -class ProviderServiceModel { - int? id; - String? description; - String? descriptionN; - String? serviceIconUrl; - String? serviceImageUrl; - int? serviceCategoryID; - bool? isActive; - String? categoryName; - bool? ispartial; - int? appointmentPricePercentage; - int? refundAmountPercentage; - bool? isSelected; - - ProviderServiceModel( - {this.id, - this.description, - this.descriptionN, - this.serviceIconUrl, - this.serviceImageUrl, - this.serviceCategoryID, - this.isActive, - this.categoryName, - this.ispartial, - this.appointmentPricePercentage, - this.refundAmountPercentage, - this.isSelected = false, - }); - - ProviderServiceModel.fromJson(Map json) { - id = json['id']; - description = json['description']; - descriptionN = json['descriptionN']; - serviceIconUrl = json['serviceIconUrl']; - serviceImageUrl = json['serviceImageUrl']; - serviceCategoryID = json['serviceCategoryID']; - isActive = json['isActive']; - categoryName = json['categoryName']; - ispartial = json['ispartial']; - appointmentPricePercentage = json['appointmentPricePercentage']; - refundAmountPercentage = json['refundAmountPercentage']; - isSelected = false; - } - - Map toJson() { - final Map data = {}; - data['id'] = id; - data['description'] = description; - data['descriptionN'] = descriptionN; - data['serviceIconUrl'] = serviceIconUrl; - data['serviceImageUrl'] = serviceImageUrl; - data['serviceCategoryID'] = serviceCategoryID; - data['isActive'] = isActive; - data['categoryName'] = categoryName; - data['ispartial'] = ispartial; - data['appointmentPricePercentage'] = appointmentPricePercentage; - data['refundAmountPercentage'] = refundAmountPercentage; - return data; - } - - @override - String toString() { - return 'ProviderServiceModel{id: $id, description: $description, descriptionN: $descriptionN, serviceIconUrl: $serviceIconUrl, serviceImageUrl: $serviceImageUrl, serviceCategoryID: $serviceCategoryID, isActive: $isActive, categoryName: $categoryName, ispartial: $ispartial, appointmentPricePercentage: $appointmentPricePercentage, refundAmountPercentage: $refundAmountPercentage, isSelected: $isSelected}'; - } -} +// class ProviderServiceModel { +// int? id; +// String? description; +// String? descriptionN; +// String? serviceIconUrl; +// String? serviceImageUrl; +// int? serviceCategoryID; +// bool? isActive; +// String? categoryName; +// bool? ispartial; +// int? appointmentPricePercentage; +// int? refundAmountPercentage; +// bool? isSelected; +// +// ProviderServiceModel( +// {this.id, +// this.description, +// this.descriptionN, +// this.serviceIconUrl, +// this.serviceImageUrl, +// this.serviceCategoryID, +// this.isActive, +// this.categoryName, +// this.ispartial, +// this.appointmentPricePercentage, +// this.refundAmountPercentage, +// this.isSelected = false, +// }); +// +// ProviderServiceModel.fromJson(Map json) { +// id = json['id']; +// description = json['description']; +// descriptionN = json['descriptionN']; +// serviceIconUrl = json['serviceIconUrl']; +// serviceImageUrl = json['serviceImageUrl']; +// serviceCategoryID = json['serviceCategoryID']; +// isActive = json['isActive']; +// categoryName = json['categoryName']; +// ispartial = json['ispartial']; +// appointmentPricePercentage = json['appointmentPricePercentage']; +// refundAmountPercentage = json['refundAmountPercentage']; +// isSelected = false; +// } +// +// Map toJson() { +// final Map data = {}; +// data['id'] = id; +// data['description'] = description; +// data['descriptionN'] = descriptionN; +// data['serviceIconUrl'] = serviceIconUrl; +// data['serviceImageUrl'] = serviceImageUrl; +// data['serviceCategoryID'] = serviceCategoryID; +// data['isActive'] = isActive; +// data['categoryName'] = categoryName; +// data['ispartial'] = ispartial; +// data['appointmentPricePercentage'] = appointmentPricePercentage; +// data['refundAmountPercentage'] = refundAmountPercentage; +// return data; +// } +// +// @override +// String toString() { +// return 'ProviderServiceModel{id: $id, description: $description, descriptionN: $descriptionN, serviceIconUrl: $serviceIconUrl, serviceImageUrl: $serviceImageUrl, serviceCategoryID: $serviceCategoryID, isActive: $isActive, categoryName: $categoryName, ispartial: $ispartial, appointmentPricePercentage: $appointmentPricePercentage, refundAmountPercentage: $refundAmountPercentage, isSelected: $isSelected}'; +// } +// } diff --git a/lib/models/services/service_model.dart b/lib/models/services/branch_service_model.dart similarity index 94% rename from lib/models/services/service_model.dart rename to lib/models/services/branch_service_model.dart index b11918c..44cf8d4 100644 --- a/lib/models/services/service_model.dart +++ b/lib/models/services/branch_service_model.dart @@ -1,4 +1,4 @@ -class ServiceModel { +class BranchServiceModel { final int? serviceProviderServiceId; final dynamic providerServiceDescription; final int? categoryId; @@ -15,7 +15,7 @@ class ServiceModel { final int? itemsCount; bool isExpanded; - ServiceModel({ + BranchServiceModel({ this.serviceProviderServiceId, this.providerServiceDescription, this.categoryId, @@ -33,7 +33,7 @@ class ServiceModel { required this.isExpanded, }); - factory ServiceModel.fromJson(Map json) => ServiceModel( + factory BranchServiceModel.fromJson(Map json) => BranchServiceModel( serviceProviderServiceId: json["serviceProviderServiceID"], providerServiceDescription: json["providerServiceDescription"], categoryId: json["categoryID"], diff --git a/lib/models/services/item_model.dart b/lib/models/services/item_model.dart index 6bfd075..8d37bbe 100644 --- a/lib/models/services/item_model.dart +++ b/lib/models/services/item_model.dart @@ -1,42 +1,6 @@ -// To parse this JSON data, do -// -// final itemModel = itemModelFromJson(jsonString); -import 'dart:convert'; -ItemModel itemModelFromJson(String str) => ItemModel.fromJson(json.decode(str)); - -String itemModelToJson(ItemModel data) => json.encode(data.toJson()); - -class ItemModel { - final int? messageStatus; - final int? totalItemsCount; - final List? data; - final String? message; - - ItemModel({ - this.messageStatus, - this.totalItemsCount, - this.data, - this.message, - }); - - factory ItemModel.fromJson(Map json) => ItemModel( - messageStatus: json["messageStatus"], - totalItemsCount: json["totalItemsCount"], - data: json["data"] == null ? [] : List.from(json["data"]!.map((x) => ItemData.fromJson(x))), - message: json["message"], - ); - - Map toJson() => { - "messageStatus": messageStatus, - "totalItemsCount": totalItemsCount, - "data": data == null ? [] : List.from(data!.map((x) => x.toJson())), - "message": message, - }; -} - -class ItemData { +class ServiceItemModel { final int? id; final String? name; final String? price; @@ -51,7 +15,7 @@ class ItemData { final bool? isAppointmentCustomerLoc; bool? isUpdate; - ItemData({ + ServiceItemModel({ this.id, this.name, this.price, @@ -67,7 +31,7 @@ class ItemData { this.isUpdate, }); - factory ItemData.fromJson(Map json) => ItemData( + factory ServiceItemModel.fromJson(Map json) => ServiceItemModel( id: json["id"], name: json["name"], price: json["price"].toString(), diff --git a/lib/repositories/common_repo.dart b/lib/repositories/common_repo.dart index 7101638..13caa08 100644 --- a/lib/repositories/common_repo.dart +++ b/lib/repositories/common_repo.dart @@ -2,16 +2,10 @@ 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/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/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'; @@ -23,16 +17,15 @@ abstract class CommonRepo { Future getRoles(); - Future> getMyAppointments(); Future getCarCheckServiceScheduleDetails({required double lat, required double long}); Future getPhotographyServiceScheduleDetails({required double lat, required double long}); - Future> getProviderServiceCategories(); + // Future> getProviderServiceCategories(); - Future> getProviderServices({required int categoryId}); +// Future> getProviderServices({required int categoryId}); } class CommonRepoImp implements CommonRepo { @@ -57,7 +50,6 @@ class CommonRepoImp implements CommonRepo { return await apiClient.getJsonForObject((json) => Role.fromJson(json), ApiConsts.GetProviderRoles); } - @override Future> getMyAppointments() async { var params = { @@ -104,22 +96,22 @@ class CommonRepoImp implements CommonRepo { SSPhotoScheduleModel ssPhotoScheduleModel = SSPhotoScheduleModel.fromJson(genericRespModel.data[0]); return ssPhotoScheduleModel; } - - @override - Future> getProviderServiceCategories() async { - GenericRespModel adsGenericModel = await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet); - List providerCategories = List.generate(adsGenericModel.data.length, (index) => ProviderCategoryModel.fromJson(adsGenericModel.data[index])); - return providerCategories; - } - - @override - Future> 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 providerServices = List.generate(adsGenericModel.data.length, (index) => ProviderServiceModel.fromJson(adsGenericModel.data[index])); - return providerServices; - } + // +// @override +// Future> getProviderServiceCategories() async { +// GenericRespModel adsGenericModel = await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet); +// List providerCategories = List.generate(adsGenericModel.data.length, (index) => ProviderCategoryModel.fromJson(adsGenericModel.data[index])); +// return providerCategories; +// } + +// @override +// Future> 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 providerServices = List.generate(adsGenericModel.data.length, (index) => ProviderServiceModel.fromJson(adsGenericModel.data[index])); +// return providerServices; +// } } diff --git a/lib/widgets/common_widgets/provider_details_card.dart b/lib/widgets/common_widgets/provider_details_card.dart index 69c3048..0d56eef 100644 --- a/lib/widgets/common_widgets/provider_details_card.dart +++ b/lib/widgets/common_widgets/provider_details_card.dart @@ -4,7 +4,7 @@ import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart'; -import 'package:mc_common_app/models/services/service_model.dart'; +import 'package:mc_common_app/models/services/branch_service_model.dart'; import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; @@ -16,7 +16,7 @@ class ProviderDetailsCard extends StatelessWidget { final String providerRatings; //TODO: items can be make a generaic, so we can add services/items in the future - final List? items; + final List? items; final Function() onCardTapped; const ProviderDetailsCard({