106 lines
3.1 KiB
Dart
106 lines
3.1 KiB
Dart
class MostPopularModel {
|
|
final int id;
|
|
final int vendorId;
|
|
final int serviceType;
|
|
final String vendorName;
|
|
final String? vendorNameAlt;
|
|
final String serviceName;
|
|
final int category;
|
|
final int subcategory;
|
|
final String workingHours;
|
|
final String workingDuration;
|
|
final String amount;
|
|
final String location;
|
|
final String description;
|
|
final String details;
|
|
final List<String>? images1; // ✅ updated from String? to List<String>?
|
|
final String? videos;
|
|
final String createdDate;
|
|
|
|
final String? profilePic1; // ✅ new field
|
|
final double? averageReview;
|
|
final String phoneNumber;
|
|
|
|
MostPopularModel({
|
|
required this.id,
|
|
required this.vendorId,
|
|
required this.serviceType,
|
|
required this.vendorName,
|
|
this.vendorNameAlt,
|
|
required this.serviceName,
|
|
required this.category,
|
|
required this.subcategory,
|
|
required this.workingHours,
|
|
required this.workingDuration,
|
|
required this.amount,
|
|
required this.location,
|
|
required this.description,
|
|
required this.details,
|
|
this.images1,
|
|
this.videos,
|
|
required this.createdDate,
|
|
|
|
this.profilePic1, // ✅ new field
|
|
this.averageReview,
|
|
required this.phoneNumber,
|
|
});
|
|
|
|
factory MostPopularModel.fromJson(Map<String, dynamic> json) {
|
|
return MostPopularModel(
|
|
id: json['id'] ?? 0,
|
|
vendorId: json['vendor_id'] ?? 0,
|
|
serviceType: json['service_type'] ?? 0,
|
|
vendorName: json['vendorname'] ?? '',
|
|
vendorNameAlt: json['vendor_name'],
|
|
serviceName: json['servicename'] ?? '',
|
|
category: json['category'] ?? 0,
|
|
subcategory: json['subcategory'] ?? 0,
|
|
workingHours: json['workinghours'] ?? '',
|
|
workingDuration: json['workingduration'] ?? '',
|
|
amount: json['amount']?.toString() ?? '',
|
|
location: json['location'] ?? '',
|
|
description: json['description'] ?? '',
|
|
details: json['details'] ?? '',
|
|
images1:
|
|
(json['images1'] != null) ? List<String>.from(json['images1']) : null,
|
|
videos: json['videos'],
|
|
createdDate: json['created_date'] ?? '',
|
|
|
|
profilePic1: json['profile_pic1'], // ✅ new field
|
|
averageReview:
|
|
json['average_review'] != null
|
|
? (json['average_review'] is double)
|
|
? json['average_review']
|
|
: double.tryParse(json['average_review'].toString())
|
|
: null,
|
|
phoneNumber: json['phone_number'] ?? '',
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': id,
|
|
'vendor_id': vendorId,
|
|
'service_type': serviceType,
|
|
'vendorname': vendorName,
|
|
'vendor_name': vendorNameAlt,
|
|
'servicename': serviceName,
|
|
'category': category,
|
|
'subcategory': subcategory,
|
|
'workinghours': workingHours,
|
|
'workingduration': workingDuration,
|
|
'amount': amount,
|
|
'location': location,
|
|
'description': description,
|
|
'details': details,
|
|
'images1': images1,
|
|
'videos': videos,
|
|
'created_date': createdDate,
|
|
|
|
'profile_pic1': profilePic1, // ✅ new field
|
|
'average_review': averageReview,
|
|
'phone_number': phoneNumber,
|
|
};
|
|
}
|
|
}
|