MIF_E31220044/app/Http/Controllers/AlternatifController.php

151 lines
4.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Alternatif;
use Illuminate\Support\Facades\DB;
class AlternatifController extends Controller
{
public function index()
{
$alternatif = Alternatif::all();
return view('admin.alternatif.index', compact('alternatif'));
}
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'jenis' => 'required',
'bahan_utama' => 'required',
'harga' => 'required|numeric'
]);
Alternatif::create($validatedData);
return redirect()->route('admin.alternatif.index')
->with('success', 'Data alternatif berhasil ditambahkan');
}
public function storeAdmin(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'jenis' => 'required',
'bahan_utama' => 'required',
'harga' => 'required|numeric'
]);
Alternatif::create($validatedData);
return redirect()->route('alternatif.admin')
->with('success', 'Data alternatif berhasil ditambahkan');
}
public function edit($id)
{
$alternatif = Alternatif::findOrFail($id);
return view('admin.alternatif.edit', compact('alternatif'));
}
public function update(Request $request, $id)
{
$validatedData = $request->validate([
'name' => 'required',
'jenis' => 'required',
'bahan_utama' => 'required',
'harga' => 'required|numeric'
]);
$alternatif = Alternatif::findOrFail($id);
$alternatif->update($validatedData);
return redirect()->route('alternatif.index')
->with('success', 'Data alternatif berhasil diupdate');
}
public function updateAdmin(Request $request, $id)
{
$alternatif = Alternatif::findOrFail($id);
$validatedData = $request->validate([
'nama' => 'required',
'jenis' => 'required',
'bahan_utama' => 'required',
'harga' => 'required|numeric'
]);
$alternatif->update($validatedData);
if($request->ajax()) {
return response()->json(['success' => 'Data berhasil diupdate']);
}
return redirect()->route('admin.alternatif.index')
->with('success', 'Data alternatif berhasil diupdate');
}
public function destroy($id)
{
try {
$alternatif = Alternatif::findOrFail($id);
$alternatif->delete();
return redirect()->route('alternatif.index')
->with('success', 'Data alternatif berhasil dihapus');
} catch (\Exception $e) {
return redirect()->route('alternatif.index')
->with('error', 'Gagal menghapus data alternatif');
}
}
public function showKriteria() {
$criterias = DB::table('criterias')->get();
return view('author.bobot-kriteria', compact('criterias'));
}
public function create()
{
return view('admin.alternatif.create');
}
public function admin()
{
$alternatif = Alternatif::all();
return view('admin.alternatif.index', compact('alternatif'));
}
public function createAdmin()
{
return view('admin.alternatif.create');
}
public function editAdmin($id)
{
$alternatif = Alternatif::findOrFail($id);
return view('admin.alternatif.edit', compact('alternatif'));
}
public function destroyAdmin($id)
{
$alternatif = Alternatif::findOrFail($id);
$alternatif->delete();
return redirect()->route('admin.alternatif.index')
->with('success', 'Data alternatif berhasil dihapus');
}
public function adminIndex()
{
$alternatif = Alternatif::all();
return view('admin.alternatif.index', compact('alternatif'));
}
public function showAlternatif()
{
$alternatif = Alternatif::all();
return view('user.alternatif.index', compact('alternatif'));
}
}