<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Novedad;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File; 

class NovedadController extends Controller
{
    // public function index(Request $request)
    // {
    //     $filtro = $request->get('filtro');
        
    //     $novedades = Novedad::orderBy('id', 'DESC')
    //         ->with('proveedor')
    //         ->paginate(5);
        
    //     return [
    //         'paginacion' => [
    //             'total'         => $novedades->total(),
    //             'pagina_actual' => $novedades->currentPage(),
    //             'por_pagina'    => $novedades->perPage(),
    //             'ultima_pagina' => $novedades->lastPage(),
    //             'desde'         => $novedades->firstItem(),
    //             'hasta'         => $novedades->lastItem(),
    //         ],
    //         'novedades' => $novedades
    //     ];
    // }

    public function store(Request $request)
    {
        $this->validate($request, [
            'tipos_novedad_id' => 'required',
            'titulo'    => 'required',
            'copete' => 'required',
            'cuerpo' => 'required'
        ]);
        
        // dd($request->all());

        $novedad = Novedad::create($request->all());

        if($request->hasFile('imagen')) {
            $path = Storage::disk('public')->put('img/novedades', $request->file('imagen'));

            $novedad->imagen = asset($path);
            $novedad->save();
        }

        return;
    }

    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'tipos_novedad_id' => 'required',
            'titulo'    => 'required',
            'copete' => 'required',
            'cuerpo' => 'required'
        ]);

        $novedad = Novedad::find($id);

        //Si se agrega o cambia la imágen
        if (!is_null($request->fileImagen)) {

            //Si se cambia
            if (!is_null($novedad->imagen)) Storage::disk('public')->delete($novedad->imagen);

            $path = Storage::disk('public')->put('img/novedades', $request->file('fileImagen'));

            $novedad->imagen = $path;
        }
        //Si se borra
        else if (is_null($request->imagen) && !is_null($novedad->imagen)){

            Storage::disk('public')->delete($novedad->imagen);
            
            $novedad->imagen = null;
        }

        $novedad->titulo = $request->titulo;
        $novedad->copete = $request->copete;
        $novedad->epigrafe = $request->epigrafe;
        $novedad->cuerpo = $request->cuerpo;
        $novedad->tipos_novedad_id = $request->tipos_novedad_id;
        $novedad->proveedor_id = $request->proveedor_id;
        $novedad->save();

        return;
    }
}
