Files
rog_app/lib/model/destination.dart
2024-04-24 11:30:38 +09:00

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
};
}
}