import 'package:fcs/data/services/services.dart'; import 'package:fcs/domain/entities/fcs_shipment.dart'; import 'package:fcs/pages/main/model/base_model.dart'; class FcsShipmentModel extends BaseModel { List shipmentType = ['Air', 'Ship', 'Cargo Truck']; List shipments = [ FcsShipment( shipDate: DateTime(2020, 4, 23), shipmentNumber: 'A103B', status: 'In Progress', arrivalDate: DateTime(2020, 4, 30), departureDate: DateTime(2020, 4, 23)), FcsShipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100A', status: 'Ready to ship', arrivalDate: DateTime(2020, 4, 28), departureDate: DateTime(2020, 4, 15)), FcsShipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100B', status: 'Arrived', arrivalDate: DateTime(2020, 4, 28), departureDate: DateTime(2020, 4, 15)), FcsShipment( shipDate: DateTime(2020, 4, 10), shipmentNumber: 'A102B', status: 'Canceled', arrivalDate: DateTime(2020, 4, 20), departureDate: DateTime(2020, 4, 10)), FcsShipment( shipDate: DateTime(2020, 4, 2), shipmentNumber: 'A100B', status: 'Canceled', arrivalDate: DateTime(2020, 4, 20), departureDate: DateTime(2020, 4, 23)), FcsShipment( 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 = []; } }