Files
fcs/lib/model/pickup_model.dart
Sai Naw Wun 3f6a66b887 add pickups
2020-05-31 15:00:11 +06:30

162 lines
4.5 KiB
Dart

import 'dart:async';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:fcs/vo/fcs_profile.dart';
import 'package:fcs/vo/pickup.dart';
import 'package:logging/logging.dart';
import 'base_model.dart';
class PickUpModel extends BaseModel {
final log = Logger('PickUpModel');
StreamSubscription<QuerySnapshot> listener;
var profile = FCSProfile(
id: '1',
usaAddress:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247',
mmAddress: 'FCS Trading Myanmar\nRoom 333, Yangon',
usaContactNumber: '1 (929) 215-2247',
mmContactNumber: '+95 9 700224723',
mail: 'admin@fcs.com',
facebook: 'https://facebook.com/fcs');
List<PickUp> pickups = [
PickUp(
id: "P200412 - 12 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: 'Pending',
date: DateTime(2020, 5, 1),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200125 - 12 May 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: 'Assigned',
date: DateTime(2020, 5, 6),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200441 - 13 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: "Pickuped",
date: DateTime(2020, 5, 9),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200412 - 12 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: 'Pickuped',
date: DateTime(2020, 5, 15),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200125 - 12 May 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: 'Pickuped',
date: DateTime(2020, 5, 20),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200441 - 13 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: "Pickuped",
date: DateTime(2020, 5, 21),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200441 - 10 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: "Canceled",
date: DateTime(2020, 5, 25),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
PickUp(
id: "P200441 - 6 Apr 2020",
userName: "Ko Kyaw Nyi",
phoneNumber: '+959111111111',
fromTime: '1PM',
toTime: '3PM',
numberOfPackage: 5,
weight: 25,
status: "Canceled",
date: DateTime(2020, 5, 27),
address:
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
];
List<PickUp> get canceled {
List<PickUp> _p = pickups.where((e) => e.status == "Canceled").toList()
..sort((e1, e2) {
return e2.date.compareTo(e1.date);
});
return _p;
}
List<PickUp> get completed {
return pickups.where((e) => e.status == "Pickuped").toList()
..sort((e1, e2) {
return e2.date.compareTo(e1.date);
});
}
List<PickUp> get upcoming {
return pickups
.where((e) =>
e.status == "Pending" ||
e.status == "Assigned" ||
e.status == "Processed" ||
e.status == "Rescheduled")
.toList()
..sort((e1, e2) {
return e2.date.compareTo(e1.date);
});
}
void initUser(user) {
super.initUser(user);
}
@override
logout() async {
if (listener != null) await listener.cancel();
pickups = [];
}
}