public function insertBookNormal() { $validator = Validator::make(Input::all(), $this->rules); $getNum = Input::get('ccnum'); $getType = Input::get('CardType'); if ($validator->fails()) { return Redirect::action('normalBook', [Input::get('roomID')])->withErrors($validator, 'guest')->withInput(); } else { if (!checkCreditCard($getNum, $getType, $errornumber, $errortext)) { $errortext = "This Card Has Invalid Number"; return Redirect::action('normalBook', [Input::get('roomID')])->with('ccError', $errortext)->withInput(); } else { $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $temp; $bookCode = ""; for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 1) { $temp = floor(rand(0, 9)); } else { $temp = $characters[rand(0, strlen($characters) - 1)]; } $bookCode = $bookCode . $temp; } $inputAll = Input::all(); $guest = new Guest(); $booking = new Book(); $payment = new Payment(); $extra = new Extra(); $detailBook = new DetailBooking(); $detailAdditional = new DetailAdditional(); $countAdd = Additional::where('Status', '=', 'Active')->count(); $countBook = Book::orderby('ID_Booking', 'DESC')->first(); $countGuest = Guest::orderby('ID_Guest', 'DESC')->first(); $countExtra = Extra::orderby('ID_Extra', 'DESC')->first(); $countPayment = Payment::orderby('ID_Payment', 'DESC')->first(); $tampIDBook = $countBook->ID_Booking; $tampIDGuest = $countGuest->ID_Guest; $tampIDExtra = $countExtra->ID_Extra; $tampIDPayment = $countPayment->ID_Payment; $checkYearBook = substr(strval($tampIDBook), 3, -5); $checkYearGuest = substr(strval($tampIDGuest), 3, -5); $checkYearExtra = substr(strval($tampIDExtra), 3, -5); $checkYearPayment = substr(strval($tampIDPayment), 3, -5); $incrementIDBook = substr($tampIDBook, 3) + 1; $incrementIDGuest = substr($tampIDGuest, 3) + 1; $incrementIDExtra = substr($tampIDExtra, 3) + 1; $incrementIDPayment = substr($tampIDPayment, 3) + 1; $joinBook = "BOK" . $incrementIDBook; $joinGuest = "GUE" . $incrementIDGuest; $joinExtra = "EXT" . $incrementIDExtra; $joinPayment = "PAY" . $incrementIDPayment; $occupancy = Input::get('adult') . ' Adult | ' . Input::get('child') . ' Child'; $ccexpiry = Input::get('ccmonth') . '/' . Input::get('ccyear'); $arrive = date("Y-m-d", strtotime(Input::get('from'))); //arrive date $depart = date("Y-m-d", strtotime(Input::get('to'))); //depart if ($checkYearBook == strval(date("y"))) { //1. insert to book $booking->ID_Booking = $joinBook; $booking->Booking_code = $bookCode; $booking->Arrive = $arrive; $booking->Depart = $depart; $booking->Number_nights = Input::get('total_d'); $booking->Occupancy = $occupancy; $booking->Booking_Status = "Booked"; //2. insert to guest if ($checkYearGuest == strval(date("y"))) { $guest->ID_Guest = $joinGuest; $guest->ID_Booking = $joinBook; $guest->First_Name = Input::get('fname'); $guest->Last_Name = Input::get('lname'); $guest->No_Identity = Input::get('identity'); $guest->Email = Input::get('email'); $guest->Telephone = Input::get('phone'); $guest->Address = Input::get('address'); $guest->Country = Input::get('country'); $guest->City = Input::get('city'); $guest->State = Input::get('city'); $guest->Post_code = Input::get('state'); } else { $guest->ID_Guest = "GUE" . date('y') . "00001"; $guest->ID_Booking = $joinBook; $guest->First_Name = Input::get('fname'); $guest->Last_Name = Input::get('lname'); $guest->No_Identity = Input::get('identity'); $guest->Email = Input::get('email'); $guest->Telephone = Input::get('phone'); $guest->Address = Input::get('address'); $guest->Country = Input::get('country'); $guest->City = Input::get('city'); $guest->State = Input::get('city'); $guest->Post_code = Input::get('state'); } //3. insert to payment if ($checkYearPayment == strval(date("y"))) { $payment->ID_Payment = $joinPayment; $payment->ID_Booking = $joinBook; $payment->Credit_Type = Input::get('CardType'); $payment->Credit_Holder = Input::get('ccname'); $payment->Credit_Number = Input::get('ccnum'); $payment->Credit_Expiry = $ccexpiry; } else { $payment->ID_Payment = "PAY" . date('y') . "00001"; $payment->ID_Booking = $joinBook; $payment->Credit_Type = Input::get('CardType'); $payment->Credit_Holder = Input::get('ccname'); $payment->Credit_Number = Input::get('ccnum'); $payment->Credit_Expiry = $ccexpiry; } //4. insert to extra if ($checkYearExtra == strval(date("y"))) { $extra->ID_Extra = $joinExtra; $extra->ID_Booking = $joinBook; $extra->Arrival_time = Input::get('darrive'); $extra->Flight_detail = Input::get('fdetail'); $extra->Comment = Input::get('comment'); } else { $extra->ID_Extra = "EXT" . date('y') . "00001"; $extra->ID_Booking = $joinBook; $extra->Arrival_Time = Input::get('darrive'); $extra->Flight_Detail = Input::get('fdetail'); $extra->Comment = Input::get('comment'); } //5. insert to detail Book $detailBook->ID_Booking = $joinBook; $detailBook->ID_RoomType = Input::get('roomID'); $detailBook->Quantity = Input::get('quantity'); $detailBook->Price = Input::get('roomPR'); for ($i = 0; $i < $countAdd; $i++) { $data = array(array('ID_Booking' => $joinBook, 'ID_Additional' => Input::get("id_add_{$i}"), 'Price' => Input::get("price_add_{$i}"), 'Quantity' => Input::get("add_{$i}"))); DetailAdditional::insert($data); } $booking->save(); $guest->save(); $payment->save(); $extra->save(); $detailBook->save(); return Redirect::action('showBook', $bookCode); } else { //1. insert to book $booking->ID_Booking = "BOK" . date('y') . "00001"; $booking->Booking_code = $bookCode; $booking->Arrive = $arrive; $booking->Depart = $depart; $booking->Number_nights = Input::get('total_d'); $booking->Occupancy = $occupancy; $booking->Booking_Status = "Booked"; //2. insert to guest if ($checkYearGuest == strval(date("y"))) { $guest->ID_Guest = $joinGuest; $guest->ID_Booking = "BOK" . date('y') . "00001"; $guest->First_Name = Input::get('fname'); $guest->Last_Name = Input::get('lname'); $guest->No_Identity = Input::get('identity'); $guest->Email = Input::get('email'); $guest->Telephone = Input::get('phone'); $guest->Address = Input::get('address'); $guest->Country = Input::get('country'); $guest->City = Input::get('city'); $guest->State = Input::get('city'); $guest->Post_code = Input::get('state'); } else { $guest->ID_Guest = "GUE" . date('y') . "00001"; $guest->ID_Booking = "BOK" . date('y') . "00001"; $guest->First_Name = Input::get('fname'); $guest->Last_Name = Input::get('lname'); $guest->No_Identity = Input::get('identity'); $guest->Email = Input::get('email'); $guest->Telephone = Input::get('phone'); $guest->Address = Input::get('address'); $guest->Country = Input::get('country'); $guest->City = Input::get('city'); $guest->State = Input::get('city'); $guest->Post_code = Input::get('state'); } //3. insert to payment if ($checkYearPayment == strval(date("y"))) { $payment->ID_Payment = $joinPayment; $payment->ID_Booking = "BOK" . date('y') . "00001"; $payment->Credit_Type = Input::get('CardType'); $payment->Credit_Holder = Input::get('ccname'); $payment->Credit_Number = Input::get('ccnum'); $payment->Credit_Expiry = $ccexpiry; } else { $payment->ID_Payment = "PAY" . date('y') . "00001"; $payment->ID_Booking = "BOK" . date('y') . "00001"; $payment->Credit_Type = Input::get('CardType'); $payment->Credit_Holder = Input::get('ccname'); $payment->Credit_Number = Input::get('ccnum'); $payment->Credit_Expiry = $ccexpiry; } //4. insert to extra if ($checkYearExtra == strval(date("y"))) { $extra->ID_Extra = $joinExtra; $extra->ID_Booking = "BOK" . date('y') . "00001"; $extra->Arrival_Time = Input::get('darrive'); $extra->Flight_Detail = Input::get('fdetail'); $extra->Comment = Input::get('comment'); } else { $extra->ID_Extra = "EXT" . date('y') . "00001"; $extra->ID_Booking = "BOK" . date('y') . "00001"; $extra->Arrival_Time = Input::get('darrive'); $extra->Flight_Detail = Input::get('fdetail'); $extra->Comment = Input::get('comment'); } //5. insert to detail Book $detailBook->ID_Booking = "BOK" . date('y') . "00001"; $detailBook->ID_RoomType = Input::get('roomID'); $detailBook->Quantity = Input::get('quantity'); $detailBook->Price = Input::get('roomPR'); //6. insert to detail additional for ($i = 0; $i < $countAdd; $i++) { $data = array(array('ID_Booking' => "BOK" . date('y') . "00001", 'ID_Additional' => Input::get("id_add_{$i}"), 'Price' => Input::get("price_add_{$i}"), 'Quantity' => Input::get("add_{$i}"))); DetailAdditional::insert($data); } $booking->save(); $guest->save(); $payment->save(); $extra->save(); $detailBook->save(); return Redirect::action('showInvoice', $bookCode); //return Redirect::to('/rooms')->with('message','Success'); } } } }
public function attachAdditionalMenu() { $additional = new Additional(); $additional->menu_id = Input::get('item_id'); $additional->reservation_id = Input::get('reservation_id'); $additional->package = 0; $additional->quantity = Input::get('quantity'); $additional->category = 1; $additional->save(); $reservation = Reservation::find(Input::get('reservation_id')); $reservation->net_total = $reservation->net_total + Input::get('quantity') * Input::get('price'); $reservation->save(); return Redirect::back(); }