<?php
namespace App\Handlers;

use Illuminate\Http\Request;
use Validator;

class ProdottoHandler
{
    protected $request;

    public function __construct(Request $request){
        $this->request = $request;
    }

    public function datiValidi()
    {
        $valida = Validator::make($this->request->all(), [
            'descrizione' => 'required'
            , 'categoria_id' => 'required'
        ],
        [
            'descrizione.required' => 'Descrizione è obbligatoria!'
            , 'categoria_id.required' => 'Per favore, anche la Categoria'
        ]);

        if ($valida->fails()) {
            return $valida->errors();
        }
        
        return true;
    }

    public function recuperaDati($prodotto){
        $prodotto->descrizione = $this->request->input('descrizione');
        $prodotto->prezzo = $this->request->input('prezzo');
        $prodotto->categoria_id = $this->request->input('categoria_id');
        $prodotto->note = $this->request->input('note');
        
        return $prodotto;
    }

    public function inserisciDati(){
        $prodotto = new \App\Prodotto();
        $this->recuperaDati($prodotto);
        $prodotto->save();
    }

    public function aggiornaDati($id){
        $prodotto = \App\Prodotto::find($id);
        $this->recuperaDati($prodotto);
        $prodotto->save();
    }
}