@Override
  public ResultadoOperation eliminarMateria(int idMateria) {

    ResultadoOperation resultado = new ResultadoOperation();
    resultado.setResultado(true);
    try {
      Materia result = this.materiaDAO.finByIdMateria(idMateria);
      if (result != null) {
        if (result.getHorarioMateriaList().isEmpty()) {
          this.materiaDAO.remove(result);
          resultado.setResultado(true);
          resultado.setMensaje("La materia con el id " + result.getCodigo() + " fue eliminada");
        } else {
          resultado.setResultado(false);
          resultado.setMensaje(
              "La materia con el id " + result.getCodigo() + " tiene asociado un grupo");
        }
      } else {
        resultado.setResultado(false);
        resultado.setMensaje("La materia con el id " + result.getCodigo() + " no existe");
      }
    } catch (Exception e) {
      resultado.setResultado(false);
      resultado.setMensaje("error al eliminar materia en capa de negocio ResultadoOperation");
      System.out.println("Error al eliminar materia ");
    }
    return resultado;
  }
 @Override
 public ResultadoOperation modificarMateria(Materia materia) {
   ResultadoOperation resultado = new ResultadoOperation();
   resultado.setResultado(true);
   try {
     this.materiaDAO.edit(materia);
     resultado.setMensaje("La materia con el id " + materia.getCodigo() + " fue modificada");
   } catch (Exception e) {
     resultado.setResultado(false);
     resultado.setMensaje("error al editar materia en capa de negocio ResultadoOperation");
     System.out.println("Error al editar materia ");
   }
   return null;
 }
 @Override
 public ResultadoOperation adicionarMateria(Materia nuevaMateria) {
   ResultadoOperation resultado = new ResultadoOperation();
   resultado.setResultado(true);
   try {
     Materia result = this.materiaDAO.buscarMateriaByIdMateria(nuevaMateria.getCodigo());
     if (result != null) {
       resultado.setResultado(false);
       resultado.setMensaje(
           "La materia con el id " + nuevaMateria.getCodigo() + " ya se encuentra registrada");
     } else {
       this.materiaDAO.create(nuevaMateria);
       resultado.setMensaje("La materia fue creada correctamente");
     }
   } catch (Exception e) {
     resultado.setResultado(false);
     resultado.setMensaje("error al crear materia en capa de negocio ResultadoOperation");
     System.out.println("Error al crear materia ");
   }
   return resultado;
 }