/**
  * Request user input
  * create passenger
  * save belongsto relationship with Booking model.
  *
  * @param $request [request all user input]
  * @param $id      [get booking id]
  */
 public function addBookingDetail($request, $id)
 {
     $booking = $this->booking->getById($id);
     $givenInput = $request->all();
     $data = $this->model->create($givenInput);
     $booking->passenger()->save($data);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $input = \Request::all();
     $passenger = new Passenger();
     $passenger->title = $input['passenger_title'];
     $passenger->name = $input['passenger_name'];
     $passenger->sex = $input['passenger_sex'];
     $passenger->age = $input['passenger_age'];
     $passenger->address_line_1 = $input['passenger_address1'];
     $passenger->address_line_2 = $input['passenger_address2'];
     $passenger->address_line_3 = $input['passenger_address3'];
     $passenger->state = $input['passenger_state'];
     $passenger->country = $input['passenger_country'];
     $passenger->occupation = $input['passenger_occupation'];
     $passenger->cabin_id = $input['cabin_form'];
     $passenger->save();
     $reservation = new Reservation();
     $reservation->cruise_id = $input['cruise_form'];
     $reservation->cabin_id = $input['cabin_form'];
     $reservation->customer_id = \Auth::User()->id;
     $reservation->save();
     $cabin = Cabin::where('id', $input['cabin_form'])->first();
     $cabin->occupied = false;
     $cabin->save();
     return view('pages.index')->with('title', 'Welcome');
 }
Exemplo n.º 3
0
 public function postPayment(Request $request)
 {
     foreach ($request->get('passengername') as $key => $name) {
         $passenger = Passenger::create(['reservation_id' => $request->reservation_id, 'cruise_id' => $request->cruise_id, 'name' => $name, 'identification' => $request->get('passengeridentification')[$key], 'nationality' => $request->get('passengernationality')[$key], 'contact_no' => $request->get('passengercontact')[$key], 'gender' => $request->get('passengergender')[$key]]);
     }
     $payer = new Payer();
     $payer->setPaymentMethod('paypal');
     $item_1 = new Item();
     $item_1->setName($request->cruise_name)->setCurrency('MYR')->setQuantity(1)->setPrice($request->total);
     $item_list = new ItemList();
     $item_list->setItems(array($item_1));
     $amount = new Amount();
     $amount->setCurrency('MYR')->setTotal($request->total);
     $transaction = new Transaction();
     $transaction->setAmount($amount)->setItemList($item_list)->setDescription($request->description);
     $redirect_urls = new RedirectUrls();
     $redirect_urls->setReturnUrl(URL::route('payment.status'))->setCancelUrl(URL::route('payment.status'));
     $payment = new Payment();
     $payment->setIntent('Sale')->setPayer($payer)->setRedirectUrls($redirect_urls)->setTransactions(array($transaction));
     try {
         $payment->create($this->_api_context);
     } catch (\PayPal\Exception\PPConnectionException $ex) {
         if (\Config::get('app.debug')) {
             echo "Exception: " . $ex->getMessage() . PHP_EOL;
             $err_data = json_decode($ex->getData(), true);
             exit;
         } else {
             die('Some error occur, sorry for inconvenient');
         }
     }
     foreach ($payment->getLinks() as $link) {
         if ($link->getRel() == 'approval_url') {
             $redirect_url = $link->getHref();
             break;
         }
     }
     // add payment ID to session
     Session::put('paypal_payment_id', $payment->getId());
     Session::put('reservation_id', $request->reservation_id);
     if (isset($redirect_url)) {
         // redirect to paypal
         return Redirect::away($redirect_url);
     }
     return Redirect::route('original.route')->with('error', 'Unknown error occurred');
 }
Exemplo n.º 4
0
 public function addItem(Request $request, $productId)
 {
     #check service
     $product = Product::find($productId);
     if (!$product) {
         return redirect()->route("home")->with("error", "No product select");
     }
     $qty = $request->get("qty", 0);
     $user = Sentinel::getUser();
     $cart = $this->_createCart();
     $this->billing($cart, $request);
     $cartItem = new Cartitem();
     $cartItem->product_id = $productId;
     $cartItem->cart_id = $cart->id;
     $cartItem->quantity = $qty;
     $cartItem->track_num = $request->get('track_num', '');
     $cartItem->carrier = $request->get('carrier', '');
     $cartItem->unit_price = $product->price;
     $cartItem->save();
     for ($i = 0; $i < $qty; $i++) {
         if (!$request->has("passenger_id-" . $i)) {
             $birthdate = $request->get("year-dob-" . $i) . '-' . $request->get("month-dob-" . $i) . '-' . $request->get("day-dob-" . $i);
             $passport_expirate = $request->get("year-passportExp-" . $i) . '-' . $request->get("month-passportExp-" . $i) . '-' . $request->get("day-passportExp-" . $i);
             $passenger = Passenger::create(['first_name' => $request->get("fname-" . $i), 'last_name' => $request->get("lname-" . $i), 'gender' => $request->get("gender-" . $i), 'birthdate' => $birthdate, 'passport_num' => $request->get("passport-" . $i), 'passport_expirate' => $passport_expirate]);
         }
         $passenger->cartitem()->attach($cartItem);
     }
     return redirect('/cart');
 }