예제 #1
0
 /**
  * delete Personschedule and update for persons
  *
  * @return void
  **/
 public function delete($id)
 {
     $queue = new \App\Models\Queue();
     $pending = $queue->find($id);
     $parameters = json_decode($pending->parameter, true);
     $messages = json_decode($pending->message, true);
     $errors = new MessageBag();
     $personschedule_data = \App\Models\PersonSchedule::id($parameters['id'])->with(['person'])->first();
     if (!$personschedule_data) {
         $errors->add('Batch', 'Tidak ada Personschedule.');
     } elseif (!$personschedule_data->delete()) {
         $errors->add('Batch', $personschedule_data->getError());
     }
     if (!$errors->count()) {
         $pnumber = $pending->total_process;
         $messages['message'][$pnumber] = 'Sukses Menghapus Jadwal ' . (isset($personschedule_data['person']['name']) ? $personschedule_data['person']['name'] : '');
         $pending->fill(['process_number' => $pnumber, 'message' => 'Sukses']);
     } else {
         $pnumber = $pending->total_process;
         $messages['message'][$pnumber] = 'Gagal Menghapus Jadwal ' . (isset($personschedule_data['person']['name']) ? $personschedule_data['person']['name'] : '');
         $messages['errors'][$pnumber] = $errors;
         $pending->fill(['process_number' => $pnumber, 'message' => 'Sukses']);
     }
     $pending->save();
     return true;
 }