ronaldkwandy

Untitled

Oct 21st, 2018
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.46 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Masters\Barang;
  4.  
  5. use Illuminate\Support\Facades\DB;
  6. use App\Core\BaseService;
  7. use App\Core\CustomException;
  8. use App\Core\ErrorMessage;
  9. use App\Http\Controllers\Masters\Barang\Barang;
  10. use Illuminate\Database\Eloquent\ModelNotFoundException;
  11.  
  12. class BarangService extends BaseService {
  13.  
  14.     public function get($id) {
  15.         try {
  16.             return Barang::find($id);
  17.         } catch (ModelNotFoundException $ex) {
  18.             return null;
  19.         }
  20.     }
  21.  
  22.     public function search($searchParams) {
  23.         $barang = DB::table('m_barang')->selectRaw('m_barang.*');
  24.         foreach ($searchParams as $key => $value) {
  25.             if ($value != null) {
  26.                 $barang = $barang->where($key, '=', $value);
  27.             }
  28.         }
  29.         return $barang->get();
  30.     }
  31.  
  32.     public function add($values) {
  33.         try {
  34.             // val required
  35.             parent::valRequired("Tipe", $values["tipe"]);
  36.             parent::valRequired("Harga modal", $values["harga_modal"]);
  37.             parent::valRequired("Harga sub", $values["harga_sub"]);
  38.             parent::valRequired("Harga jual", $values["harga_jual"]);
  39.             parent::valRequired("Sell out", $values["sell_out"]);
  40.             parent::valRequired("Promo", $values["promo"]);
  41.             parent::valRequired("Stok", $values["stok"]);
  42.             parent::valRequired("Keterangan", $values["keterangan"]);
  43.             parent::valRequired("Merk", $values["m_merk_id"]);
  44.             parent::valRequired("Jenis", $values["m_jenis_id"]);
  45.             parent::valRequired("Aktif", $values["aktif"]);
  46.            
  47.             // val number
  48.             parent::valNumber("Harga modal", $values["harga_modal"]);
  49.             parent::valNumber("Harga sub", $values["harga_sub"]);
  50.             parent::valNumber("Harga jual", $values["harga_jual"]);
  51.             parent::valNumber("Sell out", $values["sell_out"]);
  52.             parent::valNumber("Stok", $values["stok"]);
  53.            
  54.             // val boolean
  55.             parent::valBoolean("Aktif", $values["aktif"]);
  56.            
  57.             $this->valBK($values["tipe"]);
  58.  
  59.             $barang = Barang::create($values);
  60.             return $this->get($barang->id);
  61.         } catch (CustomException $ex) {
  62.             throw new CustomException($ex->message, 400, null, $ex->code);
  63.         }
  64.     }
  65.  
  66.     public function edit($values) {
  67.         try {
  68.             // val required
  69.             parent::valRequired("ID", $values["id"]);
  70.             parent::valRequired("Tipe", $values["tipe"]);
  71.             parent::valRequired("Harga modal", $values["harga_modal"]);
  72.             parent::valRequired("Harga sub", $values["harga_sub"]);
  73.             parent::valRequired("Harga jual", $values["harga_jual"]);
  74.             parent::valRequired("Sell out", $values["sell_out"]);
  75.             parent::valRequired("Promo", $values["promo"]);
  76.             parent::valRequired("Stok", $values["stok"]);
  77.             parent::valRequired("Keterangan", $values["keterangan"]);
  78.             parent::valRequired("Merk", $values["m_merk_id"]);
  79.             parent::valRequired("Jenis", $values["m_jenis_id"]);
  80.             parent::valRequired("Aktif", $values["aktif"]);
  81.            
  82.             // val number
  83.             parent::valNumber("Harga modal", $values["harga_modal"]);
  84.             parent::valNumber("Harga sub", $values["harga_sub"]);
  85.             parent::valNumber("Harga jual", $values["harga_jual"]);
  86.             parent::valNumber("Sell out", $values["sell_out"]);
  87.             parent::valNumber("Stok", $values["stok"]);
  88.            
  89.             // val boolean
  90.             parent::valBoolean("Aktif", $values["aktif"]);
  91.            
  92.             $this->valBK($values["tipe"], $values["id"]);
  93.  
  94.             $barang = Barang::find($values["id"]);
  95.             $barang->tipe = $values["tipe"];
  96.             $barang->harga_modal = $values["harga_modal"];
  97.             $barang->harga_sub = $values["harga_sub"];
  98.             $barang->harga_jual = $values["harga_jual"];
  99.             $barang->sell_out = $values["sell_out"];
  100.             $barang->promo = $values["promo"];
  101.             $barang->stok = $values["stok"];
  102.             $barang->keterangan = $values["keterangan"];
  103.             $barang->image_type = null;
  104.             $barang->image = null;
  105.             $barang->m_merk_id = $values["m_merk_id"];
  106.             $barang->m_jenis_id = $values["m_jenis_id"];
  107.             $barang->aktif = $values["aktif"];
  108.             $barang->save();
  109.             $barang->touch();
  110.  
  111.             return $this->get($barang->id);
  112.         } catch (CustomException $ex) {
  113.             throw new CustomException($ex->message, 400, null, $ex->code);
  114.         }
  115.     }
  116.  
  117.     public function delete($id) {
  118.         try {
  119.             parent::valRequired("ID", $id);
  120.             $barang = Barang::find($id);
  121.             $barang->delete();
  122.  
  123.             return true;
  124.         } catch (CustomException $ex) {
  125.             throw new CustomException($ex->message, 400, null, $ex->code);
  126.         }
  127.     }
  128.  
  129.     private function valBK($tipe, $id = null) {
  130.         if ($id == null) {
  131.             $barangExist = DB::table('m_barang')->where('tipe', $tipe)->first();
  132.         } else {
  133.             $barangExist = DB::table('m_barang')->where('id', '!=', $id)->where('tipe', $tipe)->first();
  134.         }
  135.  
  136.         if ($barangExist != null) {
  137.             throw new CustomException(ErrorMessage::$ERR_MERK_001["message"], 400, null, ErrorMessage::$ERR_MERK_001["code"]);
  138.         }
  139.     }
  140.  
  141. }
Advertisement
Add Comment
Please, Sign In to add comment