Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\Masters\Barang;
- use Illuminate\Support\Facades\DB;
- use App\Core\BaseService;
- use App\Core\CustomException;
- use App\Core\ErrorMessage;
- use App\Http\Controllers\Masters\Barang\Barang;
- use Illuminate\Database\Eloquent\ModelNotFoundException;
- class BarangService extends BaseService {
- public function get($id) {
- try {
- return Barang::find($id);
- } catch (ModelNotFoundException $ex) {
- return null;
- }
- }
- public function search($searchParams) {
- $barang = DB::table('m_barang')->selectRaw('m_barang.*');
- foreach ($searchParams as $key => $value) {
- if ($value != null) {
- $barang = $barang->where($key, '=', $value);
- }
- }
- return $barang->get();
- }
- public function add($values) {
- try {
- // val required
- parent::valRequired("Tipe", $values["tipe"]);
- parent::valRequired("Harga modal", $values["harga_modal"]);
- parent::valRequired("Harga sub", $values["harga_sub"]);
- parent::valRequired("Harga jual", $values["harga_jual"]);
- parent::valRequired("Sell out", $values["sell_out"]);
- parent::valRequired("Promo", $values["promo"]);
- parent::valRequired("Stok", $values["stok"]);
- parent::valRequired("Keterangan", $values["keterangan"]);
- parent::valRequired("Merk", $values["m_merk_id"]);
- parent::valRequired("Jenis", $values["m_jenis_id"]);
- parent::valRequired("Aktif", $values["aktif"]);
- // val number
- parent::valNumber("Harga modal", $values["harga_modal"]);
- parent::valNumber("Harga sub", $values["harga_sub"]);
- parent::valNumber("Harga jual", $values["harga_jual"]);
- parent::valNumber("Sell out", $values["sell_out"]);
- parent::valNumber("Stok", $values["stok"]);
- // val boolean
- parent::valBoolean("Aktif", $values["aktif"]);
- $this->valBK($values["tipe"]);
- $barang = Barang::create($values);
- return $this->get($barang->id);
- } catch (CustomException $ex) {
- throw new CustomException($ex->message, 400, null, $ex->code);
- }
- }
- public function edit($values) {
- try {
- // val required
- parent::valRequired("ID", $values["id"]);
- parent::valRequired("Tipe", $values["tipe"]);
- parent::valRequired("Harga modal", $values["harga_modal"]);
- parent::valRequired("Harga sub", $values["harga_sub"]);
- parent::valRequired("Harga jual", $values["harga_jual"]);
- parent::valRequired("Sell out", $values["sell_out"]);
- parent::valRequired("Promo", $values["promo"]);
- parent::valRequired("Stok", $values["stok"]);
- parent::valRequired("Keterangan", $values["keterangan"]);
- parent::valRequired("Merk", $values["m_merk_id"]);
- parent::valRequired("Jenis", $values["m_jenis_id"]);
- parent::valRequired("Aktif", $values["aktif"]);
- // val number
- parent::valNumber("Harga modal", $values["harga_modal"]);
- parent::valNumber("Harga sub", $values["harga_sub"]);
- parent::valNumber("Harga jual", $values["harga_jual"]);
- parent::valNumber("Sell out", $values["sell_out"]);
- parent::valNumber("Stok", $values["stok"]);
- // val boolean
- parent::valBoolean("Aktif", $values["aktif"]);
- $this->valBK($values["tipe"], $values["id"]);
- $barang = Barang::find($values["id"]);
- $barang->tipe = $values["tipe"];
- $barang->harga_modal = $values["harga_modal"];
- $barang->harga_sub = $values["harga_sub"];
- $barang->harga_jual = $values["harga_jual"];
- $barang->sell_out = $values["sell_out"];
- $barang->promo = $values["promo"];
- $barang->stok = $values["stok"];
- $barang->keterangan = $values["keterangan"];
- $barang->image_type = null;
- $barang->image = null;
- $barang->m_merk_id = $values["m_merk_id"];
- $barang->m_jenis_id = $values["m_jenis_id"];
- $barang->aktif = $values["aktif"];
- $barang->save();
- $barang->touch();
- return $this->get($barang->id);
- } catch (CustomException $ex) {
- throw new CustomException($ex->message, 400, null, $ex->code);
- }
- }
- public function delete($id) {
- try {
- parent::valRequired("ID", $id);
- $barang = Barang::find($id);
- $barang->delete();
- return true;
- } catch (CustomException $ex) {
- throw new CustomException($ex->message, 400, null, $ex->code);
- }
- }
- private function valBK($tipe, $id = null) {
- if ($id == null) {
- $barangExist = DB::table('m_barang')->where('tipe', $tipe)->first();
- } else {
- $barangExist = DB::table('m_barang')->where('id', '!=', $id)->where('tipe', $tipe)->first();
- }
- if ($barangExist != null) {
- throw new CustomException(ErrorMessage::$ERR_MERK_001["message"], 400, null, ErrorMessage::$ERR_MERK_001["code"]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment