<?php

namespace Predial\Http\Controllers;

use Illuminate\Http\Request;
use Predial\TipoPago;

class TipoPagoController extends Controller{

    public function index(){
        if(session()->exists('usuario') == true){
            $data = TipoPago::all();
            return view('tipoPago.index', compact('data'));
        }else{
            return redirect("CerrarSesion");
        }
    }

    public function create(){
        if(session()->exists('usuario') == true){
            return view("tipoPago.create");
        }else{
            return redirect("CerrarSesion");
        }
    }

    public function store(Request $request){
        try {
            $new = new TipoPago();
            $new->nombre = $request->txtNombre;
            $new->save();
            flash()->overlay("Información guardada correctamente.", "Información");
            return redirect("ListarTipoPago");
        } catch (Exception $e) {
            return $e->getMessage();
        }
    }

    public function edit($id_unico){
        if(session()->exists('usuario') == true) {
            $id   = decrypt($id_unico);
            $data = TipoPago::find($id);
            return view('tipoPago.edit', compact('data'));
        }else{
            return redirect("CerrarSesion");
        }
    }

    public function update(Request $request){
        try {
            $upd = TipoPago::findOrFail($request->id_unico);
            $upd->nombre = $request->txtNombre;
            $upd->save();
            flash()->overlay("Información modificada correctamente", "Información");
            return redirect("ListarTipoPago");
        } catch (Exception $e) {
            return $e->getMessage();
        }
    }

    public function show(){}

    public function destroy($id_unico){
        try {
            $id  = decrypt($id_unico);
            $del = TipoPago::findOrFail($id);
            $del->delete();
            flash()->overlay("Información eliminada correctamente", "Información");
            return redirect("ListarTipoPago");
        } catch (Exception $e) {
            return $e->getMessage();
        }
    }
}
