messageFromJsonDictionary static method
Creates and initializes a MBMessage
from a JSON dictionary.
@param jsonDictionary The JSON dictionary to convert.
@returns The message created with the data of the JSON.
Implementation
static MBMessage messageFromJsonDictionary(
Map<String, dynamic> jsonDictionary) {
int id = jsonDictionary['id'];
String title = jsonDictionary['title'];
String messageDescription = jsonDictionary['messageDescription'];
String messageTypeString = jsonDictionary['type'];
MBMessageType messageType = _messageTypeForString(messageTypeString);
int createdAtInt = jsonDictionary['createdAt'];
int? startDateInt = jsonDictionary['startDate'];
int? endDateInt = jsonDictionary['endDate'];
bool automationIsOn = jsonDictionary['automationIsOn'];
int sendAfterDays = jsonDictionary['sendAfterDays'];
int repeatTimes = jsonDictionary['repeatTimes'];
MBInAppMessage? inAppMessage;
MBPushMessage? pushMessage;
MBMessageTriggers? triggers;
if (jsonDictionary['inAppMessage'] != null) {
inAppMessage = MBInAppMessageSavingUtility.inAppMessageFromJsonDictionary(
jsonDictionary['inAppMessage']);
}
if (jsonDictionary['push'] != null) {
pushMessage = MBPushMessageSavingUtility.pushMessageFromJsonDictionary(
jsonDictionary['push']);
}
if (jsonDictionary['triggers'] != null) {
triggers =
MBMessageTriggers.fromJsonDictionary(jsonDictionary['triggers']);
}
MBMessage message = MBMessage(
id: id,
title: title,
messageDescription: messageDescription,
messageType: messageType,
createdAt: DateTime.fromMillisecondsSinceEpoch(createdAtInt * 1000),
startDate: startDateInt != null
? DateTime.fromMillisecondsSinceEpoch(startDateInt * 1000)
: null,
endDate: endDateInt != null
? DateTime.fromMillisecondsSinceEpoch(endDateInt * 1000)
: null,
automationIsOn: automationIsOn,
inAppMessage: inAppMessage,
pushMessage: pushMessage,
sendAfterDays: sendAfterDays,
repeatTimes: repeatTimes,
triggers: triggers,
);
return message;
}