Untitled
unknown
plain_text
3 years ago
3.5 kB
9
Indexable
<?php
namespace App\Repositorios\SolicitudHoras;
use App\Models\PacienteMascotas;
use App\Models\SolicitudHoras;
use App\Traits\ResponseHandler;
use Illuminate\Support\Facades\Log;
use Carbon\Carbon;
// va la logica de negocios es decir todo lo que hace para dar respuestas al front
class SolicitudHorasRepository
{
use ResponseHandler;
public function crearSolicitudHoras($request)
{
try {
$nuevo = new SolicitudHoras();
$solicitud = $this->agregaDatos($request, $nuevo);
return $this->RespuestaCorrecta("Solicitud creada exitosamente", $solicitud);
} catch (\Exception $e) {
dd($e);
return $this->RespuestaIncorrecta("Error al registrar la Solicitud de hora");
}
}
public function listarSolicitudDeHoras()
{
try {
$solicitud = SolicitudHoras::paginate(5); //poner get()->a para forzar un error
return $this->respuestaCorrecta("solicitud de hora", $solicitud);
} catch (\Exception $e) {
// dd($e); se utiliza para saber que esta mal en un error
return $this->respuestaIncorrecta("solicitud de hora mala");
}
}
public function actualizarSolicitudHoras($request)
{
try {
$solicitud = SolicitudHoras::find($request->id);
if (!$solicitud) {
return $this->respuestaIncorrecta("No existe la solicitud horaria");
}
$resultado = $this->agregaDatos($request, $solicitud);
return $this->respuestaCorrecta("Solicitud actualizada correctamente");
} catch (\Exception $e) {
return $this->respuestaCorrecta("Error al actualizar la solicitud de hora");
}
}
public function borrarSolicitudHora($request)
{
try {
$solicitud = SolicitudHoras::find($request->id);
if (!$solicitud) {
return $this->respuestaIncorrecta("No existe solicitud horaria");
}
$solicitud->delete();
return $this->respuestaCorrecta("Solicitud horaria eliminada correctamente");
} catch (\Exception $e) {
Log::error(['ERROR' => $e->getMessage(), 'Linea' => $e->getLine(), 'File' => $e->getFile(), 'Proceso' => 'borrarSolicitudHora']);
return $this->respuestaIncorrecta("Error al borrar la solicitud horaria");
}
}
public function listarPacienteDropdown()
{
try {
$solicitud = PacienteMascotas::select('id as value', 'nombre_paciente as label')->get();
return $this->RespuestaCorrecta("Paciente mostrado exitosamente", $solicitud);
} catch (\Exception $e) {
Log::error(['ERROR' => $e->getMessage(), 'Linea' => $e->getLine(), 'File' => $e->getFile(), 'Proceso' => 'listaracienteDropdown']);
return $this->RespuestaIncorrecta("Error al listar el Paciente");
}
}
protected function agregaDatos($data, SolicitudHoras $ficha)
{
//? ternario:
$ficha->fecha_reserva = $data->fecha_reserva ? Carbon::parse($data->fecha_reserva)->format('Y-m-d H:i:s') : $ficha->fecha_reserva;
$ficha->descripcion_solicitud_horas = $data->descripcion_solicitud_horas ?? $ficha->descripcion_solicitud_horas;
$ficha->id_paciente = $data->id_paciente ?? $ficha->id_paciente;
$ficha->save();
return $ficha;
}
}
Editor is loading...