You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.6 KiB

3 years ago
class Campaign {
String? campaignID;
String? description;
String? businessID;
String? status;
String? title;
DateTime? startDate;
String? targetProduct;
int? rewards;
3 years ago
Campaign({
this.businessID,
this.campaignID,
this.description,
this.rewards,
this.startDate,
this.status,
this.targetProduct,
this.title,
});
factory Campaign.fromJSON(Map<String, dynamic> json) {
return Campaign(
businessID: json["businessId"],
campaignID: json["campaignId"],
description: json["description"],
status: json["status"],
title: json["title"],
startDate: DateTime.tryParse((json["startDate"].toString())),
targetProduct: json["targetProduct"],
rewards: int.tryParse((json["rewards"].toString())),
);
}
Map<dynamic, dynamic> toJson() {
final Map<dynamic, dynamic> data = Map<dynamic, dynamic>();
try {
data['businessId'] = this.businessID;
data['campaignId'] = this.campaignID;
data['description'] = this.description;
data['status'] = this.status.toString();
data['startDate'] = this.startDate.toString();
data['title'] = this.title;
data['targetProduct'] = this.targetProduct;
data['rewards'] = this.rewards;
} catch (e) {
print(e);
}
return data;
}
@override
String toString() {
return '{"businessId": "$businessID", "campaignId": "$campaignID", "description": "$description", "status": "$status",' +
'"startDate": "$startDate", "title": "$title", "targetProduct": "$targetProduct", "rewards": "$rewards"}';
}
}