public function createRoom() { $newModelName = Input::get('name'); $existingRoom = CeasRooms::where('name', '=', $newModelName)->first(); if ($existingRoom == null) { $newRoom = new CeasRooms(); $newRoom->name = $newModelName; $newRoom->capacity = 0; $newRoom->type = 5; $newRoom->save(); return $newRoom->toJSON(); } else { return "Room Already Exists"; } }
private function getEventsForRoom($roomNumber) { $roomInfo = CeasRooms::where('name', '=', $roomNumber)->first(); if ($roomInfo !== null) { switch ($roomInfo->type) { case 1: $events = Classroom::where('RoomId', '=', $roomInfo->id)->get(); break; case 2: $events = ComputerClassroom::where('RoomId', '=', $roomInfo->id)->get(); break; case 3: $events = BreakoutRoom::where('RoomId', '=', $roomInfo->id)->get(); break; case 4: $events = SpecialRoom::where('RoomId', '=', $roomInfo->id)->get(); break; default: $events = array(); break; } return $events; } else { return array(); } }
private function createEvent($class, $classBlock, &$response) { $startDatetime = new DateTime(); $endDatetime = new DateTime(); // get the first day of the semester $firstDayOfClass = strtotime('next ' . $classBlock['day'], $this->dayBeforeSemesterStart); // the kendo front end library must be on a different timezone setting, // because all db times that are used by kendo calendars need to be 4-5 // (5 if daylight savings time is not currently in effect) hours earlier // than the time displayed by kendo $kendoReadjust = 5 - date('I'); $startDatetime->setTimestamp($firstDayOfClass + 60 * (60 * ($classBlock['startT']['H'] - $kendoReadjust) + $classBlock['startT']['M'])); $endDatetime->setTimestamp($firstDayOfClass + 60 * (60 * ($classBlock['endT']['H'] - $kendoReadjust) + $classBlock['endT']['M'])); $room = CeasRooms::where('name', '=', $classBlock['room'])->first(); if ($room) { switch ($room->type) { case "1": $newClassroom = new Classroom(); break; case "2": $newClassroom = new ComputerClassroom(); break; case "3": $newClassroom = new BreakoutRoom(); break; case "4": $newClassroom = new SpecialRoom(); break; default: return; } $newClassroom->RoomId = $room->id; $newClassroom->Title = $class; $newClassroom->Start = $startDatetime->format('Y-m-d H:i:s'); $newClassroom->End = $endDatetime->format('Y-m-d H:i:s'); $newClassroom->RecurrenceRule = "FREQ=WEEKLY;UNTIL=" . date("Y-m-d\\TH:i:s\\Z", $this->dayAfterLastDayOfSemester) . ";BYDAY=" . substr($classBlock['day'], 0, 2); $newClassroom->attendee = 1; $newClassroom->save(); } else { if (!in_array($classBlock['room'], $response["nonExistantRooms"])) { array_push($response["nonExistantRooms"], $classBlock['room']); } } }