import 'TesoBusinessDetail.dart'; import 'Product.dart'; class CouponDetails { String? couponId; String? businessId; Product? targetProduct; String? type; int? quantity; DateTime? expiration; double? worth; String? state; TesoBusinessDetail? issuer; double? productCost; double? lowerLimit; double? upperLimit; String? countID; String? condition; CouponDetails( {this.businessId, this.couponId, this.expiration, this.issuer, this.productCost, this.quantity, this.state, this.targetProduct, this.type, this.worth, this.lowerLimit, this.upperLimit, this.countID, this.condition}); factory CouponDetails.fromJSON(Map json) { try { return CouponDetails( businessId: json['businessId'], couponId: json['couponId'], targetProduct: Product.fromJson(json['target']), expiration: DateTime.parse((json['expiration'].toString())), issuer: TesoBusinessDetail.fromJSON(json['issuer']), productCost: double.tryParse((json['productCost']).toString()), lowerLimit: double.parse((json['lowerLimit']).toString()), upperLimit: double.parse((json['upperLimit']).toString()), quantity: json['quantity'], state: json['state'], type: json['type'], worth: double.parse((json['worth']).toString()) == 0.0 ? double.parse((json['lowerLimit']).toString()) : double.parse((json['worth']).toString()), countID: json['countID'].toString(), condition: json['condition'].toString()); } catch (e) { print(e); return CouponDetails(); } } factory CouponDetails.fromJSON2(Map json) { return CouponDetails( businessId: json['businessId'], couponId: json['couponId'], expiration: DateTime.parse((json['expiration'].toString())), issuer: TesoBusinessDetail.fromJSON(json['issuer']), productCost: double.tryParse((json['productCost']).toString()), lowerLimit: double.parse((json['lowerLimit']).toString()), upperLimit: double.parse((json['upperLimit']).toString()), quantity: json['quantity'], state: json['state'], type: json['type'], worth: double.parse((json['worth']).toString()) == 0.0 ? double.parse((json['lowerLimit']).toString()) : double.parse((json['worth']).toString()), countID: json['countID'].toString(), condition: json['condition'].toString()); } Map toJson() { final Map data = Map(); try { data['businessId'] = this.businessId; data['couponId'] = this.couponId; data['target'] = this.targetProduct; data['expiration'] = this.expiration!.toIso8601String(); data['issuer'] = this.issuer; data['productCost'] = this.productCost.toString(); data['quantity'] = this.quantity; data['state'] = this.state; data['type'] = this.type; data['worth'] = this.worth; data['lowerLimit'] = this.lowerLimit; data['upperLimit'] = this.upperLimit; data['countID'] = this.countID; data['condition'] = this.condition; } catch (e) { print(e); } return data; } @override String toString() { return '{"businessId": "$businessId", "couponId": "$couponId", "target": "$targetProduct", "couponId": "$couponId", "expiration": "$expiration"' + '"issuer": "$issuer", "productCost": "$productCost", "quantity": "$quantity", "state": "$state", "type": "$type", "worth": "$worth",' + '"lowerLimit": "$lowerLimit", "upperLimit": "$upperLimit","countID":"$countID","condition":"$condition"}'; } }