Example #1
0
 public function viewPackage(Request $request)
 {
     $user = $request->session()->get('user');
     //Gets buildings
     $buildings = buildingModel::where('landlordID', '=', $user[0]->ID)->get();
     //Gets packages of building
     $packages = packageModel::where('buildingid', '=', $buildings[0]->id)->get();
     //var_dump($packages[0]->id);
     return view('pages.landlordpackages', array('user' => $user, 'packages' => $packages, 'buildings' => $buildings));
 }
Example #2
0
 private function getQueryBuildings(Request $request)
 {
     $initialised = false;
     $query = '';
     //Search by id
     if ($request['id'] != null) {
         $query = buildingModel::where('id', '=', $request['id']);
         $initialised = true;
     }
     //Search by landlord
     if ($request['landlord'] != null && $initialised) {
         $query->where('landlordID', '=', $request['landlord']);
     } else {
         if (!$initialised) {
             $query = buildingModel::where('landlordID', '=', $request['landlord']);
             $initialised = true;
         }
     }
     //Search by buildingcategory
     if ($request['buildingcategory'] != null && $initialised) {
         $query->where('buildingCatID', '=', $request['buildingcategory']);
     } else {
         if (!$initialised) {
             $query = buildingModel::where('buildingCatID', '=', $request['buildingcategory']);
             $initialised = true;
         }
     }
     //Search by desc
     if ($request['buildingname'] != null && $initialised) {
         $query->where('buildingName', 'LIKE', "%" . $request['buildingname'] . "%");
     } else {
         if (!$initialised) {
             $query = buildingModel::where('buildingName', 'LIKE', "%" . $request['buildingname'] . "%");
             $initialised = true;
         }
     }
     //Search by buildingcategory
     if ($request['buildingdesc'] != null && $initialised) {
         $query->where('desc', 'LIKE', "%" . $request['buildingdesc'] . "%");
     } else {
         if (!$initialised) {
             $query = buildingModel::where('desc', 'LIKE', "%" . $request['buildingdesc'] . "%");
             $initialised = true;
         }
     }
     //limit query
     if ($request['limit'] != null && $query != '') {
         $query->take($request['limit']);
     }
     $buildings = $query->get();
     foreach ($buildings as $building) {
         $package = packageModel::where('buildingid', '=', $building->id)->get();
         $building['packages'] = $package;
     }
     return $buildings;
 }
Example #3
0
 public function delete(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return false;
     }
     if ($request['id'] != null) {
         $buildings = packageModel::where('id', '=', $request['id'])->delete();
         bookingPackageModel::where('package_id', '=', $request['id'])->delete();
     }
     print json_encode(array(1));
 }
Example #4
0
 public function register(Request $request)
 {
     $error = false;
     $status = array('success' => 0, 'msg' => 'Error occured');
     $user = $request->session()->get('user');
     if (isset($request['package']) && !empty($request['package'])) {
         $packageObj = $request['package'];
         $package = packageModel::find($request['package']);
     } else {
         $error = true;
     }
     if (isset($request['numAdult']) && !empty($request['numAdult'])) {
         $adultsObj = $request['numAdult'];
     } else {
         if ($package->building->category->buildingCatName == 'House' || $package->building->category->buildingCatName == 'Bungalow') {
         } else {
             $error = true;
         }
     }
     if (isset($request['numChild']) && !empty($request['numChild'])) {
         $childrenObj = $request['numChild'];
     }
     if (isset($request['start']) && !empty($request['start'])) {
         $date10Obj = $request['start'];
     } else {
         $error = true;
     }
     if (isset($request['end']) && !empty($request['end'])) {
         $date11Obj = $request['end'];
     } else {
         $error = true;
     }
     $bookings = bookingModel::where('tenantID', "=", $user[0]->ID)->where('checkin', '>=', $date10Obj)->where('checkout', '<=', $date11Obj)->get();
     //Save booking for user
     if (!$error) {
         if (sizeof($bookings) > 0) {
             $status['msg'] = "Booking conflict has been detected for the period " . $date10Obj . " - " . $date11Obj;
         } else {
             $booking = new bookingModel();
             $booking->checkin = $date10Obj;
             $booking->checkOut = $date11Obj;
             $booking->tenantID = $user[0]->ID;
             $booking->packageId = $packageObj;
             //Get package
             $price = 0;
             $buildingtype = $package->building->category;
             if (!is_null($buildingtype->buildingCatName) && ($buildingtype->buildingCatName == 'Hotel' || $buildingtype->buildingCatName == 'Appartment')) {
                 $price = $booking->getPrice($package, $booking);
             } else {
                 if (!is_null($buildingtype->buildingCatName) && ($buildingtype->buildingCatName == 'Bungalow' || $buildingtype->buildingCatName == 'Villa' || $buildingtype->buildingCatName == 'Penthouse' || $buildingtype->buildingCatName == 'House')) {
                     $price = $booking->getPrice($package, $booking);
                 }
             }
             $booking->price = $price;
             $booking->save();
             $status['success'] = 1;
             $status['msg'] = "Booking successfully registered";
         }
     } else {
         $status['msg'] = "Error in field validation";
     }
     return $status;
 }
