PembuatanProgramController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Model\TemplateProgramDetail;
  6. use App\Services\TemplateProgramDetailServices as service;
  7. class PembuatanProgramController extends Controller
  8. {
  9. protected $service;
  10. public function __construct(service $service)
  11. {
  12. $this->service = $service;
  13. }
  14. public function getData(){
  15. $result = ['status' => 200];
  16. try{
  17. $result['data'] = $this->service->repoGetData();
  18. }catch(\Exception $e){
  19. $result = [
  20. 'status' => 500,
  21. 'error' => $e->getMessage()
  22. ];
  23. }
  24. return response()->json($result, $result['status']);
  25. }
  26. public function store(Request $request){
  27. $result = ['status' => 200];
  28. try{
  29. $result['data'] = $this->service->repoSave($request);
  30. }catch(\Exception $e){
  31. $result = [
  32. 'status' => 500,
  33. 'error' => $e->getMessage()
  34. ];
  35. }
  36. return response()->json($result, $result['status']);
  37. }
  38. public function getById(Request $request){
  39. $result = ['status' => 200];
  40. try{
  41. $result['data'] = $this->service->repoGetDataByID($request->route('id'));
  42. }catch(\Exception $e){
  43. $result = [
  44. 'status' => 500,
  45. 'error' => $e->getMessage()
  46. ];
  47. }
  48. return response()->json($result, $result['status']);
  49. }
  50. public function subprogram(Request $request){
  51. $result = ['status' => 200];
  52. try{
  53. $query = new TemplateProgramDetail;
  54. if($request->has('id_template_program')){
  55. $query = $query->where('id_template_program',$request->get('id_template_program'));
  56. }
  57. $data = $query->get();
  58. $result['data'] = $data;
  59. }catch(\Exception $e){
  60. $result = [
  61. 'status' => 500,
  62. 'error' => $e->getMessage()
  63. ];
  64. }
  65. return response()->json($result, $result['status']);
  66. }
  67. public function delete(Request $request) {
  68. $result = ['status' => 200];
  69. try{
  70. $result['data'] = $this->service->repoDeleteById($request->route('id'));
  71. } catch (\Exception $e) {
  72. $result = [
  73. 'status' => 500,
  74. 'error' => $e->getMessage()
  75. ];
  76. }
  77. return response()->json($result, $result['status']);
  78. }
  79. }