<?php

namespace App\Http\Controllers\PTA;

use App\AnioVigencia;
use App\Eje;
use App\Objetivo;
use App\LineaAccion;
use App\Proyecto;
use App\Indicador;
use App\Accion;
use App\Imports\PtaCollectionImport;
use App\Imports\PtaCambioClavesImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class PrincipalController extends Controller
{

    public function import(){

        Excel::import(new PtaCollectionImport, request()->file('file'));
        dd(request()->file('file'));
        return response()->json(['status'=>'success', 'message'=>'Importación Exitosa!!']);
    }

    public function index(){
        return view('pta.listado')->with('anio', AnioVigencia::all() );
    }

    public function create(){
        return view('pta.subir');
    }

    public function show($anio){
        $acci = Accion::whereHas('indicador.proyecto.linea_accion.objetivo.eje', function($query) use ($anio){
            $query->where('fk_idAnioVigencia', $anio);
        })->get();
        return view('pta.consultar')->with( 'acciones',$acci );
    }

    public function destroy($anio){
        $eje = Eje::where('fk_idAnioVigencia', '=', $anio)->get();
        //dd($eje[0]->objetivo[0]->linea_accion[0]->proyecto[0]->indicador[0]->accion->modelKeys());

        if ($eje->count()>0) {
            foreach ($eje as $e) {
                foreach ($e->objetivo as $objetivo) {
                    foreach ($objetivo->linea_accion as $linea) {
                        foreach ($linea->proyecto as $proyecto) {
                            foreach ($proyecto->indicador as $indicador) {
                                Accion::destroy( $indicador->accion->modelKeys() );                    
                            }
                            Indicador::destroy( $proyecto->indicador->modelKeys() );
                        }
                        Proyecto::destroy($linea->proyecto->modelKeys() );
                    }
                    LineaAccion::destroy($objetivo->linea_accion->modelKeys());
                }
                Objetivo::destroy($e->objetivo->modelKeys());
            }
            Eje::destroy($eje->modelKeys());
            $insertado = DB::insert("delete from departamento_limite where anio_id= ".$anio);
            return response()->json(['status'=>'success', 'message'=>'Eliminación correcta!!']);
        } else {
            return response()->json(['status'=>'error', 'message'=>'Aun no se ha registrado ningun PTA para el año '.$anio.'!!']);
        }
        
        


    }

    //Retorna vista para subir csv para cambio de claves presupuestales
    public function show_cambio(){
        return view('pta.cambio_clave');
    }
    
    //lee csv para cambiar claves presupuestales
    public function cambio_clave(){
        Excel::import(new PtaCambioClavesImport, request()->file('file'));
    }

}
