Implementation
Map<String, dynamic> toJson() => {
"details": details,
"shortDescription": shortDescription,
"colorID": colorId,
"sizeID": sizeId,
"categories": categories == null
? null
: List<dynamic>.from(categories!.map((x) => x.toJson())),
"brand": brand == null ? null : brand!.toJson(),
"isAddedtoWishlist": isAddedtoWishlist,
"imageList": imageList == null
? null
: List<dynamic>.from(imageList!.map((x) => x)),
"maxQty": maxQty,
"reviewVisibility": reviewVisibility,
"showOneClickOrder": showOneClickOrder,
"minDeliveryPeriod": minDeliveryPeriod,
"maxDeliveryPeriod": maxDeliveryPeriod,
"periodName": periodName,
"deliveryNote": deliveryNote,
"remaining": remaining,
"productCode": productCode,
"skuCode": skuCode,
"colorOptions": colorOptions,
"features": features == null
? null
: List<dynamic>.from(features!.map((x) => x.toJson())),
"rating": rating,
"sizes": sizes == null
? null
: List<dynamic>.from(sizes!.map((x) => x.toJson())),
"colors": colors == null
? null
: List<dynamic>.from(colors!.map((x) => x.toJson())),
"preOrder": preOrder,
"availabilityDate": availabilityDate == null
? null
: availabilityDate!.toIso8601String(),
"id": id,
"productID": productId,
"imageUrl": imageUrl,
"imageThumbUrl": imageThumbUrl,
"title": title,
"seoTitle": seoTitle,
"isOutOfStock": isOutOfStock,
"price": price,
"finalPrice": finalPrice,
"hasDiscount": hasDiscount,
"discountValue": discountValue,
"discountType": discountType,
"promoText": promoText,
"bogoPromoText": bogoPromoText,
"croppedImageURL": croppedImageUrl,
"enableCropping": enableCropping,
"size": size,
"colorHexaCode": colorHexaCode,
"color": color,
};