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: 'Pending', arrivalDate: DateTime(2020, 4, 30), departureDate: DateTime(2020, 4, 23)), Shipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100A', status: 'Delivered', arrivalDate: DateTime(2020, 4, 28), departureDate: DateTime(2020, 4, 15)), Shipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100B', status: 'Delivered', 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: 'Assigned', 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 e2.shipDate.compareTo(e1.shipDate); }); return _p; } List get completed { return shipments.where((e) => e.status == "Delivered").toList() ..sort((e1, e2) { return e2.shipDate.compareTo(e1.shipDate); }); } List get upcoming { return shipments .where((e) => e.status == "Pending" || e.status == "Assigned" || e.status == "Processed" || e.status == "Rescheduled") .toList() ..sort((e1, e2) { return e2.shipDate.compareTo(e1.shipDate); }); } void initUser(user) { super.initUser(user); } @override logout() async { shipments = []; } }