You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/models/pharmacy/products.dart

824 lines
29 KiB
Dart

// To parse this JSON data, do
//
// final products = productsFromJson(jsonString);
import 'dart:convert';
Products productsFromJson(String str) => Products.fromJson(json.decode(str));
String productsToJson(Products data) => json.encode(data.toJson());
class Products {
Products({
this.messageStatus,
this.products,
});
dynamic messageStatus;
List<Product>? products;
factory Products.fromJson(Map<String, dynamic> json) => Products(
messageStatus: json["MessageStatus"],
products: List<Product>.from(json["products"].map((x) => Product.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"MessageStatus": messageStatus,
"products": List<dynamic>.from(products!.map((x) => x.toJson())),
};
}
class Product {
Product({
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.allowCustomerReviews,
this.approvedRatingSum,
this.notApprovedRatingSum,
this.approvedTotalReviews,
this.notApprovedTotalReviews,
this.sku,
this.isRx,
this.prescriptionRequired,
this.rxMessage,
this.rxMessagen,
this.manufacturerPartNumber,
this.gtin,
this.isGiftCard,
this.requireOtherProducts,
this.automaticallyAddRequiredProducts,
this.isDownload,
this.unlimitedDownloads,
this.maxNumberOfDownloads,
this.downloadExpirationDays,
this.hasSampleDownload,
this.hasUserAgreement,
this.isRecurring,
this.recurringCycleLength,
this.recurringTotalCycles,
this.isRental,
this.rentalPriceLength,
this.isShipEnabled,
this.isFreeShipping,
this.shipSeparately,
this.additionalShippingCharge,
this.isTaxExempt,
this.isTelecommunicationsOrBroadcastingOrElectronicServices,
this.useMultipleWarehouses,
this.manageInventoryMethodId,
this.stockQuantity,
this.stockAvailability,
this.stockAvailabilityn,
this.displayStockAvailability,
this.displayStockQuantity,
this.minStockQuantity,
this.notifyAdminForQuantityBelow,
this.allowBackInStockSubscriptions,
this.orderMinimumQuantity,
this.orderMaximumQuantity,
this.allowedQuantities,
this.allowAddingOnlyExistingAttributeCombinations,
this.disableBuyButton,
this.disableWishlistButton,
this.availableForPreOrder,
this.preOrderAvailabilityStartDateTimeUtc,
this.callForPrice,
this.price,
this.oldPrice,
this.productCost,
this.specialPrice,
this.specialPriceStartDateTimeUtc,
this.specialPriceEndDateTimeUtc,
this.customerEntersPrice,
this.minimumCustomerEnteredPrice,
this.maximumCustomerEnteredPrice,
this.basepriceEnabled,
this.basepriceAmount,
this.basepriceBaseAmount,
this.hasTierPrices,
this.hasDiscountsApplied,
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.displayOrder,
this.published,
this.deleted,
this.createdOnUtc,
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,
});
String? id;
bool? visibleIndividually;
String? name;
String? namen;
List<LocalizedName>? localizedNames;
String? shortDescription;
String? shortDescriptionn;
String? fullDescription;
String? fullDescriptionn;
bool? markasNew;
bool? showOnHomePage;
String? metaKeywords;
String? metaDescription;
String? metaTitle;
bool? allowCustomerReviews;
int? approvedRatingSum;
int? notApprovedRatingSum;
int? approvedTotalReviews;
int? notApprovedTotalReviews;
String? sku;
bool? isRx;
bool? prescriptionRequired;
String? rxMessage;
String? rxMessagen;
dynamic manufacturerPartNumber;
dynamic gtin;
bool? isGiftCard;
bool? requireOtherProducts;
bool? automaticallyAddRequiredProducts;
bool? isDownload;
bool? unlimitedDownloads;
int? maxNumberOfDownloads;
dynamic downloadExpirationDays;
bool? hasSampleDownload;
bool? hasUserAgreement;
bool? isRecurring;
int? recurringCycleLength;
int? recurringTotalCycles;
bool? isRental;
int? rentalPriceLength;
bool? isShipEnabled;
bool? isFreeShipping;
bool? shipSeparately;
int? additionalShippingCharge;
bool? isTaxExempt;
bool? isTelecommunicationsOrBroadcastingOrElectronicServices;
bool? useMultipleWarehouses;
int? manageInventoryMethodId;
int? stockQuantity;
String? stockAvailability;
String? stockAvailabilityn;
bool? displayStockAvailability;
bool? displayStockQuantity;
int? minStockQuantity;
int? notifyAdminForQuantityBelow;
bool? allowBackInStockSubscriptions;
int? orderMinimumQuantity;
int? orderMaximumQuantity;
dynamic allowedQuantities;
bool? allowAddingOnlyExistingAttributeCombinations;
bool? disableBuyButton;
bool? disableWishlistButton;
bool? availableForPreOrder;
dynamic preOrderAvailabilityStartDateTimeUtc;
bool? callForPrice;
double? price;
int? oldPrice;
double? productCost;
dynamic specialPrice;
dynamic specialPriceStartDateTimeUtc;
dynamic specialPriceEndDateTimeUtc;
bool? customerEntersPrice;
int? minimumCustomerEnteredPrice;
int? maximumCustomerEnteredPrice;
bool? basepriceEnabled;
int? basepriceAmount;
int? basepriceBaseAmount;
bool? hasTierPrices;
bool? hasDiscountsApplied;
String? discountName;
String? discountNamen;
String? discountDescription;
String? discountDescriptionn;
String? discountPercentage;
String? currency;
String? currencyn;
double? weight;
int? length;
int? width;
int? height;
dynamic availableStartDateTimeUtc;
dynamic availableEndDateTimeUtc;
int? displayOrder;
bool? published;
bool? deleted;
DateTime? createdOnUtc;
DateTime? updatedOnUtc;
String? productType;
int? parentGroupedProductId;
List<dynamic>? roleIds;
List<int>? discountIds;
List<dynamic>? storeIds;
List<int>? manufacturerIds;
List<Review>? reviews;
List<Image>? images;
List<dynamic>? attributes;
List<Specification>? specifications;
List<dynamic>? associatedProductIds;
List<dynamic>? tags;
int? vendorId;
String? seName;
factory Product.fromJson(Map<String, dynamic> json) => Product(
id: json["id"],
visibleIndividually: json["visible_individually"],
name: json["name"],
namen: json["namen"],
localizedNames: List<LocalizedName>.from(json["localized_names"].map((x) => LocalizedName.fromJson(x))),
shortDescription: json["short_description"] == null ? null : json["short_description"],
shortDescriptionn: json["short_descriptionn"] == null ? null : 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"] == null ? null : json["meta_keywords"],
metaDescription: json["meta_description"] == null ? null : json["meta_description"],
metaTitle: json["meta_title"] == null ? null : json["meta_title"],
allowCustomerReviews: json["allow_customer_reviews"],
approvedRatingSum: json["approved_rating_sum"],
notApprovedRatingSum: json["not_approved_rating_sum"],
approvedTotalReviews: json["approved_total_reviews"],
notApprovedTotalReviews: json["not_approved_total_reviews"],
sku: json["sku"],
isRx: json["is_rx"],
prescriptionRequired: json["prescription_required"],
rxMessage: json["rx_message"] == null ? null : json["rx_message"],
rxMessagen: json["rx_messagen"] == null ? null : json["rx_messagen"],
manufacturerPartNumber: json["manufacturer_part_number"],
gtin: json["gtin"],
isGiftCard: json["is_gift_card"],
requireOtherProducts: json["require_other_products"],
automaticallyAddRequiredProducts: json["automatically_add_required_products"],
isDownload: json["is_download"],
unlimitedDownloads: json["unlimited_downloads"],
maxNumberOfDownloads: json["max_number_of_downloads"],
downloadExpirationDays: json["download_expiration_days"],
hasSampleDownload: json["has_sample_download"],
hasUserAgreement: json["has_user_agreement"],
isRecurring: json["is_recurring"],
recurringCycleLength: json["recurring_cycle_length"],
recurringTotalCycles: json["recurring_total_cycles"],
isRental: json["is_rental"],
rentalPriceLength: json["rental_price_length"],
isShipEnabled: json["is_ship_enabled"],
isFreeShipping: json["is_free_shipping"],
shipSeparately: json["ship_separately"],
additionalShippingCharge: json["additional_shipping_charge"],
isTaxExempt: json["is_tax_exempt"],
isTelecommunicationsOrBroadcastingOrElectronicServices: json["is_telecommunications_or_broadcasting_or_electronic_services"],
useMultipleWarehouses: json["use_multiple_warehouses"],
manageInventoryMethodId: json["manage_inventory_method_id"],
stockQuantity: json["stock_quantity"],
stockAvailability: json["stock_availability"],
stockAvailabilityn: json["stock_availabilityn"],
displayStockAvailability: json["display_stock_availability"],
displayStockQuantity: json["display_stock_quantity"],
minStockQuantity: json["min_stock_quantity"],
notifyAdminForQuantityBelow: json["notify_admin_for_quantity_below"],
allowBackInStockSubscriptions: json["allow_back_in_stock_subscriptions"],
orderMinimumQuantity: json["order_minimum_quantity"],
orderMaximumQuantity: json["order_maximum_quantity"],
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"],
callForPrice: json["call_for_price"],
price: json["price"].toDouble(),
oldPrice: json["old_price"],
productCost: json["product_cost"].toDouble(),
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"],
basepriceEnabled: json["baseprice_enabled"],
basepriceAmount: json["baseprice_amount"],
basepriceBaseAmount: json["baseprice_base_amount"],
hasTierPrices: json["has_tier_prices"],
hasDiscountsApplied: json["has_discounts_applied"],
discountName: json["discount_name"] == null ? null : json["discount_name"],
discountNamen: json["discount_namen"] == null ? null : json["discount_namen"],
discountDescription: json["discount_description"] == null ? null : json["discount_description"],
discountDescriptionn: json["discount_Descriptionn"] == null ? null : json["discount_Descriptionn"],
discountPercentage: json["discount_percentage"] == null ? null : json["discount_percentage"],
currency: json["currency"],
currencyn: json["currencyn"],
weight: json["weight"].toDouble(),
length: json["length"],
width: json["width"],
height: json["height"],
availableStartDateTimeUtc: json["available_start_date_time_utc"],
availableEndDateTimeUtc: json["available_end_date_time_utc"],
displayOrder: json["display_order"],
published: json["published"],
deleted: json["deleted"],
createdOnUtc: DateTime.parse(json["created_on_utc"]),
updatedOnUtc: DateTime.parse(json["updated_on_utc"]),
productType: json["product_type"],
parentGroupedProductId: json["parent_grouped_product_id"],
roleIds: List<dynamic>.from(json["role_ids"].map((x) => x)),
discountIds: List<int>.from(json["discount_ids"].map((x) => x)),
storeIds: List<dynamic>.from(json["store_ids"].map((x) => x)),
manufacturerIds: List<int>.from(json["manufacturer_ids"].map((x) => x)),
reviews: List<Review>.from(json["reviews"].map((x) => Review.fromJson(x))),
images: List<Image>.from(json["images"].map((x) => Image.fromJson(x))),
attributes: List<dynamic>.from(json["attributes"].map((x) => x)),
specifications: List<Specification>.from(json["specifications"].map((x) => Specification.fromJson(x))),
associatedProductIds: List<dynamic>.from(json["associated_product_ids"].map((x) => x)),
tags: List<dynamic>.from(json["tags"].map((x) => x)),
vendorId: json["vendor_id"],
seName: json["se_name"],
);
Map<String, dynamic> toJson() => {
"id": id,
"visible_individually": visibleIndividually,
"name": name,
"namen": namen,
"localized_names": List<dynamic>.from(localizedNames!.map((x) => x.toJson())),
"short_description": shortDescription == null ? null : shortDescription,
"short_descriptionn": shortDescriptionn == null ? null : shortDescriptionn,
"full_description": fullDescription,
"full_descriptionn": fullDescriptionn,
"markas_new": markasNew,
"show_on_home_page": showOnHomePage,
"meta_keywords": metaKeywords == null ? null : metaKeywords,
"meta_description": metaDescription == null ? null : metaDescription,
"meta_title": metaTitle == null ? null : metaTitle,
"allow_customer_reviews": allowCustomerReviews,
"approved_rating_sum": approvedRatingSum,
"not_approved_rating_sum": notApprovedRatingSum,
"approved_total_reviews": approvedTotalReviews,
"not_approved_total_reviews": notApprovedTotalReviews,
"sku": sku,
"is_rx": isRx,
"prescription_required": prescriptionRequired,
"rx_message": rxMessage == null ? null : rxMessage,
"rx_messagen": rxMessagen == null ? null : rxMessagen,
"manufacturer_part_number": manufacturerPartNumber,
"gtin": gtin,
"is_gift_card": isGiftCard,
"require_other_products": requireOtherProducts,
"automatically_add_required_products": automaticallyAddRequiredProducts,
"is_download": isDownload,
"unlimited_downloads": unlimitedDownloads,
"max_number_of_downloads": maxNumberOfDownloads,
"download_expiration_days": downloadExpirationDays,
"has_sample_download": hasSampleDownload,
"has_user_agreement": hasUserAgreement,
"is_recurring": isRecurring,
"recurring_cycle_length": recurringCycleLength,
"recurring_total_cycles": recurringTotalCycles,
"is_rental": isRental,
"rental_price_length": rentalPriceLength,
"is_ship_enabled": isShipEnabled,
"is_free_shipping": isFreeShipping,
"ship_separately": shipSeparately,
"additional_shipping_charge": additionalShippingCharge,
"is_tax_exempt": isTaxExempt,
"is_telecommunications_or_broadcasting_or_electronic_services": isTelecommunicationsOrBroadcastingOrElectronicServices,
"use_multiple_warehouses": useMultipleWarehouses,
"manage_inventory_method_id": manageInventoryMethodId,
"stock_quantity": stockQuantity,
"stock_availability": stockAvailability,
"stock_availabilityn": stockAvailabilityn,
"display_stock_availability": displayStockAvailability,
"display_stock_quantity": displayStockQuantity,
"min_stock_quantity": minStockQuantity,
"notify_admin_for_quantity_below": notifyAdminForQuantityBelow,
"allow_back_in_stock_subscriptions": allowBackInStockSubscriptions,
"order_minimum_quantity": orderMinimumQuantity,
"order_maximum_quantity": orderMaximumQuantity,
"allowed_quantities": allowedQuantities,
"allow_adding_only_existing_attribute_combinations": allowAddingOnlyExistingAttributeCombinations,
"disable_buy_button": disableBuyButton,
"disable_wishlist_button": disableWishlistButton,
"available_for_pre_order": availableForPreOrder,
"pre_order_availability_start_date_time_utc": preOrderAvailabilityStartDateTimeUtc,
"call_for_price": callForPrice,
"price": price,
"old_price": oldPrice,
"product_cost": productCost,
"special_price": specialPrice,
"special_price_start_date_time_utc": specialPriceStartDateTimeUtc,
"special_price_end_date_time_utc": specialPriceEndDateTimeUtc,
"customer_enters_price": customerEntersPrice,
"minimum_customer_entered_price": minimumCustomerEnteredPrice,
"maximum_customer_entered_price": maximumCustomerEnteredPrice,
"baseprice_enabled": basepriceEnabled,
"baseprice_amount": basepriceAmount,
"baseprice_base_amount": basepriceBaseAmount,
"has_tier_prices": hasTierPrices,
"has_discounts_applied": hasDiscountsApplied,
"discount_name": discountName == null ? null : discountName,
"discount_namen": discountNamen == null ? null : discountNamen,
"discount_description": discountDescription == null ? null : discountDescription,
"discount_Descriptionn": discountDescriptionn == null ? null : discountDescriptionn,
"discount_percentage": discountPercentage == null ? null : discountPercentage,
"currency": currency,
"currencyn": currencyn,
"weight": weight,
"length": length,
"width": width,
"height": height,
"available_start_date_time_utc": availableStartDateTimeUtc,
"available_end_date_time_utc": availableEndDateTimeUtc,
"display_order": displayOrder,
"published": published,
"deleted": deleted,
"created_on_utc": createdOnUtc!.toIso8601String(),
"updated_on_utc": updatedOnUtc!.toIso8601String(),
"product_type": productType,
"parent_grouped_product_id": parentGroupedProductId,
"role_ids": List<dynamic>.from(roleIds!.map((x) => x)),
"discount_ids": List<dynamic>.from(discountIds!.map((x) => x)),
"store_ids": List<dynamic>.from(storeIds!.map((x) => x)),
"manufacturer_ids": List<dynamic>.from(manufacturerIds!.map((x) => x)),
"reviews": List<dynamic>.from(reviews!.map((x) => x.toJson())),
"images": List<dynamic>.from(images!.map((x) => x.toJson())),
"attributes": List<dynamic>.from(attributes!.map((x) => x)),
"specifications": List<dynamic>.from(specifications!.map((x) => x.toJson())),
"associated_product_ids": List<dynamic>.from(associatedProductIds!.map((x) => x)),
"tags": List<dynamic>.from(tags!.map((x) => x)),
"vendor_id": vendorId,
"se_name": seName,
};
}
class Image {
Image({
this.id,
this.position,
this.src,
this.thumb,
this.attachment,
});
int? id;
int? position;
String? src;
String? thumb;
String? attachment;
factory Image.fromJson(Map<String, dynamic> json) => Image(
id: json["id"],
position: json["position"],
src: json["src"],
thumb: json["thumb"],
attachment: json["attachment"],
);
Map<String, dynamic> toJson() => {
"id": id,
"position": position,
"src": src,
"thumb": thumb,
"attachment": attachment,
};
}
class LocalizedName {
LocalizedName({
this.languageId,
this.localizedName,
});
int? languageId;
String? localizedName;
factory LocalizedName.fromJson(Map<String, dynamic> json) => LocalizedName(
languageId: json["language_id"],
localizedName: json["localized_name"],
);
Map<String, dynamic> toJson() => {
"language_id": languageId,
"localized_name": localizedName,
};
}
class Review {
Review({
this.id,
this.position,
this.reviewId,
this.customerId,
this.productId,
this.storeId,
this.isApproved,
this.title,
this.reviewText,
this.replyText,
this.rating,
this.helpfulYesTotal,
this.helpfulNoTotal,
this.createdOnUtc,
this.customer,
this.product,
});
int? id;
int? position;
int? reviewId;
int? customerId;
int? productId;
int? storeId;
bool? isApproved;
String? title;
String? reviewText;
dynamic replyText;
int? rating;
int? helpfulYesTotal;
int? helpfulNoTotal;
DateTime? createdOnUtc;
Customer? customer;
dynamic product;
factory Review.fromJson(Map<String, dynamic> json) => Review(
id: json["id"],
position: json["position"],
reviewId: json["review_id"],
customerId: json["customer_id"],
productId: json["product_id"],
storeId: json["store_id"],
isApproved: json["is_approved"],
title: json["title"],
reviewText: json["review_text"],
replyText: json["reply_text"],
rating: json["rating"],
helpfulYesTotal: json["helpful_yes_total"],
helpfulNoTotal: json["helpful_no_total"],
createdOnUtc: DateTime.parse(json["created_on_utc"]),
customer: Customer.fromJson(json["customer"]),
product: json["product"],
);
Map<String, dynamic> toJson() => {
"id": id,
"position": position,
"review_id": reviewId,
"customer_id": customerId,
"product_id": productId,
"store_id": storeId,
"is_approved": isApproved,
"title": title,
"review_text": reviewText,
"reply_text": replyText,
"rating": rating,
"helpful_yes_total": helpfulYesTotal,
"helpful_no_total": helpfulNoTotal,
"created_on_utc": createdOnUtc!.toIso8601String(),
"customer": customer!.toJson(),
"product": product,
};
}
class Customer {
Customer({
this.fileNumber,
this.iqamaNumber,
this.isOutSa,
this.patientType,
this.gender,
this.birthDate,
this.phone,
this.countryCode,
this.yahalaAccountno,
this.billingAddress,
this.shippingAddress,
this.addresses,
this.id,
this.username,
this.email,
this.firstName,
this.lastName,
this.languageId,
this.adminComment,
this.isTaxExempt,
this.hasShoppingCartItems,
this.active,
this.deleted,
this.isSystemAccount,
this.systemName,
this.lastIpAddress,
this.createdOnUtc,
this.lastLoginDateUtc,
this.lastActivityDateUtc,
this.registeredInStoreId,
this.roleIds,
});
dynamic fileNumber;
dynamic iqamaNumber;
int? isOutSa;
int? patientType;
dynamic gender;
DateTime? birthDate;
dynamic phone;
dynamic countryCode;
dynamic yahalaAccountno;
dynamic billingAddress;
dynamic shippingAddress;
List<dynamic>? addresses;
String? id;
Username? username;
Email? email;
dynamic firstName;
dynamic lastName;
dynamic languageId;
dynamic adminComment;
dynamic isTaxExempt;
dynamic hasShoppingCartItems;
dynamic active;
dynamic deleted;
dynamic isSystemAccount;
dynamic systemName;
dynamic lastIpAddress;
dynamic createdOnUtc;
dynamic lastLoginDateUtc;
dynamic lastActivityDateUtc;
dynamic registeredInStoreId;
List<dynamic>? roleIds;
factory Customer.fromJson(Map<String, dynamic> json) => Customer(
fileNumber: json["file_number"],
iqamaNumber: json["iqama_number"],
isOutSa: json["is_out_sa"],
patientType: json["patient_type"],
gender: json["gender"],
birthDate: DateTime.parse(json["birth_date"]),
phone: json["phone"],
countryCode: json["country_code"],
yahalaAccountno: json["yahala_accountno"],
billingAddress: json["billing_address"],
shippingAddress: json["shipping_address"],
addresses: List<dynamic>.from(json["addresses"].map((x) => x)),
id: json["id"],
username: usernameValues.map![json["username"]],
email: emailValues.map![json["email"]],
firstName: json["first_name"],
lastName: json["last_name"],
languageId: json["language_id"],
adminComment: json["admin_comment"],
isTaxExempt: json["is_tax_exempt"],
hasShoppingCartItems: json["has_shopping_cart_items"],
active: json["active"],
deleted: json["deleted"],
isSystemAccount: json["is_system_account"],
systemName: json["system_name"],
lastIpAddress: json["last_ip_address"],
createdOnUtc: json["created_on_utc"],
lastLoginDateUtc: json["last_login_date_utc"],
lastActivityDateUtc: json["last_activity_date_utc"],
registeredInStoreId: json["registered_in_store_id"],
roleIds: List<dynamic>.from(json["role_ids"].map((x) => x)),
);
Map<String, dynamic> toJson() => {
"file_number": fileNumber,
"iqama_number": iqamaNumber,
"is_out_sa": isOutSa,
"patient_type": patientType,
"gender": gender,
"birth_date": birthDate!.toIso8601String(),
"phone": phone,
"country_code": countryCode,
"yahala_accountno": yahalaAccountno,
"billing_address": billingAddress,
"shipping_address": shippingAddress,
"addresses": List<dynamic>.from(addresses!.map((x) => x)),
"id": id,
"username": usernameValues.reverse[username],
"email": emailValues.reverse[email],
"first_name": firstName,
"last_name": lastName,
"language_id": languageId,
"admin_comment": adminComment,
"is_tax_exempt": isTaxExempt,
"has_shopping_cart_items": hasShoppingCartItems,
"active": active,
"deleted": deleted,
"is_system_account": isSystemAccount,
"system_name": systemName,
"last_ip_address": lastIpAddress,
"created_on_utc": createdOnUtc,
"last_login_date_utc": lastLoginDateUtc,
"last_activity_date_utc": lastActivityDateUtc,
"registered_in_store_id": registeredInStoreId,
"role_ids": List<dynamic>.from(roleIds!.map((x) => x)),
};
}
enum Email { MEMO17299_GMAIL_COM, STEVE_GATES_NOP_COMMERCE_COM }
final emailValues = EnumValues({"Memo17299@gmail.com": Email.MEMO17299_GMAIL_COM, "steve_gates@nopCommerce.com": Email.STEVE_GATES_NOP_COMMERCE_COM});
enum Username { AMAL_26, STEVE_GATES_NOP_COMMERCE_COM }
final usernameValues = EnumValues({"amal_26": Username.AMAL_26, "steve_gates@nopCommerce.com": Username.STEVE_GATES_NOP_COMMERCE_COM});
class Specification {
Specification({
this.id,
this.displayOrder,
this.defaultValue,
this.defaultValuen,
this.name,
this.nameN,
});
int? id;
int? displayOrder;
String? defaultValue;
String? defaultValuen;
Name? name;
NameN? nameN;
factory Specification.fromJson(Map<String, dynamic> json) => Specification(
id: json["id"],
displayOrder: json["display_order"],
defaultValue: json["default_value"],
defaultValuen: json["default_valuen"],
name: nameValues.map![json["name"]],
nameN: nameNValues.map![json["nameN"]],
);
Map<String, dynamic> toJson() => {
"id": id,
"display_order": displayOrder,
"default_value": defaultValue,
"default_valuen": defaultValuen,
"name": nameValues.reverse[name],
"nameN": nameNValues.reverse[nameN],
};
}
enum Name { PRIMARY_UNIT_OF_MEASURE, BRAND, MANUFACTURER_COUNTRY_NAME, STORAGE, COMPOSITION, SPF }
final nameValues = EnumValues({
"BRAND": Name.BRAND,
"COMPOSITION": Name.COMPOSITION,
"MANUFACTURER COUNTRY NAME": Name.MANUFACTURER_COUNTRY_NAME,
"Primary Unit Of Measure": Name.PRIMARY_UNIT_OF_MEASURE,
"SPF": Name.SPF,
"STORAGE": Name.STORAGE
});
enum NameN { EMPTY, NAME_N, PURPLE, FLUFFY, TENTACLED, SPF }
final nameNValues =
EnumValues({"وحدة القياس الأولية": NameN.EMPTY, "تخزين": NameN.FLUFFY, "علامة تجارية": NameN.NAME_N, "اسم البلد المصنع": NameN.PURPLE, "SPF": NameN.SPF, "المكونات": NameN.TENTACLED});
class EnumValues<T> {
Map<String, T>? map;
Map<T, String>? reverseMap;
EnumValues(this.map);
Map<T, String> get reverse {
if (reverseMap == null) {
reverseMap = map!.map((k, v) => new MapEntry(v, k));
}
return reverseMap!;
}
}