<?php

namespace App\Http\Controllers;

use App\Models\Parametros;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\File;

class ParametrosController extends Controller
{
  public function __contruct()
  {
    $this->middleware('auth');
  }
    public function displayImage($filename)

    {
        //   $path = storage_public('images/' . $filename);
        $path = storage_path('app/public/documentos/logo/logo.jpg');
        if (!File::exists($path)) {
            abort(404);
        }
        $file = File::get($path);
        $type = File::mimeType($path);
        $response =  response()->make($file, 200);
        $response->header("Content-Type", $type);
        //  return response()->file($path, $header);
        return $response;
    }
  public function ParametrosIndex()
  {
    $dataparam = Parametros::first();
    return view('Mantenimiento.parametros.parametros', ['param' => $dataparam]);
  }
  public function ModificarParametros(Request $r)
  {
    try {
      Log::info($r);
      $validator = Validator::make($r->all(), [
        'id_parametro' => 'required',
        'ruc' => 'required',
        'nombre' => 'required',
        'direccion' => 'required',
        'telefono1' => 'required',
        'telefono2' => 'required',
        'iva' => 'required',
        'email' => 'required',
        'descuento' => 'required',
        'mincuota' => 'required',
        'maxcuota' => 'required',
        'archivo1' => 'required',

        // 'archivo3' => 'required',
      ]);
      if ($validator->fails()) {
        return response()->json([
          'status' => 'error',
          'success' => false,
          'message' => 'Debe llenar todos los campos son obligatorio.!!',
        ]);
      }
      $dataParam = Parametros::where('id', $r->id_parametro)->first();
      if ($dataParam == null) {
        return response()->json([
          'status' => 'error',
          'message' => 'No se encontro el objeto del parametro.!!',
        ]);
      }
      $pathlogo = $dataParam->rutalogo;
      if ($r->archivo1 != null) {
        $pathlogo = $r->file('archivo1')->store('public/documentos/archivos');
      }
      $dataParam->ruc = $r->ruc;
      $dataParam->razonsocial = $r->nombre;
      $dataParam->direccion = $r->direccion;
      $dataParam->telefono1 = $r->telefono1;
      $dataParam->telefono2 = $r->telefono2;
      $dataParam->email = $r->email;
      $dataParam->rutalogo = $pathlogo;
      $dataParam->iva = intval($r->iva);
      $dataParam->descuento = intval($r->descuento);
      $dataParam->mincuotas = intval($r->mincuota);
      $dataParam->maxcuotas = intval($r->maxcuota);
      $dataParam->iniciofactura = intval($r->iniciofactura);
      $dataParam->save();
      return response()->json([
        'status' => 'ok',
        'message' => 'Datos Modificados con exito',
      ]);
    } catch (\Throwable $th) {
      Log::error($th->getMessage());
      return response()->json([
        'status' => 'error',
        'message' => 'Se presentaron inconvenientes al guardar la información',
      ]);
    }
  }
}
