import 'package:fcs/vo/shipment.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; } void initUser(user) { super.initUser(user); } @override logout() async { shipments = []; } }