|
|
|
import 'package:akuCommunity/model/common/img_model.dart';
|
|
|
|
|
|
|
|
class VotingDetailModel {
|
|
|
|
int id;
|
|
|
|
String title;
|
|
|
|
String content;
|
|
|
|
int status;
|
|
|
|
int totals;
|
|
|
|
List<ImgModel> imgUrls;
|
|
|
|
List<AppVoteCandidateVos> appVoteCandidateVos;
|
|
|
|
|
|
|
|
String get firstImage {
|
|
|
|
if (imgUrls == null) return '';
|
|
|
|
if (imgUrls.isEmpty) return '';
|
|
|
|
return imgUrls.first.url ?? '';
|
|
|
|
}
|
|
|
|
|
|
|
|
VotingDetailModel(
|
|
|
|
{this.id,
|
|
|
|
this.title,
|
|
|
|
this.content,
|
|
|
|
this.status,
|
|
|
|
this.totals,
|
|
|
|
this.imgUrls,
|
|
|
|
this.appVoteCandidateVos});
|
|
|
|
|
|
|
|
VotingDetailModel.fromJson(Map<String, dynamic> json) {
|
|
|
|
id = json['id'];
|
|
|
|
title = json['title'];
|
|
|
|
content = json['content'];
|
|
|
|
status = json['status'];
|
|
|
|
totals = json['totals'];
|
|
|
|
if (json['imgUrls'] != null) {
|
|
|
|
imgUrls = new List<ImgModel>();
|
|
|
|
json['imgUrls'].forEach((v) {
|
|
|
|
imgUrls.add(new ImgModel.fromJson(v));
|
|
|
|
});
|
|
|
|
} else
|
|
|
|
imgUrls = [];
|
|
|
|
if (json['appVoteCandidateVos'] != null) {
|
|
|
|
appVoteCandidateVos = new List<AppVoteCandidateVos>();
|
|
|
|
json['appVoteCandidateVos'].forEach((v) {
|
|
|
|
appVoteCandidateVos.add(new AppVoteCandidateVos.fromJson(v));
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
data['id'] = this.id;
|
|
|
|
data['title'] = this.title;
|
|
|
|
data['content'] = this.content;
|
|
|
|
data['status'] = this.status;
|
|
|
|
data['totals'] = this.totals;
|
|
|
|
if (this.imgUrls != null) {
|
|
|
|
data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList();
|
|
|
|
}
|
|
|
|
if (this.appVoteCandidateVos != null) {
|
|
|
|
data['appVoteCandidateVos'] =
|
|
|
|
this.appVoteCandidateVos.map((v) => v.toJson()).toList();
|
|
|
|
}
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class ImgUrls {
|
|
|
|
String url;
|
|
|
|
String size;
|
|
|
|
int longs;
|
|
|
|
int paragraph;
|
|
|
|
int sort;
|
|
|
|
|
|
|
|
ImgUrls({this.url, this.size, this.longs, this.paragraph, this.sort});
|
|
|
|
|
|
|
|
ImgUrls.fromJson(Map<String, dynamic> json) {
|
|
|
|
url = json['url'];
|
|
|
|
size = json['size'];
|
|
|
|
longs = json['longs'];
|
|
|
|
paragraph = json['paragraph'];
|
|
|
|
sort = json['sort'];
|
|
|
|
}
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
data['url'] = this.url;
|
|
|
|
data['size'] = this.size;
|
|
|
|
data['longs'] = this.longs;
|
|
|
|
data['paragraph'] = this.paragraph;
|
|
|
|
data['sort'] = this.sort;
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class AppVoteCandidateVos {
|
|
|
|
int id;
|
|
|
|
String name;
|
|
|
|
int total;
|
|
|
|
List<ImgModel> imgUrls;
|
|
|
|
|
|
|
|
AppVoteCandidateVos({this.id, this.name, this.total, this.imgUrls});
|
|
|
|
|
|
|
|
AppVoteCandidateVos.fromJson(Map<String, dynamic> json) {
|
|
|
|
id = json['id'];
|
|
|
|
name = json['name'];
|
|
|
|
total = json['total'];
|
|
|
|
if (json['imgUrls'] != null) {
|
|
|
|
imgUrls = new List<ImgModel>();
|
|
|
|
json['imgUrls'].forEach((v) {
|
|
|
|
imgUrls.add(new ImgModel.fromJson(v));
|
|
|
|
});
|
|
|
|
} else
|
|
|
|
imgUrls = [];
|
|
|
|
}
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
data['id'] = this.id;
|
|
|
|
data['name'] = this.name;
|
|
|
|
data['total'] = this.total;
|
|
|
|
if (this.imgUrls != null) {
|
|
|
|
data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList();
|
|
|
|
}
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
}
|