139 lines
4.0 KiB
Dart
139 lines
4.0 KiB
Dart
// プロパティの型がString?やint?などのオプショナル型になっています。
|
|
// これらのプロパティが常に値を持つことが保証されている場合は、非オプショナル型を使用することで、不要なnullチェックを回避できます。
|
|
//
|
|
class Destination {
|
|
String? name;
|
|
String? address;
|
|
String? phone;
|
|
String? email;
|
|
String? webcontents;
|
|
String? videos;
|
|
String? category;
|
|
int? series;
|
|
double? lat;
|
|
double? lon;
|
|
String? sub_loc_id;
|
|
int? location_id;
|
|
int? list_order;
|
|
String? photos;
|
|
double? checkin_radious;
|
|
int? auto_checkin;
|
|
bool? selected = false;
|
|
bool? checkedin = false;
|
|
double? cp;
|
|
double? checkin_point;
|
|
double? buy_point;
|
|
int? hidden_location;
|
|
String? checkin_image;
|
|
String? buypoint_image;
|
|
bool forced_checkin = false;
|
|
int recipt_times = 0;
|
|
String? tags;
|
|
|
|
bool use_qr_code = false; // QR code を使用するかどうか。default=false
|
|
|
|
Destination(
|
|
{this.name,
|
|
this.address,
|
|
this.phone,
|
|
this.email,
|
|
this.webcontents,
|
|
this.videos,
|
|
this.category,
|
|
this.series,
|
|
this.lat,
|
|
this.lon,
|
|
this.sub_loc_id,
|
|
this.location_id,
|
|
this.list_order,
|
|
this.photos,
|
|
this.checkin_radious,
|
|
this.auto_checkin,
|
|
this.selected,
|
|
this.checkedin,
|
|
this.cp,
|
|
this.checkin_point,
|
|
this.buy_point,
|
|
this.hidden_location,
|
|
this.checkin_image,
|
|
this.buypoint_image,
|
|
this.forced_checkin = false,
|
|
this.recipt_times = 0,
|
|
this.tags}); //, ... use_qr_code をDBに追加したらオープン
|
|
// this.use_qr_code = false});
|
|
|
|
factory Destination.fromMap(Map<String, dynamic> json) {
|
|
bool selec = json['selected'] == 0 ? false : true;
|
|
bool checkin = json['checkedin'] == 0 ? false : true;
|
|
bool forcedCheckin = json['forced_checkin'] == 0 ? false : true;
|
|
bool useQrCode = json['use_qr_code'] == 1 ? true : false;
|
|
//print("-----tags model----- ${json}");
|
|
|
|
return Destination(
|
|
name: json['name'],
|
|
address: json['address'],
|
|
phone: json['phone'],
|
|
email: json['email'],
|
|
webcontents: json['webcontents'],
|
|
videos: json['videos'],
|
|
category: json['category'],
|
|
series: json['series'],
|
|
lat: json['lat'],
|
|
lon: json['lon'],
|
|
sub_loc_id: json['sub_loc_id'],
|
|
location_id: json['location_id'],
|
|
list_order: json['list_order'],
|
|
photos: json['photos'],
|
|
checkin_radious: json['checkin_radious'],
|
|
auto_checkin: json['auto_checkin'],
|
|
selected: selec,
|
|
checkedin: checkin,
|
|
cp: json['cp'],
|
|
checkin_point: json['checkin_point'],
|
|
buy_point: json['buy_point'],
|
|
hidden_location: json['hidden_location'],
|
|
checkin_image: json['checkin_image'],
|
|
buypoint_image: json["buypoint_image"],
|
|
forced_checkin: forcedCheckin,
|
|
recipt_times: json["recipt_times"],
|
|
tags: json["tags"] ); //,
|
|
// use_qr_code: useQrCode);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
int sel = selected == false ? 0 : 1;
|
|
int check = checkedin == false ? 0 : 1;
|
|
int forcedCheckin = forced_checkin == false ? 0 : 1;
|
|
return {
|
|
'name': name,
|
|
'address': address,
|
|
'phone': phone,
|
|
'email': email,
|
|
'webcontents': webcontents,
|
|
'videos': videos,
|
|
'category': category,
|
|
'series': series,
|
|
'lat': lat,
|
|
'lon': lon,
|
|
'sub_loc_id': sub_loc_id,
|
|
'location_id': location_id,
|
|
'list_order': list_order,
|
|
'photos': photos,
|
|
'checkin_radious': checkin_radious,
|
|
'auto_checkin': auto_checkin,
|
|
'selected': sel,
|
|
'checkedin': check,
|
|
'cp': cp,
|
|
'checkin_point': checkin_point,
|
|
'buy_point': buy_point,
|
|
'hidden_location': hidden_location,
|
|
'checkin_image': checkin_image,
|
|
'buypoint_image': buypoint_image,
|
|
'forced_checkin': forcedCheckin,
|
|
'recipt_times': recipt_times,
|
|
'tags': tags //,
|
|
//'use_qr_code': use_qr_code
|
|
};
|
|
}
|
|
}
|