Untitled
unknown
dart
4 years ago
6.5 kB
6
Indexable
import 'package:iketfaa_delivery/App/Delivery/Models/Main/OrderAddress.dart';
import 'package:iketfaa_delivery/App/Delivery/Models/Main/OrderCanceled.dart';
class Cart {
String? orderID;
int? paymentType, orderType, orderStatus;
String? customerName, customerID, customerMobileNumber, offerID;
OrderAddress? customerAddress;
OrderCanceled? orderCanceled;
double? firstEstimatePrice, secondEstimatePrice, rate, totalPrice;
List<StoreOrder>? orders;
bool? arrived, moneyReceived;
DateTime? date;
Cart(
{this.customerID,
this.customerName,
this.customerAddress,
this.customerMobileNumber,
this.orderStatus,
this.orders,
this.orderType,
this.orderID,
this.paymentType,
this.firstEstimatePrice,
this.secondEstimatePrice,
this.rate,
this.totalPrice,
this.arrived,
this.moneyReceived,
this.offerID,
this.orderCanceled,
this.date});
Cart.fromJson(Map<String, dynamic> json) {
orderType = json['orderType'];
orderID = json['orderID'];
offerID = json['offerID'];
customerID = json['customerID'];
customerName = json['customerName'];
customerMobileNumber = json['customerMobileNumber'];
customerAddress = json['customerAddress'] == null
? null
: OrderAddress.fromMap(json['customerAddress']);
orderStatus = json['orderStatus'];
paymentType = json['paymentType'];
if (json['orders'] != null) {
orders = <StoreOrder>[];
json['orders'].forEach((v) {
orders!.add(new StoreOrder.fromJson(v));
});
}
firstEstimatePrice = json['firstEstimatePrice'];
secondEstimatePrice = json['secondEstimatePrice'];
rate = json['rate'] == null ? null : json['rate'].toDouble();
totalPrice = json['totalPrice'];
arrived = json['arrived'];
moneyReceived = json['moneyReceived'];
orderCanceled = json['orderCanceled'] == null
? null
: OrderCanceled.fromJson(json['orderCanceled']);
date = json['date'] == null
? json['date']
: json['date'].toString().contains(':')
? json['date']
: json['date'].toDate();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['orderType'] = this.orderType;
data['orderID'] = this.orderID;
data['offerID'] = this.offerID;
data['customerID'] = this.customerID;
data['customerName'] = this.customerName;
data['customerAddress'] =
this.customerAddress == null ? null : this.customerAddress!.toMap();
data['customerMobileNumber'] = this.customerMobileNumber;
data['orderStatus'] = this.orderStatus;
data['paymentType'] = this.paymentType;
if (this.orders!.isNotEmpty) {
data['orders'] = this.orders!.map((v) => v.toJson()).toList();
}
data['firstEstimatePrice'] = this.firstEstimatePrice;
data['secondEstimatePrice'] = this.secondEstimatePrice;
data['rate'] = this.rate;
data['totalPrice'] = this.totalPrice;
data['arrived'] = this.arrived;
data['moneyReceived'] = this.moneyReceived;
data['orderCanceled'] = this.orderCanceled;
data['date'] = this.date;
return data;
}
}
class StoreOrder {
String? storeID;
String? storeName;
String? storeCategory;
String? storeImageRef;
String? reason;
double? rating;
int? storeType;
StoreLocation? storeLocation;
List<String>? images;
List<OrderItem>? orderItems;
bool? done;
StoreOrder(
{this.storeID,
this.storeName,
this.storeCategory,
this.storeImageRef,
this.storeLocation,
this.reason,
this.images,
this.orderItems,
this.storeType,
this.rating,
this.done});
StoreOrder.fromJson(Map<String, dynamic> json) {
storeID = json['storeID'];
storeName = json['storeName'];
storeCategory = json['storeCategory'];
storeImageRef = json['storeImageRef'];
storeLocation = StoreLocation.fromJson(json['storeLocation']);
reason = json['reason'];
images = json['images'].cast<String>();
storeType = json['storeType'];
rating = json['rating'];
if (json['orderItems'] != null) {
orderItems = <OrderItem>[];
json['orderItems'].forEach((v) {
orderItems!.add(new OrderItem.fromJson(v));
});
}
done = json['done'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['storeID'] = this.storeID;
data['storeName'] = this.storeName;
data['storeCategory'] = this.storeCategory;
data['storeImageRef'] = this.storeImageRef;
data['storeLocation'] = this.storeLocation!.toJson();
data['reason'] = this.reason;
data['images'] = this.images;
data['storeType'] = this.storeType;
data['rating'] = this.rating;
if (this.orderItems!.isNotEmpty) {
data['orderItems'] = this.orderItems!.map((v) => v.toJson()).toList();
}
data['done'] = this.done;
return data;
}
}
class StoreLocation {
double? lat;
double? lng;
String? street;
String? city;
double? distanceFromUser;
StoreLocation(
{this.lat, this.lng, this.street, this.city, this.distanceFromUser});
StoreLocation.fromJson(Map<String, dynamic> json) {
lat = json['lat'];
lng = json['lng'];
street = json['street'];
city = json['city'];
distanceFromUser = json['distanceFromUser'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['lat'] = this.lat;
data['lng'] = this.lng;
data['street'] = this.street;
data['city'] = this.city;
data['distanceFromUser'] = this.distanceFromUser;
return data;
}
}
class OrderImage {
late String url;
OrderImage({required this.url});
OrderImage.fromJson(Map<String, dynamic> json) {
url = json['url'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['url'] = this.url;
return data;
}
}
class OrderItem {
late String description;
late int quantity;
OrderItem({required this.description, required this.quantity});
OrderItem.fromJson(Map<String, dynamic> json) {
description = json['description'];
quantity = json['quantity'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['description'] = this.description;
data['quantity'] = this.quantity;
return data;
}
}
Editor is loading...