Updated Code

pull/3/head
FaizHashmiCS22 3 years ago
parent 6acbcc7e1d
commit 23ebbcb74b

@ -1,5 +1,5 @@
import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart'; 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 { class BranchDetailModel {
final int? id; final int? id;
@ -16,7 +16,7 @@ class BranchDetailModel {
final String? closeTime; final String? closeTime;
final int? status; final int? status;
final dynamic statusText; final dynamic statusText;
final List<ServiceModel>? branchServices; final List<BranchServiceModel>? branchServices;
List<CategoryData>? categories; List<CategoryData>? categories;
bool isExpanded; bool isExpanded;
@ -55,7 +55,7 @@ class BranchDetailModel {
closeTime: json["closeTime"], closeTime: json["closeTime"],
status: json["status"], status: json["status"],
statusText: json["statusText"], statusText: json["statusText"],
branchServices: json["serviceProviderServices"] == null ? [] : List<ServiceModel>.from(json["serviceProviderServices"]!.map((x) => ServiceModel.fromJson(x))), branchServices: json["serviceProviderServices"] == null ? [] : List<BranchServiceModel>.from(json["serviceProviderServices"]!.map((x) => BranchServiceModel.fromJson(x))),
categories: [], categories: [],
isExpanded: false, isExpanded: false,
); );

