Files
fcs/lib/domain/vo/message.dart

59 lines
1.3 KiB
Dart
Raw Normal View History

2020-09-20 05:34:49 +06:30
import 'package:cloud_firestore/cloud_firestore.dart';
class Message {
String id;
String message;
DateTime date;
String receiverID;
String receiverName;
String senderID;
String senderName;
String messageType;
String messageID;
Message(
{this.id,
this.message,
this.date,
this.receiverID,
this.receiverName,
this.senderID,
this.senderName,
this.messageType,
this.messageID});
bool fromToday() {
var now = DateTime.now();
return date.day == now.day &&
date.month == now.month &&
date.year == now.year;
}
Map<String, dynamic> toMap() {
return {
'message': message,
"receiver_id": receiverID,
};
}
bool sameDay(Message another) {
return date.year == another.date.year &&
date.month == another.date.month &&
date.day == another.date.day;
}
factory Message.fromMap(Map<String, dynamic> map, String id) {
var date = (map['date'] as Timestamp);
return Message(
id: id,
message: map['message'],
senderID: map['sender_id'],
senderName: map['sender_name'],
receiverID: map['receiver_id'],
receiverName: map['receiver_name'],
messageType: map['msg_type'],
messageID: map['msg_id'],
date: date != null ? date.toDate() : null,
);
}
}