<?php


namespace App\Http\Historico;


// Modelos
use App\Log;


// Controladores
use App\Http\Controllers\AnalitoController;
use App\Http\Controllers\AreaController;
use App\Http\Controllers\Controller;


// Historico
use App\Http\Historico\Historico;


class AnalitoHistorico extends Historico {    

    public function store($accion, $obj){

        $this->SetInformacionLog($accion, $obj);
        
        switch($this->accion){
            case "store":
                $nom_area = AreaController::listItem($this->req->id_area)->nom_area;
                $nom_analito = $this->req->nombre;
                $limite = $this->req->limite;
                $this->tableLog->titulo = "Registro";
                $this->tableLog->descripcion = "area: $nom_area, nombre: $nom_analito, limite: $limite";
                break;

            case "update":
                $nom_area = AnalitoController::listItem($this->req->id)->nom_area;
                $nom_analito = AnalitoController::listItem($this->req->id)->nom_analito;
                switch($this->req->campo){
                    case "nombre":
                        $new_nom_analito = $this->req->nombre;
                        $this->tableLog->titulo = "Modificación de nombre";
                        $this->tableLog->descripcion = "Para el analito $nom_area - $nom_analito se actualiza a: $new_nom_analito";
                    break;
                    case "area":
                        $new_nom_area = AreaController::listItem($this->req->id_area)->nom_area;
                        $this->tableLog->titulo = "Modificación de área";
                        $this->tableLog->descripcion = "Para el analito $nom_area - $nom_analito se actualiza a: $new_nom_area";
                    break;
                    case "limite":
                        $new_valor_aps = $this->req->valor_aps;
                        $this->tableLog->titulo = "Modificación de límite APS";
                        $this->tableLog->descripcion = "Para el analito $nom_area - $nom_analito se actualiza a: $new_valor_aps";
                    break;
                }
                break;

            case "destroy":
                $nom_area = AnalitoController::listItem($this->req->id)->nom_area;
                $nom_analito = AnalitoController::listItem($this->req->id)->nom_analito;
                $this->tableLog->titulo = "Eliminación";
                $this->tableLog->descripcion = "Analito: $nom_area - $nom_analito";
                break;

            case "status":
                $nom_area = AnalitoController::listItem($this->req->id)->nom_area;
                $nom_analito = AnalitoController::listItem($this->req->id)->nom_analito;
                $statusNow = AnalitoController::listItem($this->req->id)->estado;
                if($statusNow == 1){
                    $this->tableLog->titulo = "Inactivación";
                    $this->tableLog->descripcion = "Analito: $nom_area - $nom_analito";
                } else {
                    $this->tableLog->titulo = "Reactivación";
                    $this->tableLog->descripcion = "Analito: $nom_area - $nom_analito";
                }
                break;
        }

        $this->tableLog->tabla = 'Analito';
        $this->tableLog->save();
    }
}