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, }

No comments:

Post a Comment