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 listener; List messages = [ Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 1, 1, 1), message: "Hi Ko Myo Min, we received your goods. Please see the following link", ), Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 1, 1, 1), message: "'A202-3 #1'", ), Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 1, 5, 1), message: "Thank you. Will check the photos.", isMe: false), Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 2, 1, 1), message: "Hi Ko Myo Min, we successfully processed your goods and ready for payment. Please see in the following link.", ), Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 2, 1, 1), message: "'INV202005010387'", ), Message( senderName: "FCS System", receiverName: "Ko Myo Min", date: DateTime(2020, 6, 1, 2, 10, 1), message: "Hi Ko Myo Min, 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 Ko Myo Min, we received your goods. Please see in the following link.", ), Message( senderName: "FCS System", receiverName: "Shipper", date: DateTime(2020, 6, 1, 1, 1, 1), message: "'A202-3 #1'", ), Message( senderName: "FCS System", receiverName: "Shipper", date: DateTime(2020, 6, 1, 2, 1, 1), message: "Hi FCS Team, we successfully processed your goods and ready for payment. Please see in the following link.", ), Message( senderName: "FCS System", receiverName: "Shipper", date: DateTime(2020, 6, 1, 2, 1, 1), message: "'INV202005010387'", ), Message( senderName: "FCS System", receiverName: "Shipper", date: DateTime(2020, 6, 1, 2, 10, 1), message: "Hi FCS Team, we have confirmed your payment and ready to ship your packages.", ), Message( senderName: "Ko Myo Min", receiverName: "FCS Team", date: DateTime(2020, 6, 1, 2, 10, 1), message: "Hi Ko Myo Min, we have recevied your pickup request. We will arrange the pickup soon. Thank you.", ), ]; List get lastMessage { return [messages[2], messages[6]]; } List getMessage(String receiver) { return messages.where((e) => e.receiverName == receiver).toList(); } // List get completed { // return packages.where((e) => e.status == "Delivered").toList() // ..sort((e1, e2) { // return e2.packageNumber.compareTo(e1.packageNumber); // }); // } // List 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 = []; } }