<?php

namespace App\Http\Livewire\Tasa;

use Illuminate\Support\Facades\DB;
use Livewire\WithPagination;
use Livewire\Component;
use App\Models\Tasa;

class SelectTasa extends Component
{

    use WithPagination;

    /*****************************/
    /*** ATRIBUTOS              **/
    /*****************************/
    protected $paginationTheme = 'bootstrap';
    public $numeroregistros = 8;
    public $buscador_tasa;
    public $tasa_seleccionado;
    public $tasa_monto_seleccionado;
    public $tasa;
    public $display = "d-none";

    /*****************************/
    /*** CONSTRUCTOR            **/
    /*****************************/
    public function mount($id)
    {
        if($id != null)
        {   
            $tasa =  Tasa::find($id);
            $this->tasa_seleccionado = $tasa->documento." ". $tasa->nombre;
        }
        else
        {
        
            $tasa =  Tasa::where('activo','2')->get();
     
            $this->tasa_id = $tasa[0]->id;
            $this->tasa_seleccionado = $tasa[0]->monto_tasa." Bsf  ". $tasa[0]->fecha_reg;
            $this->tasa_monto_seleccionado = $tasa[0]->monto_tasa;

        }
 
    }    
    /*****************************/
    /*** SELECCIONAR            **/
    /*****************************/
    public function selecionar_tasa($id)
    {

        $tasa =  Tasa::find($id);

        $this->tasa_seleccionado = $tasa->monto_tasa." Bsf Fecha: ". $tasa->fecha_reg." Hora:".$tasa->hora_reg;
        $this->tasa_monto_seleccionado = $tasa->monto_tasa;

       
        $this->display = 'd-none';
        $this->emit('ev_formulario_registro','seleccionar_tasa',$tasa->id);

        $this->emit('ev_cambio_tasa_monto', $tasa->monto_tasa);


    }     
    /*****************************/
    /*** MOSTAR                 **/
    /*****************************/
    public function montar_lista()
    {
       
        $this->display = 'd-block';
     
    }    
    /*****************************/
    /*** RENDER                 **/
    /*****************************/
    public function render()
    {


        $tasas = DB::table('tasas')
        ->where('tasas.activo', '!=', '0')
        ->select(
            'tasas.id',
            'tasas.monto_tasa',
            'tasas.fecha_reg',
            'tasas.hora_reg',
            'tasas.activo',
        )
        ->where(function ($query) {
            $query->where('tasas.monto_tasa', 'like', '%' . $this->buscador_tasa . '%')
                ->Orwhere('tasas.fecha_reg', 'like', '%' . $this->buscador_tasa . '%')
                ->Orwhere('tasas.hora_reg', 'like', '%' . $this->buscador_tasa . '%');
        })->orderBy('tasas.fecha_reg', 'desc' )
        ->paginate($this->numeroregistros);

    $count_tasas_busqueda = $tasas->count();
 
        return view('livewire.tasa.select-tasa',compact('tasas','count_tasas_busqueda'));
    }
}
