Administrador de la clase de jakarta, un sistema de inventario
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

129 lines
4.4 KiB

/*
* 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<Pais> 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<Pais> 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<Pais> 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));
}
}