// 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. // This handles parsing and provides default values for safety. factory OrderData.fromList(List 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 ''; } } }