Livegood
console.log(shoppingCart)
console.log(data)
return {
shoppingCartDetails: details ? formatShoppingCartDetails(details) : [],
id: data.ID,
userId: data.USER_ID,
amount: Number(data.ORDER_AMOUNT),
retailAmount: Number(data.ORDER_RETAIL_AMOUNT),
bv: Number(data.ORDER_VOLUME),
shipping: Number(data.ORDER_SHIPPING),
notifications: data.NOTIFICATIONS,
errors: data.ERRORS,
country: data.COUNTRY,
countryName: countryNames[data.COUNTRY],
state: data.STATE,
tax: Number(data.ORDER_TAX),
retailTax: Number(data.ORDER_RETAIL_TAX),
taxRate: Number(data.TAX_RATE),
total: Number(data.ORDER_TOTAL),
retailTotal: Number(data.ORDER_RETAIL_TOTAL),
freeCount: Number(data.FREE_COUNT),
percentOffName: data.PERCENT_OFF_NAME || '',
percentSavings: Number(data.PERCENT_SAVINGS),
percentOffNameSecond: data.PERCENT_OFF_NAME_SECOND || '',
percentSavingsSecond: Number(data.PERCENT_SAVINGS_SECOND),
totalMemberSave: Number(data.ORDER_MEMBER_SAVE),
modified: data.MODIFIED,
membership: data.MEMBERSHIP,
error: data.error,
shippingOrderCount: Number(data.SHIPPING_ORDER_COUNT),
couponAmount: Number()
}
}
function formatShoppingCartDetails (shoppingCartDetails) {
return shoppingCartDetails.map(function (detail) {
var productId = String(detail.PRODUCT_ID)
var quantity = Number(detail.QUANTITY)
var free = Boolean(detail.FREE)
var autoship = Boolean(Number(detail.AUTOSHIP))
return {
productId: productId,
quantity: quantity,
free: free,
autoship: autoship
}
})
}
function addMany (products) {
return add({
shoppingCartDetails: Object.keys(products).map(function (productId) {
return { productId: productId, quantity: products[productId], autoship: false }
})
})
}
function addToCart (productId, quantity) {
return add({
shoppingCartDetails: [
{ productId: productId, quantity: quantity, autoship: false }
]
})
}
// function setProduct(productId, quantity) {
// return update({
// shoppingCartDetails: [
// { productId: productId, quantity: quantity }
// ]
// })
// }
function setProduct(productId, {autoship, quantity}) {
return update({
shoppingCartDetails: [
{
productId: productId,
autoship: autoship,
quantity: quantity
}
]
})
}
function clearCart() {
return ('/shoppingCart/clearCart', { name: "lgd-corp" }).then(formatShoppingCart)
}
function get() { //takes no arguments because the cookies do all the work
// will get or create shopping cart
return axios.post('/shoppingCart/get', { name: "lgd-corp" }).then(formatShoppingCart)
}
function submit () {
return Promise.resolve({})
}
function deleteFromCart (productId, quantity) {
return add({
shoppingCartDetails: [
{ productId: productId, quantity: quantity * -1 }
]
})
}
function update (update) {
return axios.post('/shoppingCart/update', formatUpdate(update)).then(formatShoppingCart)
}
function add (update) {
return axios.post('/shoppingCart/add', formatAdd(update)).then(formatShoppingCart)
}
function formatUpdate (update) {
var shoppingCartDetails = update.shoppingCartDetails || []
return {
name: "lgd-corp",
STATE: update.state,
COUNTRY: update.country,
SHOPPING_CART_DETAILS: shoppingCartDetails.map(function (detail) {
return {
PRODUCT_ID: detail.productId,
QUANTITY: detail.quantity,
AUTOSHIP: Number(detail.autoship)
}
})
}
}
function formatAdd (update) {
var shoppingCartDetails = update.shoppingCartDetails || []
return {
name: "lgd-corp",
SHOPPING_CART_DETAILS: shoppingCartDetails.map(function (detail) {
return {
PRODUCT_ID: detail.productId,
QUANTITY: detail.quantity,
AUTOSHIP: Number(detail.autoship)
}
})
}
}
window.shoppingCart = {
addToCart: addToCart,
get: get,
submit: submit,
clearCart: clearCart,
setProduct: setProduct,
deleteFromCart: deleteFromCart,
addMany: addMany,
update: update,
}
Enter your country below to display available products.
Subscribe to:
Posts (Atom)
No comments:
Post a Comment