<?php

namespace App\Http\Controllers;

use App\Models\Azienda;
use Illuminate\Http\Request;

class BK_AziendaController extends Controller
{
    public function index()
    {
        $aziende = Azienda::orderBy('id', 'desc')->get(); // usa ->paginate(10) se preferisci
        return view('backend.aziende.index', compact('aziende'));
    }

    public function create()
    {
        return view('backend.aziende.create');
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'nome' => 'required|string',
            'piva' => 'required|string|unique:aziende,piva',
            'indirizzo' => 'nullable|string',
            'telefono' => 'nullable|string',
            'email' => 'nullable|email',
        ]);

        $azienda = Azienda::create($data);
        return redirect()->route('aziende.index')->with('success', 'Azienda creata con successo.');
    }

    public function show(Azienda $azienda)
    {
        return view('backend.aziende.show', compact('azienda'));
    }

    public function edit(Azienda $azienda)
    {
        return view('backend.aziende.edit', compact('azienda'));
    }

    public function update(Request $request, Azienda $azienda)
    {
        $data = $request->validate([
            'nome' => 'required|string',
            'piva' => 'required|string|unique:aziende,piva,' . $azienda->id,
            'indirizzo' => 'nullable|string',
            'telefono' => 'nullable|string',
            'email' => 'nullable|email',
            'logo' => 'nullable|image|max:2048', // opzionale: validazione logo
        ]);

        if ($request->hasFile('logo')) {
            $path = $request->file('logo')->store('aziende/loghi', 'public');
            $data['logo'] = $path;
        }

        $azienda->update($data);

        return redirect()
            ->route('aziende.show', $azienda)
            ->with('success', 'Azienda aggiornata con successo.');
    }


    public function destroy(Azienda $azienda)
    {
        $azienda->delete();
        return redirect()->route('aziende.index')->with('success', 'Azienda eliminata.');
    }
}
