<?php

namespace Predial\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

use Predial\Area;
use Predial\Predio;
use Predial\TipoArea;
use Predial\UnidadArea;
use Predial\MotivoCambioArea;
use Predial\ParametrizacionAnio;

class AreaController extends Controller{
    public $path = "area.";

    public function index($id_unico){
        $id     = decrypt($id_unico);
        $predio = Predio::find($id);
        $data   = DB::table('gr_area as are')
                    ->select(
                        'are.id_unico', 'are.anio', 'are.tipoarea', 'tpa.nombre as tpanom',
                        'are.unidadarea', 'una.nombre as unanom', 'are.motivocambioarea', 'mca.nombre as mcanom',
                        'are.valor', 'are.area_construida as areacons', 'are.area_metros as metros'
                    )
                    ->leftJoin('gr_tipo_area as tpa', 'are.tipoarea', '=', 'tpa.id_unico')
                    ->leftJoin('gr_unidad_area as una', 'are.unidadarea', '=', 'una.id_unico')
                    ->leftJoin('gr_motivo_cambio_area as mca', 'are.motivocambioarea', '=', 'mca.id_unico')
                    ->where('are.predio', '=', $id)
                    ->orderBy('are.anio', 'desc')
                    ->get();

        $tipoar = DB::table('gr_tipo_area')->select('id_unico', 'nombre')->get();

        $uniar  = DB::table('gr_unidad_area')->select('id_unico', 'nombre')->get();

        $movar  = DB::table('gr_motivo_cambio_area')->select('id_unico', 'nombre')->get();

        return view($this->path."index")->with('predio', $predio)->with('data', $data)->with('tiposareas', $tipoar)
                                        ->with('unidadarea', $uniar)->with('motivoarea', $movar);
    }

    public function store(Request $request){
        try {
            $id_unico = decrypt($request->txtPredio);

            $new = new Area();
            $new->valor              = $request->txtValor;
            $new->anio               = $request->txtAnno;
            $new->tipoarea           = $request->sltTipoArea;
            $new->unidadarea         = $request->sltUnidadArea;
            $new->motivocambioarea   = $request->sltMotivoCambio;
            $new->predio             = $id_unico;
            $new->area_construida	 = $request->txtAreaCons;
            $new->area_metros        = $request->txtMetros;
            $new->save();

            flash()->overlay('Información guardada correctamente', 'Información');

            return back();
        } catch (Exception $e) {
            return "Falta Error = ".$e->getMessage();
        }
    }
}