public function apply(Request $request) { $code = $request->input('coupon'); $coupon = Coupon::ofCode($code); $status = is_object($coupon) ? $coupon->validateCoupon() : $coupon; return is_object($status) ? $coupon->toJson() : response()->json(['error' => $status]); }
public function placeOrder($request) { $shoppingCart = $request->session()->get('cart'); $shoppingCartItems = $request->session()->get('items'); $user = Auth::user(); $code = $request->input('coupon'); $coupon = Coupon::ofCode($code); $transaction = Transaction::create(array('id' => md5(uniqid()), 'coupon' => is_object($coupon) ? $coupon->id : '', 'user_id' => $user->id, 'order_data' => json_encode($shoppingCartItems), 'real_charges' => $request->input('realCharges'), 'amount_off' => $request->input('amountOff'))); ShoppingCartItem::where('shopping_cart_id', $shoppingCart->id)->delete(); if (is_object($coupon)) { Coupon::where('id', $coupon->id)->update(['times_redeemed' => $coupon->times_redeemed + 1]); } $request->session()->forget('items'); $request->session()->put('itemsCtr', 0); }