25-3/12/1
This commit is contained in:
66
lib/models/model/order_data.dart
Normal file
66
lib/models/model/order_data.dart
Normal file
@@ -0,0 +1,66 @@
|
||||
// lib/models/order_data.dart
|
||||
class OrderData {
|
||||
final String customerName;
|
||||
final double distance;
|
||||
final String price;
|
||||
final String startLocation;
|
||||
final String endLocation;
|
||||
final String passengerDistance;
|
||||
final String duration;
|
||||
final String rideType;
|
||||
final String orderId;
|
||||
final String passengerId;
|
||||
final String passengerRate;
|
||||
|
||||
OrderData({
|
||||
required this.customerName,
|
||||
required this.distance,
|
||||
required this.price,
|
||||
required this.startLocation,
|
||||
required this.endLocation,
|
||||
required this.passengerDistance,
|
||||
required this.duration,
|
||||
required this.rideType,
|
||||
required this.orderId,
|
||||
required this.passengerId,
|
||||
required this.passengerRate,
|
||||
});
|
||||
|
||||
// Factory constructor to create an OrderData instance from a List<dynamic>.
|
||||
// This handles parsing and provides default values for safety.
|
||||
factory OrderData.fromList(List<dynamic> list) {
|
||||
return OrderData(
|
||||
customerName: list.length > 8 ? list[8].toString() : 'Unknown Customer',
|
||||
distance:
|
||||
list.length > 5 ? (double.tryParse(list[5].toString()) ?? 0.0) : 0.0,
|
||||
price: list.length > 2 ? list[2].toString().split('.')[0] : '0',
|
||||
startLocation: list.length > 29 ? list[29].toString() : 'Unknown',
|
||||
endLocation: list.length > 30 ? list[30].toString() : 'Unknown',
|
||||
passengerDistance: list.length > 12 ? list[12].toString() : 'Unknown',
|
||||
duration: list.length > 4
|
||||
? (double.parse(list[4].toString()) / 60).toStringAsFixed(0)
|
||||
: 'Unknown',
|
||||
rideType:
|
||||
list.length > 31 ? _getRideType(list[31].toString()) : 'Unknown',
|
||||
orderId: list.length > 16 ? list[16].toString() : 'Unknown',
|
||||
passengerId: list.length > 7 ? list[7].toString() : 'Unknown',
|
||||
passengerRate: list.length > 33 ? list[33].toString() : 'Unknown',
|
||||
);
|
||||
}
|
||||
static String _getRideType(String type) {
|
||||
switch (type) {
|
||||
case 'Comfort':
|
||||
return 'كمفورت ❄️';
|
||||
case 'Lady':
|
||||
return 'ليدي 👩';
|
||||
case 'Speed':
|
||||
return 'سبيد 🔻';
|
||||
case 'Mashwari':
|
||||
return 'مشواري';
|
||||
case 'Rayeh Gai':
|
||||
return 'رايح جاي';
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user