public function obtainClassroom(Request $request)
 {
     if ($request->ajax()) {
         $block = Input::get("block");
         $query = Classroom::select()->where('block_id', '=', $block)->get();
         return $query;
     }
     return 'none';
 }
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     if (DB::connection() instanceof \Illuminate\Database\SQLiteConnection) {
         DB::statement(DB::raw('PRAGMA foreign_keys=1'));
     }
     Validator::extend('overlap_room', function ($attribute, $value, $parameters, $validator) {
         $time = strtotime($value);
         $time = date('G:i:s', $time);
         $overlap = Classroom::select('classrooms.*')->Join('rooms', 'classrooms.room_id', '=', 'rooms.id')->where([['classrooms.from', '<=', $time], ['classrooms.to', '>=', $time], ['classrooms.day', Input::get('day')], ['rooms.name', Input::get('room')]])->get();
         $from = strtotime(Input::get('from'));
         $from = date('G:i:s', $from);
         //convert to 24 hr format
         $to = strtotime(Input::get('to'));
         $to = date('G:i:s', $to);
         //convert to 24 hr format
         $overlapBetween = Classroom::select('classrooms.*')->Join('rooms', 'classrooms.room_id', '=', 'rooms.id')->where([['classrooms.day', Input::get('day')], ['rooms.name', Input::get('room')]])->whereBetween('classrooms.from', [$from, $to])->get();
         if ($overlap->count() || $overlapBetween->count()) {
             return false;
         }
         return true;
     });
     Validator::extend('overlap_course', function ($attribute, $value, $parameters, $validator) {
         $time = strtotime($value);
         $time = date('G:i:s', $time);
         $overlap = Classroom::select('classrooms.*')->Join('courses', 'classrooms.course_code', '=', 'courses.code')->where([['classrooms.from', '<=', $time], ['classrooms.to', '>=', $time], ['classrooms.day', Input::get('day')], ['courses.name', Input::get('course_name')]])->get();
         $from = strtotime(Input::get('from'));
         $to = strtotime(Input::get('to'));
         $from = date('G:i:s', $from);
         //convert to 24 hr format
         $to = date('G:i:s', $to);
         //convert to 24 hr format
         $overlapBetween = Classroom::select('classrooms.*')->Join('courses', 'classrooms.course_code', '=', 'courses.code')->where([['classrooms.day', Input::get('day')], ['courses.name', Input::get('course_name')]])->whereBetween('classrooms.from', [$from, $to])->get();
         if ($overlap->count() || $overlapBetween->count()) {
             return false;
         }
         return true;
     });
     Validator::extend('duration_check', function ($attribute, $value, $parameters, $validator) {
         $from = strtotime(Input::get('from'));
         $to = strtotime(Input::get('to'));
         $duration = round(abs($to - $from) / 60, 2);
         //time difference=(to-from)minute
         if ($duration >= 50) {
             return true;
         } else {
             return false;
         }
     });
 }
 public function returnClassrooms()
 {
     $blocks = explode(",", Input::get("data"));
     foreach ($blocks as $key => $value) {
         $blocks[$key] = 'name = "' . $value . '"';
     }
     $idBlock = Block::select()->whereRaw(implode(' or ', $blocks))->lists("id");
     $classRooms = Classroom::select()->whereIn('block_id', $idBlock)->orderBy('location')->get();
     return $classRooms;
 }
 /**
  * Get room schedule for the selected room & day
  * @param Request $request
  */
 public function getRoomSchedule(Request $request)
 {
     if ($request->ajax()) {
         $classrooms = Classroom::select('classrooms.course_code', 'classrooms.from', 'classrooms.to')->Join('rooms', 'classrooms.room_id', '=', 'rooms.id')->where([['classrooms.day', $request->input('day')], ['rooms.name', $request->input('room_name')]])->orderBy('classrooms.from')->get();
         foreach ($classrooms as $classroom) {
             $classroom->from = date('h:i A', strtotime($classroom->from));
             $classroom->to = date('h:i A', strtotime($classroom->to));
         }
         return response($classrooms);
         //            return response()->json(['message' => 'Successfully added to cart']);
     }
 }