<?php

namespace App\Http\Controllers;

use App\Models\DocumentoPessoa;
use App\Models\Lote;
use App\Models\PessoaLote;
use App\Models\Titulo;


use Illuminate\Http\Request;

class TesteController extends Controller
{

    protected $request;
    //Injeção de dependência
    public function __construct(Request $request, Titulo $titulo)
    {
        $this->request = $request;
        $this->repository = $titulo;
    }


    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
      $documentosPessoa = DocumentoPessoa::where('cpf', $this->request->cpf)->with('pessoa')->get();
        foreach ($documentosPessoa as $documentoPessoa) {
            //echo "Documento/Pessoa: " . "{$documentoPessoa}<hr>";
            $pessoasLote = PessoaLote::where('pessoa_id', $documentoPessoa->pessoa_id)->get();
            foreach ($pessoasLote as $pessoaLote) {
                //echo "Pessoa/Pessoa_Lote: " . "{$pessoaLote}<hr>";
                $lotes = Lote::where('id', $pessoaLote->lote_id)->get();
                foreach ($lotes as $lote) {
                    //echo "Lote: " . "{$lote}<hr>";
                    $titulos = Titulo::where('lote_id', $lote->id)->get();
                    foreach ($titulos as $titulo) {
                        echo "<hr>Título: {$titulo->numero_titulo}" . " | Proprietário: {$lote->proprietario}" . 
                        " | CPF: {$documentoPessoa->cpf}" . " | Lote: {$lote->numero}" . " | Cancelado?:  {$titulo->flag_cancelamento}";
                    }
                }
            }

            //return view('admin.pages.titulos.teste', ['titulos' => $titulos]);
        }
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        return $request->name;
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
