/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template */ package hola.BL; import hola.dao.PaisDAO; import hola.modelo.Pais; import hola.msg.Mensaje; import java.util.List; import java.util.Optional; import javax.ejb.Stateless; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; /** * * @author eduar */ @Stateless public class PaisBL implements PaisLocal { @Override public Mensaje agregar(Pais pais) { // Comentario de lógica: Método para agregar una marca System.out.println("Llegaste al método de agregar Pais"); PaisDAO pisDAO = new PaisDAO(); Mensaje m = null; // Validar que los campos requeridos no estén vacíos if (pais.getNombre().isEmpty()) { System.out.println(Mensaje.CAMPOS_INCOMPLETOS); // Enviar mensaje de error si algún campo está incompleto return Mensaje.CAMPOS_INCOMPLETOS; } // Buscar si la pais ya existe en la base de datos Optional paisEncontradaOptional = pisDAO.buscarPais(pais); if (paisEncontradaOptional.isPresent()) { // Manejar el caso en el que se encontró al menos un proveedor duplicado paisEncontradaOptional.get(); addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); m = Mensaje.ELEMENTO_DUPLICADO; } else { // Agregar el proveedor a la base de datos si no está duplicado pisDAO.agregar(pais); //registroDAO.agregar(registro); m = Mensaje.SIN_ERROR; } return m; } @Override public Pais buscarId(Pais pais) { // Comentario de lógica: Método para buscar una marca por ID PaisDAO paisDAO = new PaisDAO(); return paisDAO.buscarPorId(pais); } @Override public void eliminarId(Pais pais) { // Comentario de lógica: Método para eliminar una marca por ID PaisDAO paisDAO = new PaisDAO(); if (paisDAO.eliminar(pais)) { System.out.println(Mensaje.SIN_ERROR); } else { System.out.println(Mensaje.NO_EXISTE); } } @Override public Mensaje editar(Pais pais) { // Comentario de lógica: Método para editar una marca Mensaje m; PaisDAO paisDAO = new PaisDAO(); // Validar que los campos requeridos no estén vacíos if (pais.getNombre().isEmpty() || pais.getStatus() == null) { // Enviar mensaje de error si algún campo está incompleto m = Mensaje.CAMPOS_INCOMPLETOS; System.out.println(Mensaje.CAMPOS_INCOMPLETOS); return m; } try { // Editar el proveedor solo si todas las validaciones son exitosas Optional user = paisDAO.buscarPais(pais); if (user.isPresent()) { addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); m = Mensaje.ELEMENTO_DUPLICADO; } else { if (paisDAO.editar(pais) == true) { m = Mensaje.SIN_ERROR; System.out.println(Mensaje.SIN_ERROR); return m; } else { m = Mensaje.N0_EXISTE; System.out.println(Mensaje.NO_EXISTE); return m; } } } catch (Exception e) { // Capturar cualquier excepción que ocurra durante la edición del proveedor m = Mensaje.DATOS_INCORRECTOS; System.out.println(Mensaje.DATOS_INCORRECTOS); e.printStackTrace(); } return m; } @Override public List buscarValidos(boolean estado) { PaisDAO paisDAO = new PaisDAO(); List l = paisDAO.buscarValidos(estado); // Llama al método buscarValidos de ProductoDAO y devuelve la lista resultante System.out.println(l); return l; } public void addMessage(FacesMessage.Severity severity, String summary, String detail) { FacesContext.getCurrentInstance().addMessage("MensajePais", new FacesMessage(severity, summary, detail)); } }