예제 #1
0
 private function getQueryAvailableVehicles(Request $request)
 {
     $initialised = false;
     $query = '';
     //Search by id
     if ($request['id'] != null) {
         $query = travelModel::where('id', '=', $request['id']);
         $initialised = true;
     }
     //Search by checkin
     if ($request['vehicleid'] != null && $initialised) {
         $query->where('vehicleID', '=', $request['vehicleid']);
     } else {
         if (!$initialised && isset($request['vehicleid'])) {
             $query = travelModel::where('vehicleID', '=', $request['vehicleid']);
             $initialised = true;
         }
     }
     //limit query
     if ($request['limit'] != null && $query != '') {
         $query->take($request['limit']);
     }
     if ($initialised) {
         $vehicles = $query->get();
     } else {
         $vehicles = vehicleModel::get();
     }
     //Check if greater than today
     $errorMessage = "";
     $checkIn = new \DateTime($request['checkin']);
     $checkOut = new \DateTime($request['checkout']);
     $dispatch = $request['dispatch'];
     $error = false;
     foreach ($vehicles as $vehicle) {
         $checkInVehicle = new \DateTime($vehicle->pickUpTime1);
         $checkOutVehicle = new \DateTime($vehicle->pickUpTime2);
         $checkInVehicle1h = new \DateTime($vehicle->pickUpTime1);
         $checkOutVehicle1h = new \DateTime($vehicle->pickUpTime2);
         $checkInVehicle1h->add(new \DateInterval('PT1H'));
         $checkOutVehicle1h->add(new \DateInterval('PT1H'));
         $dispatchvehicle = $request['dispach'];
         if ($checkIn >= $checkInVehicle && $checkIn <= $checkInVehicle1h) {
             //Conflict in check in
             $errorMessage = "A conflict in checkin time";
             $error = true;
         } elseif ($dispatch == 'true' && $checkOut >= $checkInVehicle && $checkOut <= $checkInVehicle1h) {
             // Conflict in return journey
             $errorMessage = "A conflict in checkout time";
             $error = true;
         } elseif ($dispatchvehicle && $checkIn >= $checkOutVehicle && $checkIn <= $checkOutVehicle1h) {
             // Conflict in return journey
             $errorMessage = "A conflict in checkin time";
             $error = true;
         } elseif ($dispatchvehicle && $dispatch && $checkOut >= $checkOutVehicle && $checkOut <= $checkOutVehicle1h) {
             // Conflict in return journey
             $errorMessage = "A conflict in checkout time";
             $error = true;
         } else {
             $errorMessage = "No conflict in checkout time";
         }
     }
     return array('status' => $error, 'msg' => $errorMessage);
 }
예제 #2
0
 public function landlordDeleteTenantBooking(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return false;
     } elseif ($user[0]->type == 'Landlord') {
         if ($request['id'] != null) {
             $deleteBookings = bookingModel::where('id', '=', $request['id'])->delete();
             $deletePackageModel = bookingPackageModel::where("booking_id", "=", $request['id'])->delete();
             $travelModel = travelModel::where("bookingID", '=', $request['id'])->delete();
             roomBookingModel::where("bookingId", "=", $request['id'])->delete();
         }
         print json_encode(array(1));
     } else {
         return response()->view('pages.404', ['user' => $user], 404);
     }
 }
예제 #3
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());
 }
예제 #4
0
 public function delete(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return false;
     }
     if ($request['id'] != null) {
         $vehicles = vehicleModel::where('id', '=', $request['id'])->delete();
         $travels = travelModel::where('vehicleID', '=', $request['id'])->delete();
         $vehicleBooking = vehicleBooking::where('vehicleID', '=', $request['id'])->delete();
     }
     print json_encode(array(1));
 }
예제 #5
0
 public function deleteBooking(Request $request)
 {
     $user = $request->session()->get('user');
     if (is_null($user)) {
         return false;
     }
     if ($request['id'] != null) {
         $deleteBookings = bookingModel::where('id', '=', $request['id'])->delete();
         $deletePackageModel = bookingPackageModel::where("booking_id", "=", $request['id'])->delete();
         $travelModel = travelModel::where("bookingID", '=', $request['id'])->delete();
         roomBookingModel::where("bookingId", "=", $request['id'])->delete();
         //return redirect()->action('tenantController@myBookings');
     }
     print json_encode(array(1));
 }