102 lines
2.9 KiB
Dart
102 lines
2.9 KiB
Dart
|
|
import 'dart:async';
|
||
|
|
|
||
|
|
import 'package:cloud_firestore/cloud_firestore.dart';
|
||
|
|
import 'package:fcs/model/base_model.dart';
|
||
|
|
import 'package:fcs/vo/message.dart';
|
||
|
|
import 'package:fcs/vo/package.dart';
|
||
|
|
import 'package:logging/logging.dart';
|
||
|
|
|
||
|
|
class MessageModel extends BaseModel {
|
||
|
|
final log = Logger('MessageModel');
|
||
|
|
|
||
|
|
StreamSubscription<QuerySnapshot> listener;
|
||
|
|
|
||
|
|
List<Message> messages = [
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Online Buyer",
|
||
|
|
date: DateTime(2020, 6, 1, 1, 1, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we received your goods. Please see in 'A202-3 #1'",
|
||
|
|
),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Online Buyer",
|
||
|
|
date: DateTime(2020, 6, 1, 1, 5, 1),
|
||
|
|
message: "Thank you. Will see the photos and check.",
|
||
|
|
isMe: false),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Online Buyer",
|
||
|
|
date: DateTime(2020, 6, 1, 2, 1, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we successfully processed your goods and ready for payment. Please see in 'INV202005010387'",
|
||
|
|
),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Online Buyer",
|
||
|
|
date: DateTime(2020, 6, 1, 2, 10, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we have confirmed your payment and ready to ship your packages.",
|
||
|
|
),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Shipper",
|
||
|
|
date: DateTime(2020, 6, 1, 1, 1, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we received your goods. Please see in 'A202-3 #1'",
|
||
|
|
),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Shipper",
|
||
|
|
date: DateTime(2020, 6, 1, 2, 1, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we successfully processed your goods and ready for payment. Please see in 'INV202005010387'",
|
||
|
|
),
|
||
|
|
Message(
|
||
|
|
senderName: "FCS System",
|
||
|
|
receiverName: "Shipper",
|
||
|
|
date: DateTime(2020, 6, 1, 2, 10, 1),
|
||
|
|
message:
|
||
|
|
"Hi Online Buyer, we have confirmed your payment and ready to ship your packages.",
|
||
|
|
),
|
||
|
|
];
|
||
|
|
|
||
|
|
List<Message> get lastMessage {
|
||
|
|
return [messages[2], messages[5]];
|
||
|
|
}
|
||
|
|
|
||
|
|
List<Message> getMessage(String receiver) {
|
||
|
|
return messages.where((e) => e.receiverName == receiver).toList();
|
||
|
|
}
|
||
|
|
|
||
|
|
// List<Package> get completed {
|
||
|
|
// return packages.where((e) => e.status == "Delivered").toList()
|
||
|
|
// ..sort((e1, e2) {
|
||
|
|
// return e2.packageNumber.compareTo(e1.packageNumber);
|
||
|
|
// });
|
||
|
|
// }
|
||
|
|
|
||
|
|
// List<Package> get upcoming {
|
||
|
|
// return packages
|
||
|
|
// .where((e) =>
|
||
|
|
// e.status == "Processing" ||
|
||
|
|
// e.status == "Received" ||
|
||
|
|
// e.status == "Ready to ship")
|
||
|
|
// .toList()
|
||
|
|
// ..sort((e1, e2) {
|
||
|
|
// return e2.packageNumber.compareTo(e1.packageNumber);
|
||
|
|
// });
|
||
|
|
// }
|
||
|
|
|
||
|
|
void initUser(user) {
|
||
|
|
super.initUser(user);
|
||
|
|
}
|
||
|
|
|
||
|
|
@override
|
||
|
|
logout() async {
|
||
|
|
if (listener != null) await listener.cancel();
|
||
|
|
messages = [];
|
||
|
|
}
|
||
|
|
}
|