Exemplo n.º 1
0
 public function update($book_id, $id, $data)
 {
     // Checking if chapter exists
     $chapter = Chapter::where('book_id', $book_id)->where('id', $id)->first();
     // If chapter exists
     if (!empty($chapter)) {
         // Validating data
         $validator = Validator::make($data, Chapter::updaterules($id));
         // If there are no errors in data
         if (!$validator->fails()) {
             // Update chapter
             $chapter->update($data);
             // Checking if there are any pages
             if (isset($data['pages']) && sizeof($data['pages']) > 0) {
                 // Looping through pages
                 foreach ($data['pages'] as $page) {
                     if (isset($page['id'])) {
                         // Getting the page
                         $findpage = $this->pagesService->find($chapter->id, $page['id']);
                         // Checking if page exists
                         if ($findpage['success']) {
                             // Updating the page
                             $this->pagesService->update($chapter->id, $page['id'], $page);
                         }
                     } else {
                         // Creating the workflow part
                         $this->pagesService->insert($chapter->id, $page);
                     }
                 }
             }
             // Passing data to response service
             return $this->responseService->returnMessage($chapter, 'Chapter was not Updated.');
         } else {
             // Data has errors
             // Passing errors to response service
             return $this->responseService->errorMessage($validator->errors()->all());
         }
     } else {
         // Chapter not found
         // Returning error message
         return $this->responseService->errorMessage('Chapter was not Found.');
     }
 }