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.
 
 
 

133 lines
4.7 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.EstadoDAO;
import hola.modelo.Estado;
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 chore
*/
@Stateless
public class EstadoBL implements EstadoBLLocal {
// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
@Override
public Mensaje agregar(Estado estado) {
// Comentario de lógica: Método para agregar un proveedor
//, Registro registro//
System.out.println("Llegaste al metodo de agregar Usuario");
EstadoDAO estadoDAO = new EstadoDAO();
Mensaje m = null;
// Validar que los campos requeridos no estén vacíos
if (estado.getNombre().isEmpty()) {
System.out.println(Mensaje.CAMPOS_INCOMPLETOS);
// Enviar mensaje de error si algún campo está incompleto
return Mensaje.CAMPOS_INCOMPLETOS;
}
// Buscar si el proveedor ya existe en la base de datos
Optional<Estado> usuarioEncontradoOptional = estadoDAO.buscarEstado(estado);
if (usuarioEncontradoOptional.isPresent()) {
// Manejar el caso en el que se encontró al menos un proveedor duplicado
usuarioEncontradoOptional.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
estadoDAO.agregar(estado);
//registroDAO.agregar(registro);
m = Mensaje.SIN_ERROR;
}
return m;
}
@Override
public Estado buscarId(Estado estado) {
// Comentario de lógica: Método para buscar un proveedor por ID
EstadoDAO edao = new EstadoDAO();
return edao.buscarPorId(estado);
}
@Override
public void eliminarId(Estado estado) {
// Comentario de lógica: Método para eliminar un proveedor por ID
EstadoDAO edao = new EstadoDAO();
if (edao.eliminar(estado)) {
System.out.println(Mensaje.SIN_ERROR);
} else {
System.out.println(Mensaje.NO_EXISTE);
}
}
@Override
public Mensaje editar(Estado estado) {
// Comentario de lógica: Método para editar un proveedor
Mensaje m;
EstadoDAO estadoDAO = new EstadoDAO();
// Validar que los campos requeridos no estén vacíos
if (estado.getNombre().isEmpty()
|| estado.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<Estado> user = estadoDAO.buscarEstado(estado);
if (user.isPresent()) {
addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado");
m = Mensaje.ELEMENTO_DUPLICADO;
} else {
if (estadoDAO.editar(estado) == 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<Estado> buscarValidos(boolean estado) {
EstadoDAO estadoDAO = new EstadoDAO();
List l = estadoDAO.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("MensajeUsuario", new FacesMessage(severity, summary, detail));
}
}