You are on page 1of 4

<?

php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\MenuController;
use App\Models\MSUserRole;
use App\Models\MSRefCurrencyModel;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Crypt;

class MSRefCurrencyController extends Controller


{
public function index(Request $request){
$menuclass = new MenuController;

$menu = $menuclass->Menu();
$iduser = session()->get('IDUser');
$userrole = MSUserRole::where('REF_IDUser', $iduser)->first();

$nameCurrency = MSRefCurrencyModel::distinct()-
>get(['Currency','CurrencyDesc']);
return view('refCurrency.index', compact('menu',
'userrole','nameCurrency'));
}

public function json(Request $request)


{
$column = array(
0 => 'Currency',
1 => 'CurrencyDesc',
2 => 'SimbolCurrency',
3 => 'NamaNegara',
4 => 'Created_at',
5 => 'ID',
);

$draw = $request->get('draw');
$start = $request->get('start'); // Ambil data start
$search = $request->get('search'); // search box
$length = $request->get('length'); // show perpage
// order kolom
$order = $column[$request->input('order.0.column')];
$dir = $request->input('order.0.dir');

$iduser = session()->get('IDUser');
$userrole = MSUserRole::where('REF_IDUser', $iduser)->first();

$record_total_data = MSRefCurrencyModel::query()
->count();
$record_filtered_data = MSRefCurrencyModel::where(function ($table) use
($request) {
if ($request->kodecurrency != '') {
$table->where('Currency', $request->kodecurrency);
}
})
->count();

$record_data = MSRefCurrencyModel::where(function ($table) use ($request) {


if ($request->kodecurrency != '') {
$table->where('Currency', $request->kodecurrency);
}
})
->limit($length)
->orderBy($order, $dir)
->skip($start)
->get();

$tabledata = array();
foreach ($record_data as $key => $value) {

$rows['Currency'] = $value->Currency;
$rows['CurrencyDesc'] = $value->CurrencyDesc;
$rows['SimbolCurrency'] = $value->SimbolCurrency;
$rows['NamaNegara'] = $value->NamaNegara;
$rows['Created_at'] = date("d-m-Y | H:i:s", strtotime($value-
>Created_at));
$rows['Action'] = Crypt::encryptString($value->ID);
// "<button title='Edit' class='btn btn-info btn-sm' id='Edit'
onclick='edit(" . $Encrypt_Id . ")'><i class='fas fa-edit'></i>&nbsp;Edit</button>
// <button title='Delete' class='btn btn-danger btn-sm' id='Delete'
onclick='Delete(" . $Encrypt_Id . ")'><i class='fas
fa-trash'></i>&nbsp;Delete</button>";

$tabledata[] = $rows;
}

$jsonData = array(
'draw' => $draw,
'recordsTotal' => $record_total_data,
'recordsFiltered' => $record_filtered_data,
'data' => $tabledata
);

return response()->json($jsonData);
}

public function insert(Request $request){


try {
MSRefCurrencyModel::Create([
'Currency' => $request->Currency,
'CurrencyDesc' => $request->CurrencyDesc,
'SimbolCurrency' => $request->SimbolCurrency,
'NamaNegara' => $request->NamaNegara
]);

DB::connection('sqlsrv_data')->commit();

return redirect()->back()
->with('success', 'Data Berhasil disimpan!');
} catch (\PDOException $ex) {
Log::error('Data Gagal disimpan!', array(
'ex' => $ex->getMessage()
));
DB::connection('sqlsrv_data')->rollBack();

return redirect()->back()
->with('error', 'Gagal menyimpan data. Cobalah beberapa saat
lagi');
}

return redirect()->back()->with('success', 'Data Berhasil Di Simpan');

public function dataedit(Request $request)


{
$id = Crypt::decryptString($request->id);

$ambildata = MSRefCurrencyModel::where('ID', $id)->get();

return view('refCurrency.editCurency', compact('ambildata'));


}

public function edit(Request $request)


{
DB::connection('sqlsrv_data')->beginTransaction();
try {
MSRefCurrencyModel::where('ID', $request->id)
->update([
'Currency' => $request->Currency,
'CurrencyDesc' => $request->CurrencyDesc,
'SimbolCurrency' => $request->SimbolCurrency,
'NamaNegara' => $request->NamaNegara
]);
DB::connection('sqlsrv_data')->commit();

return redirect()->back()
->with('success', 'Data Berhasil Di Edit!');
} catch (\PDOException $th) {
Log::error('Data Gagal di edit!', array(
'ex' => $th->getMessage()
));

DB::connection('sqlsrv_data')->rollBack();
return redirect()->back()
->with('error', 'Gagal Edit data. Cobalah beberapa saat lagi');
}
}

public function delete(Request $request){


$id = Crypt::decryptString($request->id);
DB::connection('sqlsrv_data')->beginTransaction();
try {
MSRefCurrencyModel::where('ID', $id)
->delete();

DB::connection('sqlsrv_data')->commit();

return response()->json([
'status' => TRUE,
'message' => 'Data berhasil di Hapus!'
]);
} catch (\PDOException $th) {
Log::error('Data Gagal dihapus!', array(
'ex' => $th->getMessage()
));

DB::connection('sqlsrv_data')->rollBack();
return response()->json([
'status' => FALSE,
'message' => 'Gagal Hapus Data Document. Cobalah kembali beberapa
saat lagi'
]);
}
}
}

You might also like