|
|
|
@ -1,143 +1,132 @@
|
|
|
|
|
class RecommendedProductModel {
|
|
|
|
|
List<Products> products;
|
|
|
|
|
|
|
|
|
|
RecommendedProductModel({this.products});
|
|
|
|
|
|
|
|
|
|
RecommendedProductModel.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
if (json['products'] != null) {
|
|
|
|
|
products = new List<Products>();
|
|
|
|
|
json['products'].forEach((v) {
|
|
|
|
|
products.add(new Products.fromJson(v));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
|
if (this.products != null) {
|
|
|
|
|
data['products'] = this.products.map((v) => v.toJson()).toList();
|
|
|
|
|
}
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Products {
|
|
|
|
|
String id;
|
|
|
|
|
dynamic id;
|
|
|
|
|
bool visibleIndividually;
|
|
|
|
|
String name;
|
|
|
|
|
String namen;
|
|
|
|
|
String shortDescription;
|
|
|
|
|
String shortDescriptionn;
|
|
|
|
|
String fullDescription;
|
|
|
|
|
String fullDescriptionn;
|
|
|
|
|
dynamic name;
|
|
|
|
|
dynamic namen;
|
|
|
|
|
List<LocalizedNames> localizedNames;
|
|
|
|
|
dynamic shortDescription;
|
|
|
|
|
dynamic shortDescriptionn;
|
|
|
|
|
dynamic fullDescription;
|
|
|
|
|
dynamic fullDescriptionn;
|
|
|
|
|
bool markasNew;
|
|
|
|
|
bool showOnHomePage;
|
|
|
|
|
dynamic metaKeywords;
|
|
|
|
|
dynamic metaDescription;
|
|
|
|
|
dynamic metaTitle;
|
|
|
|
|
// dynamic metaKeywords;
|
|
|
|
|
// dynamic metaDescription;
|
|
|
|
|
// dynamic metaTitle;
|
|
|
|
|
bool allowCustomerReviews;
|
|
|
|
|
dynamic approvedRatingSum;
|
|
|
|
|
dynamic notApprovedRatingSum;
|
|
|
|
|
dynamic approvedTotalReviews;
|
|
|
|
|
dynamic notApprovedTotalReviews;
|
|
|
|
|
int approvedRatingSum;
|
|
|
|
|
int notApprovedRatingSum;
|
|
|
|
|
int approvedTotalReviews;
|
|
|
|
|
int notApprovedTotalReviews;
|
|
|
|
|
String sku;
|
|
|
|
|
bool isRx;
|
|
|
|
|
bool prescriptionRequired;
|
|
|
|
|
dynamic rxMessage;
|
|
|
|
|
dynamic rxMessagen;
|
|
|
|
|
dynamic manufacturerPartNumber;
|
|
|
|
|
dynamic gtin;
|
|
|
|
|
// dynamic rxMessage;
|
|
|
|
|
// dynamic rxMessagen;
|
|
|
|
|
// dynamic manufacturerPartNumber;
|
|
|
|
|
// dynamic gtin;
|
|
|
|
|
bool isGiftCard;
|
|
|
|
|
bool requireOtherProducts;
|
|
|
|
|
bool automaticallyAddRequiredProducts;
|
|
|
|
|
bool isDownload;
|
|
|
|
|
bool unlimitedDownloads;
|
|
|
|
|
dynamic maxNumberOfDownloads;
|
|
|
|
|
dynamic downloadExpirationDays;
|
|
|
|
|
int maxNumberOfDownloads;
|
|
|
|
|
// dynamic downloadExpirationDays;
|
|
|
|
|
bool hasSampleDownload;
|
|
|
|
|
bool hasUserAgreement;
|
|
|
|
|
bool isRecurring;
|
|
|
|
|
dynamic recurringCycleLength;
|
|
|
|
|
dynamic recurringTotalCycles;
|
|
|
|
|
int recurringCycleLength;
|
|
|
|
|
int recurringTotalCycles;
|
|
|
|
|
bool isRental;
|
|
|
|
|
dynamic rentalPriceLength;
|
|
|
|
|
int rentalPriceLength;
|
|
|
|
|
bool isShipEnabled;
|
|
|
|
|
bool isFreeShipping;
|
|
|
|
|
bool shipSeparately;
|
|
|
|
|
dynamic additionalShippingCharge;
|
|
|
|
|
int additionalShippingCharge;
|
|
|
|
|
bool isTaxExempt;
|
|
|
|
|
bool isTelecommunicationsOrBroadcastingOrElectronicServices;
|
|
|
|
|
bool useMultipleWarehouses;
|
|
|
|
|
dynamic manageInventoryMethodId;
|
|
|
|
|
dynamic stockQuantity;
|
|
|
|
|
String stockAvailability;
|
|
|
|
|
String stockAvailabilityn;
|
|
|
|
|
int manageInventoryMethodId;
|
|
|
|
|
int stockQuantity;
|
|
|
|
|
dynamic stockAvailability;
|
|
|
|
|
dynamic stockAvailabilityn;
|
|
|
|
|
bool displayStockAvailability;
|
|
|
|
|
bool displayStockQuantity;
|
|
|
|
|
dynamic minStockQuantity;
|
|
|
|
|
dynamic notifyAdminForQuantityBelow;
|
|
|
|
|
int minStockQuantity;
|
|
|
|
|
int notifyAdminForQuantityBelow;
|
|
|
|
|
bool allowBackInStockSubscriptions;
|
|
|
|
|
dynamic orderMinimumQuantity;
|
|
|
|
|
dynamic orderMaximumQuantity;
|
|
|
|
|
dynamic allowedQuantities;
|
|
|
|
|
int orderMinimumQuantity;
|
|
|
|
|
int orderMaximumQuantity;
|
|
|
|
|
// Null allowedQuantities;
|
|
|
|
|
bool allowAddingOnlyExistingAttributeCombinations;
|
|
|
|
|
bool disableBuyButton;
|
|
|
|
|
bool disableWishlistButton;
|
|
|
|
|
bool availableForPreOrder;
|
|
|
|
|
dynamic preOrderAvailabilityStartDateTimeUtc;
|
|
|
|
|
// dynamic preOrderAvailabilityStartDateTimeUtc;
|
|
|
|
|
bool callForPrice;
|
|
|
|
|
dynamic price;
|
|
|
|
|
dynamic oldPrice;
|
|
|
|
|
dynamic productCost;
|
|
|
|
|
dynamic specialPrice;
|
|
|
|
|
dynamic specialPriceStartDateTimeUtc;
|
|
|
|
|
dynamic specialPriceEndDateTimeUtc;
|
|
|
|
|
double price;
|
|
|
|
|
int oldPrice;
|
|
|
|
|
double productCost;
|
|
|
|
|
// dynamic specialPrice;
|
|
|
|
|
// dynamic specialPriceStartDateTimeUtc;
|
|
|
|
|
// dynamic specialPriceEndDateTimeUtc;
|
|
|
|
|
bool customerEntersPrice;
|
|
|
|
|
dynamic minimumCustomerEnteredPrice;
|
|
|
|
|
dynamic maximumCustomerEnteredPrice;
|
|
|
|
|
int minimumCustomerEnteredPrice;
|
|
|
|
|
int maximumCustomerEnteredPrice;
|
|
|
|
|
bool basepriceEnabled;
|
|
|
|
|
dynamic basepriceAmount;
|
|
|
|
|
dynamic basepriceBaseAmount;
|
|
|
|
|
int basepriceAmount;
|
|
|
|
|
int basepriceBaseAmount;
|
|
|
|
|
bool hasTierPrices;
|
|
|
|
|
bool hasDiscountsApplied;
|
|
|
|
|
dynamic discountName;
|
|
|
|
|
dynamic discountNamen;
|
|
|
|
|
dynamic discountDescription;
|
|
|
|
|
dynamic discountDescriptionn;
|
|
|
|
|
dynamic discountPercentage;
|
|
|
|
|
String currency;
|
|
|
|
|
String currencyn;
|
|
|
|
|
// dynamic discountName;
|
|
|
|
|
// dynamic discountNamen;
|
|
|
|
|
// dynamic discountDescription;
|
|
|
|
|
// dynamic discountDescriptionn;
|
|
|
|
|
// dynamic discountPercentage;
|
|
|
|
|
dynamic currency;
|
|
|
|
|
dynamic currencyn;
|
|
|
|
|
double weight;
|
|
|
|
|
dynamic length;
|
|
|
|
|
dynamic width;
|
|
|
|
|
dynamic height;
|
|
|
|
|
dynamic availableStartDateTimeUtc;
|
|
|
|
|
dynamic availableEndDateTimeUtc;
|
|
|
|
|
dynamic displayOrder;
|
|
|
|
|
int length;
|
|
|
|
|
int width;
|
|
|
|
|
int height;
|
|
|
|
|
// dynamic availableStartDateTimeUtc;
|
|
|
|
|
// dynamic availableEndDateTimeUtc;
|
|
|
|
|
int displayOrder;
|
|
|
|
|
bool published;
|
|
|
|
|
bool deleted;
|
|
|
|
|
String createdOnUtc;
|
|
|
|
|
String updatedOnUtc;
|
|
|
|
|
String productType;
|
|
|
|
|
dynamic parentGroupedProductId;
|
|
|
|
|
dynamic vendorId;
|
|
|
|
|
String seName;
|
|
|
|
|
dynamic createdOnUtc;
|
|
|
|
|
dynamic updatedOnUtc;
|
|
|
|
|
dynamic productType;
|
|
|
|
|
int parentGroupedProductId;
|
|
|
|
|
// List<dynamic> roleIds;
|
|
|
|
|
// List<dynamic> discountIds;
|
|
|
|
|
// List<dynamic> storeIds;
|
|
|
|
|
List<int> manufacturerIds;
|
|
|
|
|
// List<dynamic> reviews;
|
|
|
|
|
List<Images> images;
|
|
|
|
|
// List<dynamic> attributes;
|
|
|
|
|
List<Specifications> specifications;
|
|
|
|
|
// List<dynamic> associatedProductIds;
|
|
|
|
|
// List<dynamic> tags;
|
|
|
|
|
int vendorId;
|
|
|
|
|
dynamic seName;
|
|
|
|
|
bool isinwishlist;
|
|
|
|
|
|
|
|
|
|
Products({
|
|
|
|
|
this.id,
|
|
|
|
|
RecommendedProductModel(
|
|
|
|
|
{this.id,
|
|
|
|
|
this.visibleIndividually,
|
|
|
|
|
this.name,
|
|
|
|
|
this.namen,
|
|
|
|
|
this.localizedNames,
|
|
|
|
|
this.shortDescription,
|
|
|
|
|
this.shortDescriptionn,
|
|
|
|
|
this.fullDescription,
|
|
|
|
|
this.fullDescriptionn,
|
|
|
|
|
this.markasNew,
|
|
|
|
|
this.showOnHomePage,
|
|
|
|
|
this.metaKeywords,
|
|
|
|
|
this.metaDescription,
|
|
|
|
|
this.metaTitle,
|
|
|
|
|
// this.metaKeywords,
|
|
|
|
|
// this.metaDescription,
|
|
|
|
|
// this.metaTitle,
|
|
|
|
|
this.allowCustomerReviews,
|
|
|
|
|
this.approvedRatingSum,
|
|
|
|
|
this.notApprovedRatingSum,
|
|
|
|
@ -146,17 +135,17 @@ class Products {
|
|
|
|
|
this.sku,
|
|
|
|
|
this.isRx,
|
|
|
|
|
this.prescriptionRequired,
|
|
|
|
|
this.rxMessage,
|
|
|
|
|
this.rxMessagen,
|
|
|
|
|
this.manufacturerPartNumber,
|
|
|
|
|
this.gtin,
|
|
|
|
|
// this.rxMessage,
|
|
|
|
|
// this.rxMessagen,
|
|
|
|
|
// this.manufacturerPartNumber,
|
|
|
|
|
// this.gtin,
|
|
|
|
|
this.isGiftCard,
|
|
|
|
|
this.requireOtherProducts,
|
|
|
|
|
this.automaticallyAddRequiredProducts,
|
|
|
|
|
this.isDownload,
|
|
|
|
|
this.unlimitedDownloads,
|
|
|
|
|
this.maxNumberOfDownloads,
|
|
|
|
|
this.downloadExpirationDays,
|
|
|
|
|
// this.downloadExpirationDays,
|
|
|
|
|
this.hasSampleDownload,
|
|
|
|
|
this.hasUserAgreement,
|
|
|
|
|
this.isRecurring,
|
|
|
|
@ -182,19 +171,19 @@ class Products {
|
|
|
|
|
this.allowBackInStockSubscriptions,
|
|
|
|
|
this.orderMinimumQuantity,
|
|
|
|
|
this.orderMaximumQuantity,
|
|
|
|
|
this.allowedQuantities,
|
|
|
|
|
// this.allowedQuantities,
|
|
|
|
|
this.allowAddingOnlyExistingAttributeCombinations,
|
|
|
|
|
this.disableBuyButton,
|
|
|
|
|
this.disableWishlistButton,
|
|
|
|
|
this.availableForPreOrder,
|
|
|
|
|
this.preOrderAvailabilityStartDateTimeUtc,
|
|
|
|
|
// this.preOrderAvailabilityStartDateTimeUtc,
|
|
|
|
|
this.callForPrice,
|
|
|
|
|
this.price,
|
|
|
|
|
this.oldPrice,
|
|
|
|
|
this.productCost,
|
|
|
|
|
this.specialPrice,
|
|
|
|
|
this.specialPriceStartDateTimeUtc,
|
|
|
|
|
this.specialPriceEndDateTimeUtc,
|
|
|
|
|
// this.specialPrice,
|
|
|
|
|
// this.specialPriceStartDateTimeUtc,
|
|
|
|
|
// this.specialPriceEndDateTimeUtc,
|
|
|
|
|
this.customerEntersPrice,
|
|
|
|
|
this.minimumCustomerEnteredPrice,
|
|
|
|
|
this.maximumCustomerEnteredPrice,
|
|
|
|
@ -203,19 +192,19 @@ class Products {
|
|
|
|
|
this.basepriceBaseAmount,
|
|
|
|
|
this.hasTierPrices,
|
|
|
|
|
this.hasDiscountsApplied,
|
|
|
|
|
this.discountName,
|
|
|
|
|
this.discountNamen,
|
|
|
|
|
this.discountDescription,
|
|
|
|
|
this.discountDescriptionn,
|
|
|
|
|
this.discountPercentage,
|
|
|
|
|
// this.discountName,
|
|
|
|
|
// this.discountNamen,
|
|
|
|
|
// this.discountDescription,
|
|
|
|
|
// this.discountDescriptionn,
|
|
|
|
|
// this.discountPercentage,
|
|
|
|
|
this.currency,
|
|
|
|
|
this.currencyn,
|
|
|
|
|
this.weight,
|
|
|
|
|
this.length,
|
|
|
|
|
this.width,
|
|
|
|
|
this.height,
|
|
|
|
|
this.availableStartDateTimeUtc,
|
|
|
|
|
this.availableEndDateTimeUtc,
|
|
|
|
|
// this.availableStartDateTimeUtc,
|
|
|
|
|
// this.availableEndDateTimeUtc,
|
|
|
|
|
this.displayOrder,
|
|
|
|
|
this.published,
|
|
|
|
|
this.deleted,
|
|
|
|
@ -223,25 +212,40 @@ class Products {
|
|
|
|
|
this.updatedOnUtc,
|
|
|
|
|
this.productType,
|
|
|
|
|
this.parentGroupedProductId,
|
|
|
|
|
// this.roleIds,
|
|
|
|
|
// this.discountIds,
|
|
|
|
|
// this.storeIds,
|
|
|
|
|
this.manufacturerIds,
|
|
|
|
|
// this.reviews,
|
|
|
|
|
this.images,
|
|
|
|
|
// this.attributes,
|
|
|
|
|
this.specifications,
|
|
|
|
|
// this.associatedProductIds,
|
|
|
|
|
// this.tags,
|
|
|
|
|
this.vendorId,
|
|
|
|
|
this.seName,
|
|
|
|
|
this.images,
|
|
|
|
|
});
|
|
|
|
|
this.isinwishlist});
|
|
|
|
|
|
|
|
|
|
Products.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
RecommendedProductModel.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
id = json['id'];
|
|
|
|
|
visibleIndividually = json['visible_individually'];
|
|
|
|
|
name = json['name'];
|
|
|
|
|
namen = json['namen'];
|
|
|
|
|
if (json['localized_names'] != null) {
|
|
|
|
|
localizedNames = new List<LocalizedNames>();
|
|
|
|
|
json['localized_names'].forEach((v) {
|
|
|
|
|
localizedNames.add(new LocalizedNames.fromJson(v));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
shortDescription = json['short_description'];
|
|
|
|
|
shortDescriptionn = json['short_descriptionn'];
|
|
|
|
|
fullDescription = json['full_description'];
|
|
|
|
|
fullDescriptionn = json['full_descriptionn'];
|
|
|
|
|
markasNew = json['markas_new'];
|
|
|
|
|
showOnHomePage = json['show_on_home_page'];
|
|
|
|
|
metaKeywords = json['meta_keywords'];
|
|
|
|
|
metaDescription = json['meta_description'];
|
|
|
|
|
metaTitle = json['meta_title'];
|
|
|
|
|
// metaKeywords = json['meta_keywords'];
|
|
|
|
|
// metaDescription = json['meta_description'];
|
|
|
|
|
// metaTitle = json['meta_title'];
|
|
|
|
|
allowCustomerReviews = json['allow_customer_reviews'];
|
|
|
|
|
approvedRatingSum = json['approved_rating_sum'];
|
|
|
|
|
notApprovedRatingSum = json['not_approved_rating_sum'];
|
|
|
|
@ -250,10 +254,10 @@ class Products {
|
|
|
|
|
sku = json['sku'];
|
|
|
|
|
isRx = json['is_rx'];
|
|
|
|
|
prescriptionRequired = json['prescription_required'];
|
|
|
|
|
rxMessage = json['rx_message'];
|
|
|
|
|
rxMessagen = json['rx_messagen'];
|
|
|
|
|
manufacturerPartNumber = json['manufacturer_part_number'];
|
|
|
|
|
gtin = json['gtin'];
|
|
|
|
|
// rxMessage = json['rx_message'];
|
|
|
|
|
// rxMessagen = json['rx_messagen'];
|
|
|
|
|
// manufacturerPartNumber = json['manufacturer_part_number'];
|
|
|
|
|
// gtin = json['gtin'];
|
|
|
|
|
isGiftCard = json['is_gift_card'];
|
|
|
|
|
requireOtherProducts = json['require_other_products'];
|
|
|
|
|
automaticallyAddRequiredProducts =
|
|
|
|
@ -261,7 +265,7 @@ class Products {
|
|
|
|
|
isDownload = json['is_download'];
|
|
|
|
|
unlimitedDownloads = json['unlimited_downloads'];
|
|
|
|
|
maxNumberOfDownloads = json['max_number_of_downloads'];
|
|
|
|
|
downloadExpirationDays = json['download_expiration_days'];
|
|
|
|
|
// downloadExpirationDays = json['download_expiration_days'];
|
|
|
|
|
hasSampleDownload = json['has_sample_download'];
|
|
|
|
|
hasUserAgreement = json['has_user_agreement'];
|
|
|
|
|
isRecurring = json['is_recurring'];
|
|
|
|
@ -288,21 +292,21 @@ class Products {
|
|
|
|
|
allowBackInStockSubscriptions = json['allow_back_in_stock_subscriptions'];
|
|
|
|
|
orderMinimumQuantity = json['order_minimum_quantity'];
|
|
|
|
|
orderMaximumQuantity = json['order_maximum_quantity'];
|
|
|
|
|
allowedQuantities = json['allowed_quantities'];
|
|
|
|
|
// allowedQuantities = json['allowed_quantities'];
|
|
|
|
|
allowAddingOnlyExistingAttributeCombinations =
|
|
|
|
|
json['allow_adding_only_existing_attribute_combinations'];
|
|
|
|
|
disableBuyButton = json['disable_buy_button'];
|
|
|
|
|
disableWishlistButton = json['disable_wishlist_button'];
|
|
|
|
|
availableForPreOrder = json['available_for_pre_order'];
|
|
|
|
|
preOrderAvailabilityStartDateTimeUtc =
|
|
|
|
|
json['pre_order_availability_start_date_time_utc'];
|
|
|
|
|
// preOrderAvailabilityStartDateTimeUtc =
|
|
|
|
|
// json['pre_order_availability_start_date_time_utc'];
|
|
|
|
|
callForPrice = json['call_for_price'];
|
|
|
|
|
price = json['price'];
|
|
|
|
|
oldPrice = json['old_price'];
|
|
|
|
|
productCost = json['product_cost'];
|
|
|
|
|
specialPrice = json['special_price'];
|
|
|
|
|
specialPriceStartDateTimeUtc = json['special_price_start_date_time_utc'];
|
|
|
|
|
specialPriceEndDateTimeUtc = json['special_price_end_date_time_utc'];
|
|
|
|
|
// specialPrice = json['special_price'];
|
|
|
|
|
// specialPriceStartDateTimeUtc = json['special_price_start_date_time_utc'];
|
|
|
|
|
// specialPriceEndDateTimeUtc = json['special_price_end_date_time_utc'];
|
|
|
|
|
customerEntersPrice = json['customer_enters_price'];
|
|
|
|
|
minimumCustomerEnteredPrice = json['minimum_customer_entered_price'];
|
|
|
|
|
maximumCustomerEnteredPrice = json['maximum_customer_entered_price'];
|
|
|
|
@ -311,19 +315,19 @@ class Products {
|
|
|
|
|
basepriceBaseAmount = json['baseprice_base_amount'];
|
|
|
|
|
hasTierPrices = json['has_tier_prices'];
|
|
|
|
|
hasDiscountsApplied = json['has_discounts_applied'];
|
|
|
|
|
discountName = json['discount_name'];
|
|
|
|
|
discountNamen = json['discount_namen'];
|
|
|
|
|
discountDescription = json['discount_description'];
|
|
|
|
|
discountDescriptionn = json['discount_Descriptionn'];
|
|
|
|
|
discountPercentage = json['discount_percentage'];
|
|
|
|
|
// discountName = json['discount_name'];
|
|
|
|
|
// discountNamen = json['discount_namen'];
|
|
|
|
|
// discountDescription = json['discount_description'];
|
|
|
|
|
// discountDescriptionn = json['discount_Descriptionn'];
|
|
|
|
|
// discountPercentage = json['discount_percentage'];
|
|
|
|
|
currency = json['currency'];
|
|
|
|
|
currencyn = json['currencyn'];
|
|
|
|
|
weight = json['weight'];
|
|
|
|
|
length = json['length'];
|
|
|
|
|
width = json['width'];
|
|
|
|
|
height = json['height'];
|
|
|
|
|
availableStartDateTimeUtc = json['available_start_date_time_utc'];
|
|
|
|
|
availableEndDateTimeUtc = json['available_end_date_time_utc'];
|
|
|
|
|
// availableStartDateTimeUtc = json['available_start_date_time_utc'];
|
|
|
|
|
// availableEndDateTimeUtc = json['available_end_date_time_utc'];
|
|
|
|
|
displayOrder = json['display_order'];
|
|
|
|
|
published = json['published'];
|
|
|
|
|
deleted = json['deleted'];
|
|
|
|
@ -331,14 +335,64 @@ class Products {
|
|
|
|
|
updatedOnUtc = json['updated_on_utc'];
|
|
|
|
|
productType = json['product_type'];
|
|
|
|
|
parentGroupedProductId = json['parent_grouped_product_id'];
|
|
|
|
|
vendorId = json['vendor_id'];
|
|
|
|
|
seName = json['se_name'];
|
|
|
|
|
// if (json['role_ids'] != null) {
|
|
|
|
|
// roleIds = new List<Null>();
|
|
|
|
|
// json['role_ids'].forEach((v) {
|
|
|
|
|
// roleIds.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// if (json['discount_ids'] != null) {
|
|
|
|
|
// discountIds = new List<Null>();
|
|
|
|
|
// json['discount_ids'].forEach((v) {
|
|
|
|
|
// discountIds.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// if (json['store_ids'] != null) {
|
|
|
|
|
// storeIds = new List<Null>();
|
|
|
|
|
// json['store_ids'].forEach((v) {
|
|
|
|
|
// storeIds.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
manufacturerIds = json['manufacturer_ids'].cast<int>();
|
|
|
|
|
// if (json['reviews'] != null) {
|
|
|
|
|
// reviews = new List<Null>();
|
|
|
|
|
// json['reviews'].forEach((v) {
|
|
|
|
|
// reviews.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
if (json['images'] != null) {
|
|
|
|
|
images = new List<Images>();
|
|
|
|
|
json['images'].forEach((v) {
|
|
|
|
|
images.add(new Images.fromJson(v));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
// if (json['attributes'] != null) {
|
|
|
|
|
// attributes = new List<Null>();
|
|
|
|
|
// json['attributes'].forEach((v) {
|
|
|
|
|
// attributes.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
if (json['specifications'] != null) {
|
|
|
|
|
specifications = new List<Specifications>();
|
|
|
|
|
json['specifications'].forEach((v) {
|
|
|
|
|
specifications.add(new Specifications.fromJson(v));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
// if (json['associated_product_ids'] != null) {
|
|
|
|
|
// associatedProductIds = new List<Null>();
|
|
|
|
|
// json['associated_product_ids'].forEach((v) {
|
|
|
|
|
// associatedProductIds.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// if (json['tags'] != null) {
|
|
|
|
|
// tags = new List<Null>();
|
|
|
|
|
// json['tags'].forEach((v) {
|
|
|
|
|
// tags.add(new Null.fromJson(v));
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
vendorId = json['vendor_id'];
|
|
|
|
|
seName = json['se_name'];
|
|
|
|
|
isinwishlist = json['isinwishlist'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
@ -347,15 +401,19 @@ class Products {
|
|
|
|
|
data['visible_individually'] = this.visibleIndividually;
|
|
|
|
|
data['name'] = this.name;
|
|
|
|
|
data['namen'] = this.namen;
|
|
|
|
|
if (this.localizedNames != null) {
|
|
|
|
|
data['localized_names'] =
|
|
|
|
|
this.localizedNames.map((v) => v.toJson()).toList();
|
|
|
|
|
}
|
|
|
|
|
data['short_description'] = this.shortDescription;
|
|
|
|
|
data['short_descriptionn'] = this.shortDescriptionn;
|
|
|
|
|
data['full_description'] = this.fullDescription;
|
|
|
|
|
data['full_descriptionn'] = this.fullDescriptionn;
|
|
|
|
|
data['markas_new'] = this.markasNew;
|
|
|
|
|
data['show_on_home_page'] = this.showOnHomePage;
|
|
|
|
|
data['meta_keywords'] = this.metaKeywords;
|
|
|
|
|
data['meta_description'] = this.metaDescription;
|
|
|
|
|
data['meta_title'] = this.metaTitle;
|
|
|
|
|
// data['meta_keywords'] = this.metaKeywords;
|
|
|
|
|
// data['meta_description'] = this.metaDescription;
|
|
|
|
|
// data['meta_title'] = this.metaTitle;
|
|
|
|
|
data['allow_customer_reviews'] = this.allowCustomerReviews;
|
|
|
|
|
data['approved_rating_sum'] = this.approvedRatingSum;
|
|
|
|
|
data['not_approved_rating_sum'] = this.notApprovedRatingSum;
|
|
|
|
@ -364,10 +422,10 @@ class Products {
|
|
|
|
|
data['sku'] = this.sku;
|
|
|
|
|
data['is_rx'] = this.isRx;
|
|
|
|
|
data['prescription_required'] = this.prescriptionRequired;
|
|
|
|
|
data['rx_message'] = this.rxMessage;
|
|
|
|
|
data['rx_messagen'] = this.rxMessagen;
|
|
|
|
|
data['manufacturer_part_number'] = this.manufacturerPartNumber;
|
|
|
|
|
data['gtin'] = this.gtin;
|
|
|
|
|
// data['rx_message'] = this.rxMessage;
|
|
|
|
|
// data['rx_messagen'] = this.rxMessagen;
|
|
|
|
|
// data['manufacturer_part_number'] = this.manufacturerPartNumber;
|
|
|
|
|
// data['gtin'] = this.gtin;
|
|
|
|
|
data['is_gift_card'] = this.isGiftCard;
|
|
|
|
|
data['require_other_products'] = this.requireOtherProducts;
|
|
|
|
|
data['automatically_add_required_products'] =
|
|
|
|
@ -375,7 +433,7 @@ class Products {
|
|
|
|
|
data['is_download'] = this.isDownload;
|
|
|
|
|
data['unlimited_downloads'] = this.unlimitedDownloads;
|
|
|
|
|
data['max_number_of_downloads'] = this.maxNumberOfDownloads;
|
|
|
|
|
data['download_expiration_days'] = this.downloadExpirationDays;
|
|
|
|
|
// data['download_expiration_days'] = this.downloadExpirationDays;
|
|
|
|
|
data['has_sample_download'] = this.hasSampleDownload;
|
|
|
|
|
data['has_user_agreement'] = this.hasUserAgreement;
|
|
|
|
|
data['is_recurring'] = this.isRecurring;
|
|
|
|
@ -403,22 +461,22 @@ class Products {
|
|
|
|
|
this.allowBackInStockSubscriptions;
|
|
|
|
|
data['order_minimum_quantity'] = this.orderMinimumQuantity;
|
|
|
|
|
data['order_maximum_quantity'] = this.orderMaximumQuantity;
|
|
|
|
|
data['allowed_quantities'] = this.allowedQuantities;
|
|
|
|
|
// data['allowed_quantities'] = this.allowedQuantities;
|
|
|
|
|
data['allow_adding_only_existing_attribute_combinations'] =
|
|
|
|
|
this.allowAddingOnlyExistingAttributeCombinations;
|
|
|
|
|
data['disable_buy_button'] = this.disableBuyButton;
|
|
|
|
|
data['disable_wishlist_button'] = this.disableWishlistButton;
|
|
|
|
|
data['available_for_pre_order'] = this.availableForPreOrder;
|
|
|
|
|
data['pre_order_availability_start_date_time_utc'] =
|
|
|
|
|
this.preOrderAvailabilityStartDateTimeUtc;
|
|
|
|
|
// data['pre_order_availability_start_date_time_utc'] =
|
|
|
|
|
// this.preOrderAvailabilityStartDateTimeUtc;
|
|
|
|
|
data['call_for_price'] = this.callForPrice;
|
|
|
|
|
data['price'] = this.price;
|
|
|
|
|
data['old_price'] = this.oldPrice;
|
|
|
|
|
data['product_cost'] = this.productCost;
|
|
|
|
|
data['special_price'] = this.specialPrice;
|
|
|
|
|
data['special_price_start_date_time_utc'] =
|
|
|
|
|
this.specialPriceStartDateTimeUtc;
|
|
|
|
|
data['special_price_end_date_time_utc'] = this.specialPriceEndDateTimeUtc;
|
|
|
|
|
// data['special_price'] = this.specialPrice;
|
|
|
|
|
// data['special_price_start_date_time_utc'] =
|
|
|
|
|
// this.specialPriceStartDateTimeUtc;
|
|
|
|
|
// data['special_price_end_date_time_utc'] = this.specialPriceEndDateTimeUtc;
|
|
|
|
|
data['customer_enters_price'] = this.customerEntersPrice;
|
|
|
|
|
data['minimum_customer_entered_price'] = this.minimumCustomerEnteredPrice;
|
|
|
|
|
data['maximum_customer_entered_price'] = this.maximumCustomerEnteredPrice;
|
|
|
|
@ -427,19 +485,19 @@ class Products {
|
|
|
|
|
data['baseprice_base_amount'] = this.basepriceBaseAmount;
|
|
|
|
|
data['has_tier_prices'] = this.hasTierPrices;
|
|
|
|
|
data['has_discounts_applied'] = this.hasDiscountsApplied;
|
|
|
|
|
data['discount_name'] = this.discountName;
|
|
|
|
|
data['discount_namen'] = this.discountNamen;
|
|
|
|
|
data['discount_description'] = this.discountDescription;
|
|
|
|
|
data['discount_Descriptionn'] = this.discountDescriptionn;
|
|
|
|
|
data['discount_percentage'] = this.discountPercentage;
|
|
|
|
|
// data['discount_name'] = this.discountName;
|
|
|
|
|
// data['discount_namen'] = this.discountNamen;
|
|
|
|
|
// data['discount_description'] = this.discountDescription;
|
|
|
|
|
// data['discount_Descriptionn'] = this.discountDescriptionn;
|
|
|
|
|
// data['discount_percentage'] = this.discountPercentage;
|
|
|
|
|
data['currency'] = this.currency;
|
|
|
|
|
data['currencyn'] = this.currencyn;
|
|
|
|
|
data['weight'] = this.weight;
|
|
|
|
|
data['length'] = this.length;
|
|
|
|
|
data['width'] = this.width;
|
|
|
|
|
data['height'] = this.height;
|
|
|
|
|
data['available_start_date_time_utc'] = this.availableStartDateTimeUtc;
|
|
|
|
|
data['available_end_date_time_utc'] = this.availableEndDateTimeUtc;
|
|
|
|
|
// data['available_start_date_time_utc'] = this.availableStartDateTimeUtc;
|
|
|
|
|
// data['available_end_date_time_utc'] = this.availableEndDateTimeUtc;
|
|
|
|
|
data['display_order'] = this.displayOrder;
|
|
|
|
|
data['published'] = this.published;
|
|
|
|
|
data['deleted'] = this.deleted;
|
|
|
|
@ -447,12 +505,58 @@ class Products {
|
|
|
|
|
data['updated_on_utc'] = this.updatedOnUtc;
|
|
|
|
|
data['product_type'] = this.productType;
|
|
|
|
|
data['parent_grouped_product_id'] = this.parentGroupedProductId;
|
|
|
|
|
data['vendor_id'] = this.vendorId;
|
|
|
|
|
data['se_name'] = this.seName;
|
|
|
|
|
// if (this.roleIds != null) {
|
|
|
|
|
// data['role_ids'] = this.roleIds.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
// if (this.discountIds != null) {
|
|
|
|
|
// data['discount_ids'] = this.discountIds.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
// if (this.storeIds != null) {
|
|
|
|
|
// data['store_ids'] = this.storeIds.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
data['manufacturer_ids'] = this.manufacturerIds;
|
|
|
|
|
// if (this.reviews != null) {
|
|
|
|
|
// data['reviews'] = this.reviews.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
if (this.images != null) {
|
|
|
|
|
data['images'] = this.images.map((v) => v.toJson()).toList();
|
|
|
|
|
}
|
|
|
|
|
// if (this.attributes != null) {
|
|
|
|
|
// data['attributes'] = this.attributes.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
if (this.specifications != null) {
|
|
|
|
|
data['specifications'] =
|
|
|
|
|
this.specifications.map((v) => v.toJson()).toList();
|
|
|
|
|
}
|
|
|
|
|
// if (this.associatedProductIds != null) {
|
|
|
|
|
// data['associated_product_ids'] =
|
|
|
|
|
// this.associatedProductIds.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
// if (this.tags != null) {
|
|
|
|
|
// data['tags'] = this.tags.map((v) => v.toJson()).toList();
|
|
|
|
|
// }
|
|
|
|
|
data['vendor_id'] = this.vendorId;
|
|
|
|
|
data['se_name'] = this.seName;
|
|
|
|
|
data['isinwishlist'] = this.isinwishlist;
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class LocalizedNames {
|
|
|
|
|
int languageId;
|
|
|
|
|
String localizedName;
|
|
|
|
|
|
|
|
|
|
LocalizedNames({this.languageId, this.localizedName});
|
|
|
|
|
|
|
|
|
|
LocalizedNames.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
languageId = json['language_id'];
|
|
|
|
|
localizedName = json['localized_name'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
|
data['language_id'] = this.languageId;
|
|
|
|
|
data['localized_name'] = this.localizedName;
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -484,3 +588,40 @@ class Images {
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Specifications {
|
|
|
|
|
int id;
|
|
|
|
|
int displayOrder;
|
|
|
|
|
String defaultValue;
|
|
|
|
|
String defaultValuen;
|
|
|
|
|
String name;
|
|
|
|
|
String nameN;
|
|
|
|
|
|
|
|
|
|
Specifications(
|
|
|
|
|
{this.id,
|
|
|
|
|
this.displayOrder,
|
|
|
|
|
this.defaultValue,
|
|
|
|
|
this.defaultValuen,
|
|
|
|
|
this.name,
|
|
|
|
|
this.nameN});
|
|
|
|
|
|
|
|
|
|
Specifications.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
id = json['id'];
|
|
|
|
|
displayOrder = json['display_order'];
|
|
|
|
|
defaultValue = json['default_value'];
|
|
|
|
|
defaultValuen = json['default_valuen'];
|
|
|
|
|
name = json['name'];
|
|
|
|
|
nameN = json['nameN'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toJson() {
|
|
|
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
|
|
|
data['id'] = this.id;
|
|
|
|
|
data['display_order'] = this.displayOrder;
|
|
|
|
|
data['default_value'] = this.defaultValue;
|
|
|
|
|
data['default_valuen'] = this.defaultValuen;
|
|
|
|
|
data['name'] = this.name;
|
|
|
|
|
data['nameN'] = this.nameN;
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
}
|