Exemplo n.º 1
0
 public function processOrder(Request $request)
 {
     $cartService = new cartService();
     $orderService = new orderService();
     $cart = $cartService->cartInformation();
     if (!$cart) {
         return view('client.cart.index');
     }
     $key = '__kacana_user_order__';
     $userOrder = \Session::get($key);
     $order = array();
     $order['email'] = isset($userOrder['email']) ? $userOrder['email'] : false;
     $order['name'] = $request->get('name', false);
     $order['street'] = $request->get('street', false);
     $order['city_id'] = $request->get('cityId', false);
     $order['district_id'] = $request->get('districtId', false);
     $order['ward_id'] = $request->get('wardId', '');
     $order['phone'] = $request->get('phone', false);
     $checkoutAddressId = $request->get('checkout-address-id', false);
     try {
         if ($checkoutAddressId && \Kacana\Util::isLoggedIn()) {
             $order = $cartService->processCartWithAddressId($this->_user->email, $checkoutAddressId);
         } else {
             $order = $cartService->processCart($order);
         }
         \Session::remove($key);
         return view('client.checkout.success', ['order' => $order]);
     } catch (\Exception $e) {
         if ($request->ajax()) {
             $result['error'] = $e->getMessage();
             return $result;
         } else {
             return view('errors.404', ['error_message' => $e]);
         }
     }
 }