Files
Vocasia-LMS-Mobile-apps--TA…/lib/models/discount_course_model.dart

92 lines
2.9 KiB
Dart

import 'package:initial_folder/models/rating_course_model.dart';
class DiscountCourseModel {
DiscountCourseModel({
this.idCourse = '',
this.instructorId = '',
this.title = '',
this.price = '',
this.instructorName = '',
this.discountFlag,
this.discountPrice = '',
this.thumbnail,
this.students,
required this.rating,
this.finalPrice,
this.fotoProfile,
this.topCourse,
this.hargaTotalDiscount,
this.typeCoupon,
this.value,
});
String idCourse;
String instructorId;
String title;
String price;
String instructorName;
String? discountFlag;
String discountPrice;
String? thumbnail;
String? students;
List<Rating?> rating;
int? finalPrice;
int? hargaTotalDiscount;
String? fotoProfile;
String? topCourse;
String? typeCoupon;
String? value;
factory DiscountCourseModel.fromJson(Map<String, dynamic> json) {
int parseIntWithDotRemoval(dynamic value) {
if (value is int) return value;
return int.tryParse(value.toString().replaceAll('.', '')) ?? 0;
}
return DiscountCourseModel(
idCourse: json["id_course"].toString(),
instructorId: json["instructor_id"].toString(),
title: json["title"].toString(),
price: json["price"].toString(),
instructorName: json["instructor_name"].toString(),
discountFlag: json["discount_flag"]?.toString(),
discountPrice: json["discount_price"].toString(),
thumbnail: json["thumbnail"]?.toString(),
students: json["students"]?.toString(),
rating: List<Rating>.from(json["rating"].map((x) => Rating.fromJson(x)))
.toList(),
finalPrice: parseIntWithDotRemoval(json["final_price"]),
// finalPrice: json["final_price"] is int
// ? json["final_price"]
// : int.tryParse(json["final_price"].toString()),
fotoProfile: json["foto_profile"]?.toString(),
topCourse: json["top_course"]?.toString(),
typeCoupon: json["type_coupon"]?.toString(),
value: json["value"]?.toString(),
hargaTotalDiscount: parseIntWithDotRemoval(json["harga_total_discount"]),
// hargaTotalDiscount: json["harga_total_discount"] is int
// ? json["harga_total_discount"]
// : int.tryParse(json["harga_total_discount"].toString()),
);
}
Map<String, dynamic> toJson() => {
"id_course": idCourse,
"instructor_id": instructorId,
"title": title,
"price": price,
"instructor_name": instructorName,
"discount_flag": discountFlag,
"discount_price": discountPrice,
"thumbnail": thumbnail,
"students": students,
"rating": List<dynamic>.from(rating.map((x) => x!.toJson())).toList(),
"final_price": finalPrice,
"foto_profile": fotoProfile,
"top_course": topCourse,
"harga_total_discount": hargaTotalDiscount,
"type_coupon": typeCoupon,
"value": value,
};
}