Example #5
0
 public function checkAvailability(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return redirect()->action('MainController@index');
     }
     if (isset($request['buildingid']) && !empty($request['buildingid'])) {
         $buildingId = $request['buildingid'];
     }
     if (isset($request['checkin']) && !empty($request['checkin'])) {
         $date10Obj = $request['checkin'];
     }
     if (isset($request['checkout']) && !empty($request['checkout'])) {
         $date11Obj = $request['checkout'];
     }
     if (isset($request['packageid']) && !empty($request['packageid'])) {
         $packageid = $request['packageid'];
     }
     /* $package = DB::table('tblpackage')
        ->select(DB::raw('*'))
        ->where('id', '=', $packageid)
        ->first(); */
     $package = packageModel::where('id', '=', $packageid)->first();
     $rooms = DB::table('tblroom')->select(DB::raw('*'))->where('buildingid', '=', $buildingId)->where('roomCatID', '=', $package->roomCategoryID)->get();
     $roomsub = DB::table('tblroombooking')->join('tblroom', 'tblroombooking.roomId', '=', 'tblroom.id')->join('tblbooking', 'tblroombooking.bookingId', '=', 'tblbooking.id')->where('tblroom.roomCatID', '=', $package->roomCategoryID)->where('tblroom.buildingID', '=', $buildingId)->where('tblbooking.checkin', '>=', $date10Obj)->where('tblbooking.checkOut', '<=', $date11Obj)->select('tblroom.*')->get();
     $arrmsg = array();
     if (!empty($rooms) && !empty($roomsub)) {
         $roomsAvailable = array_diff($rooms, $roomsub);
     } else {
         if (!empty($rooms)) {
             $roomsAvailable = $rooms;
         } else {
             if (!empty($roomsub)) {
                 $roomsAvailable = array();
             } else {
                 $roomsAvailable = array();
             }
         }
     }
     if (isset($request['rooms']) && $request['rooms'] > 0 && $request['rooms'] <= count($roomsAvailable)) {
         $arrmsg['status'] = 1;
         $arrmsg['msg'] = "Enough rooms available";
     } else {
         if (isset($request['rooms']) && $request['rooms'] == 0) {
             $arrmsg['status'] = -1;
             $arrmsg['msg'] = "You have not selected no of rooms";
         } else {
             if (isset($request['rooms']) && $request['rooms'] > 0 && $request['rooms'] > count($roomsAvailable)) {
                 $arrmsg['status'] = -1;
                 $arrmsg['msg'] = "We do not have so any rooms for this period";
             } else {
                 $arrmsg['status'] = -1;
                 $arrmsg['msg'] = "Error";
             }
         }
     }
     return json_encode($arrmsg);
 }
Example #6
0
 public function delete(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return false;
     }
     if ($request['id'] != null) {
         $buildings = buildingModel::where('id', '=', $request['id'])->delete();
         // delete facilities
         $buildingFacilities = buildingFacilityModel::where("buildingid", "=", $request['id'])->delete();
         //delete room
         //delete room facilities
         //delete room booking
         $rooms = roomModel::where("buildingID", "=", $request['id'])->get();
         foreach ($rooms as $room) {
             roomFacilityModel::where("roomid", "=", $room->id)->delete();
             roomBookingModel::where("roomid", "=", $room->id)->delete();
             $room->delete();
         }
         //delete packages
         $packages = packageModel::where("buildingid", "=", $request['id'])->delete();
         //delete booking
         //delete travel
         $bookings = bookingModel::where("buildingID", "=", $request['id'])->get();
         foreach ($bookings as $booking) {
             bookingPackageModel::where("booking_id", "=", $booking->id)->delete();
             travelModel::where("bookingID", "=", $booking->id)->delete();
             $booking->delete();
         }
     }
     print json_encode(array());
 }