import 'package:fcs/vo/shipment.dart'; import 'package:fcs/vo/shipping_address.dart'; import 'base_model.dart'; class ShipmentModel extends BaseModel { List shipmentType = ['Air', 'Ship', 'Cargo Truck']; List shipments = [ Shipment( shipDate: DateTime(2020, 4, 23), shipmentNumber: 'A103B', status: 'In Progress', arrivalDate: DateTime(2020, 4, 30), departureDate: DateTime(2020, 4, 23)), Shipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100A', status: 'Ready to ship', arrivalDate: DateTime(2020, 4, 28), departureDate: DateTime(2020, 4, 15)), Shipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100B', status: 'Arrived', arrivalDate: DateTime(2020, 4, 28), departureDate: DateTime(2020, 4, 15)), Shipment( shipDate: DateTime(2020, 4, 10), shipmentNumber: 'A102B', status: 'Canceled', arrivalDate: DateTime(2020, 4, 20), departureDate: DateTime(2020, 4, 10)), Shipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100B', status: 'Canceled', arrivalDate: DateTime(2020, 4, 20), departureDate: DateTime(2020, 4, 23)), Shipment( shipDate: DateTime(2020, 4, 10), shipmentNumber: 'A102B', status: 'Arrived', arrivalDate: DateTime(2020, 4, 30), departureDate: DateTime(2020, 4, 20), ) ]; List get canceled { List _p = shipments.where((e) => e.status == "Canceled").toList() ..sort((e1, e2) { return e1.shipDate.compareTo(e2.shipDate); }); return _p; } List get completed { return shipments.where((e) => e.status == "Arrived").toList() ..sort((e1, e2) { return e1.shipDate.compareTo(e2.shipDate); }); } List get upcoming { List _shipments = shipments .where((e) => e.status == "In Progress" || e.status == "Ready to ship" || e.status == "Processed" || e.status == "Rescheduled") .toList(); _shipments.sort((e1, e2) { return e1.shipDate.compareTo(e2.shipDate); }); return _shipments; } List shippingAddresses = [ ShippingAddress( fullName: 'U Nyi Nyi', addressLine1: '154-19 64th Ave.', addressLine2: 'Flushing', city: 'NY', state: 'NY', phoneNumber: '+1 (292)215-2247'), ShippingAddress( fullName: 'Mg Myo', addressLine1: '153-154 5th Thitsar.', addressLine2: 'Flushing', city: 'Yangon', state: 'Yangon', phoneNumber: '+09 5724 87508'), ]; void initUser(user) { super.initUser(user); } @override logout() async { shipments = []; } }