@ -6,7 +6,7 @@ import 'dart:convert';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.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)); Category categoryFromJson(String str) => Category.fromJson(json.decode(str));
@ -60,7 +60,7 @@ class CategoryData extends Equatable {
dynamic? serviceCategoryImageUrl; dynamic? serviceCategoryImageUrl;
String? branchId; String? branchId;
String? branchName; String? branchName;
List<ServiceModel>? services; List<BranchServiceModel>? services;
factory CategoryData.fromJson(Map<String, dynamic> json) => CategoryData( factory CategoryData.fromJson(Map<String, dynamic> json) => CategoryData(
id: json["id"] == null ? null : json["id"], id: json["id"] == null ? null : json["id"],

@ -1,32 +1,32 @@
class ProviderCategoryModel { // class ProviderCategoryModel {
int? id; // int? id;
String? categoryName; // String? categoryName;
String? categoryNameN; // String? categoryNameN;
String? serviceCategoryIconUrl; // String? serviceCategoryIconUrl;
String? serviceCategoryImageUrl; // String? serviceCategoryImageUrl;
bool? isActive; // bool? isActive;
bool? isSelected; // bool? isSelected;
//
ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false}); // ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false});
//
ProviderCategoryModel.fromJson(Map<String, dynamic> json) { // ProviderCategoryModel.fromJson(Map<String, dynamic> json) {
id = json['id']; // id = json['id'];
categoryName = json['categoryName']; // categoryName = json['categoryName'];
categoryNameN = json['categoryNameN']; // categoryNameN = json['categoryNameN'];
serviceCategoryIconUrl = json['serviceCategoryIconUrl']; // serviceCategoryIconUrl = json['serviceCategoryIconUrl'];
serviceCategoryImageUrl = json['serviceCategoryImageUrl']; // serviceCategoryImageUrl = json['serviceCategoryImageUrl'];
isActive = json['isActive']; // isActive = json['isActive'];
isSelected = false; // isSelected = false;
} // }
//
Map<String, dynamic> toJson() { // Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{}; // final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id; // data['id'] = id;
data['categoryName'] = categoryName; // data['categoryName'] = categoryName;
data['categoryNameN'] = categoryNameN; // data['categoryNameN'] = categoryNameN;
data['serviceCategoryIconUrl'] = serviceCategoryIconUrl; // data['serviceCategoryIconUrl'] = serviceCategoryIconUrl;
data['serviceCategoryImageUrl'] = serviceCategoryImageUrl; // data['serviceCategoryImageUrl'] = serviceCategoryImageUrl;
data['isActive'] = isActive; // data['isActive'] = isActive;
return data; // return data;
} // }
} // }

@ -1,65 +1,65 @@
class ProviderServiceModel { // class ProviderServiceModel {
int? id; // int? id;
String? description; // String? description;
String? descriptionN; // String? descriptionN;
String? serviceIconUrl; // String? serviceIconUrl;
String? serviceImageUrl; // String? serviceImageUrl;
int? serviceCategoryID; // int? serviceCategoryID;
bool? isActive; // bool? isActive;
String? categoryName; // String? categoryName;
bool? ispartial; // bool? ispartial;
int? appointmentPricePercentage; // int? appointmentPricePercentage;
int? refundAmountPercentage; // int? refundAmountPercentage;
bool? isSelected; // bool? isSelected;
//
ProviderServiceModel( // ProviderServiceModel(
{this.id, // {this.id,
this.description, // this.description,
this.descriptionN, // this.descriptionN,
this.serviceIconUrl, // this.serviceIconUrl,
this.serviceImageUrl, // this.serviceImageUrl,
this.serviceCategoryID, // this.serviceCategoryID,
this.isActive, // this.isActive,
this.categoryName, // this.categoryName,
this.ispartial, // this.ispartial,
this.appointmentPricePercentage, // this.appointmentPricePercentage,
this.refundAmountPercentage, // this.refundAmountPercentage,
this.isSelected = false, // this.isSelected = false,
}); // });
//
ProviderServiceModel.fromJson(Map<String, dynamic> json) { // ProviderServiceModel.fromJson(Map<String, dynamic> json) {
id = json['id']; // id = json['id'];
description = json['description']; // description = json['description'];
descriptionN = json['descriptionN']; // descriptionN = json['descriptionN'];
serviceIconUrl = json['serviceIconUrl']; // serviceIconUrl = json['serviceIconUrl'];
serviceImageUrl = json['serviceImageUrl']; // serviceImageUrl = json['serviceImageUrl'];
serviceCategoryID = json['serviceCategoryID']; // serviceCategoryID = json['serviceCategoryID'];
isActive = json['isActive']; // isActive = json['isActive'];
categoryName = json['categoryName']; // categoryName = json['categoryName'];
ispartial = json['ispartial']; // ispartial = json['ispartial'];
appointmentPricePercentage = json['appointmentPricePercentage']; // appointmentPricePercentage = json['appointmentPricePercentage'];
refundAmountPercentage = json['refundAmountPercentage']; // refundAmountPercentage = json['refundAmountPercentage'];
isSelected = false; // isSelected = false;
} // }
//
Map<String, dynamic> toJson() { // Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{}; // final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id; // data['id'] = id;
data['description'] = description; // data['description'] = description;
data['descriptionN'] = descriptionN; // data['descriptionN'] = descriptionN;
data['serviceIconUrl'] = serviceIconUrl; // data['serviceIconUrl'] = serviceIconUrl;
data['serviceImageUrl'] = serviceImageUrl; // data['serviceImageUrl'] = serviceImageUrl;
data['serviceCategoryID'] = serviceCategoryID; // data['serviceCategoryID'] = serviceCategoryID;
data['isActive'] = isActive; // data['isActive'] = isActive;
data['categoryName'] = categoryName; // data['categoryName'] = categoryName;
data['ispartial'] = ispartial; // data['ispartial'] = ispartial;
data['appointmentPricePercentage'] = appointmentPricePercentage; // data['appointmentPricePercentage'] = appointmentPricePercentage;
data['refundAmountPercentage'] = refundAmountPercentage; // data['refundAmountPercentage'] = refundAmountPercentage;
return data; // return data;
} // }
//
@override // @override
String toString() { // 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}'; // 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}';
} // }
} // }

@ -1,4 +1,4 @@
class ServiceModel { class BranchServiceModel {
final int? serviceProviderServiceId; final int? serviceProviderServiceId;
final dynamic providerServiceDescription; final dynamic providerServiceDescription;
final int? categoryId; final int? categoryId;
@ -15,7 +15,7 @@ class ServiceModel {
final int? itemsCount; final int? itemsCount;
bool isExpanded; bool isExpanded;
ServiceModel({ BranchServiceModel({
this.serviceProviderServiceId, this.serviceProviderServiceId,
this.providerServiceDescription, this.providerServiceDescription,
this.categoryId, this.categoryId,
@ -33,7 +33,7 @@ class ServiceModel {
required this.isExpanded, required this.isExpanded,
}); });
factory ServiceModel.fromJson(Map<String, dynamic> json) => ServiceModel( factory BranchServiceModel.fromJson(Map<String, dynamic> json) => BranchServiceModel(
serviceProviderServiceId: json["serviceProviderServiceID"], serviceProviderServiceId: json["serviceProviderServiceID"],
providerServiceDescription: json["providerServiceDescription"], providerServiceDescription: json["providerServiceDescription"],
categoryId: json["categoryID"], categoryId: json["categoryID"],

@ -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)); class ServiceItemModel {
String itemModelToJson(ItemModel data) => json.encode(data.toJson());
class ItemModel {
final int? messageStatus;
final int? totalItemsCount;
final List<ItemData>? data;
final String? message;
ItemModel({
this.messageStatus,
this.totalItemsCount,
this.data,
this.message,
});
factory ItemModel.fromJson(Map<String, dynamic> json) => ItemModel(
messageStatus: json["messageStatus"],
totalItemsCount: json["totalItemsCount"],
data: json["data"] == null ? [] : List<ItemData>.from(json["data"]!.map((x) => ItemData.fromJson(x))),
message: json["message"],
);
Map<String, dynamic> toJson() => {
"messageStatus": messageStatus,
"totalItemsCount": totalItemsCount,
"data": data == null ? [] : List<dynamic>.from(data!.map((x) => x.toJson())),
"message": message,
};
}
class ItemData {
final int? id; final int? id;
final String? name; final String? name;
final String? price; final String? price;
@ -51,7 +15,7 @@ class ItemData {
final bool? isAppointmentCustomerLoc; final bool? isAppointmentCustomerLoc;
bool? isUpdate; bool? isUpdate;
ItemData({ ServiceItemModel({
this.id, this.id,
this.name, this.name,
this.price, this.price,
@ -67,7 +31,7 @@ class ItemData {
this.isUpdate, this.isUpdate,
}); });
factory ItemData.fromJson(Map<String, dynamic> json) => ItemData( factory ServiceItemModel.fromJson(Map<String, dynamic> json) => ServiceItemModel(
id: json["id"], id: json["id"],
name: json["name"], name: json["name"],
price: json["price"].toString(), price: json["price"].toString(),

@ -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/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/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_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/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/appointments_models/appointment_list_model.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/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/cities.dart';
import 'package:mc_common_app/models/user/country.dart'; import 'package:mc_common_app/models/user/country.dart';
import 'package:mc_common_app/models/user/role.dart'; import 'package:mc_common_app/models/user/role.dart';
@ -23,16 +17,15 @@ abstract class CommonRepo {
Future<Role> getRoles(); Future<Role> getRoles();
Future<List<AppointmentListModel>> getMyAppointments(); Future<List<AppointmentListModel>> getMyAppointments();
Future<SSCarCheckScheduleModel> getCarCheckServiceScheduleDetails({required double lat, required double long}); Future<SSCarCheckScheduleModel> getCarCheckServiceScheduleDetails({required double lat, required double long});
Future<SSPhotoScheduleModel> getPhotographyServiceScheduleDetails({required double lat, required double long}); Future<SSPhotoScheduleModel> getPhotographyServiceScheduleDetails({required double lat, required double long});
Future<List<ProviderCategoryModel>> getProviderServiceCategories(); // Future<List<ProviderCategoryModel>> getProviderServiceCategories();
Future<List<ProviderServiceModel>> getProviderServices({required int categoryId}); // Future<List<ProviderServiceModel>> getProviderServices({required int categoryId});
} }
class CommonRepoImp implements CommonRepo { class CommonRepoImp implements CommonRepo {
@ -57,7 +50,6 @@ class CommonRepoImp implements CommonRepo {
return await apiClient.getJsonForObject((json) => Role.fromJson(json), ApiConsts.GetProviderRoles); return await apiClient.getJsonForObject((json) => Role.fromJson(json), ApiConsts.GetProviderRoles);
} }
@override @override
Future<List<AppointmentListModel>> getMyAppointments() async { Future<List<AppointmentListModel>> getMyAppointments() async {
var params = { var params = {
@ -104,22 +96,22 @@ class CommonRepoImp implements CommonRepo {
SSPhotoScheduleModel ssPhotoScheduleModel = SSPhotoScheduleModel.fromJson(genericRespModel.data[0]); SSPhotoScheduleModel ssPhotoScheduleModel = SSPhotoScheduleModel.fromJson(genericRespModel.data[0]);
return ssPhotoScheduleModel; return ssPhotoScheduleModel;
} }
//
@override // @override
Future<List<ProviderCategoryModel>> getProviderServiceCategories() async { // Future<List<ProviderCategoryModel>> getProviderServiceCategories() async {
GenericRespModel adsGenericModel = await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet); // 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])); // List<ProviderCategoryModel> providerCategories = List.generate(adsGenericModel.data.length, (index) => ProviderCategoryModel.fromJson(adsGenericModel.data[index]));
return providerCategories; // return providerCategories;
} // }
@override // @override
Future<List<ProviderServiceModel>> getProviderServices({required int categoryId}) async { // Future<List<ProviderServiceModel>> getProviderServices({required int categoryId}) async {
var postParams = { // var postParams = {
"ServiceCategoryID": categoryId.toString(), // "ServiceCategoryID": categoryId.toString(),
}; // };
GenericRespModel adsGenericModel = // GenericRespModel adsGenericModel =
await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet, queryParameters: postParams); // 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])); // List<ProviderServiceModel> providerServices = List.generate(adsGenericModel.data.length, (index) => ProviderServiceModel.fromJson(adsGenericModel.data[index]));
return providerServices; // return providerServices;
} // }
} }

@ -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/int_extensions.dart';
import 'package:mc_common_app/extensions/string_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/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/theme/colors.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
@ -16,7 +16,7 @@ class ProviderDetailsCard extends StatelessWidget {
final String providerRatings; final String providerRatings;
//TODO: items can be make a generaic, so we can add services/items in the future //TODO: items can be make a generaic, so we can add services/items in the future
final List<ServiceModel>? items; final List<BranchServiceModel>? items;
final Function() onCardTapped; final Function() onCardTapped;
const ProviderDetailsCard({ const ProviderDetailsCard({

Loading…
Cancel
Save