Beispiel #1
0
  public void actualizarCantidadEspecie(int idEspecie) {
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();

    Especie especie = (Especie) session.get(Especie.class, idEspecie);

    especie.calcularTotal();
    session.update(especie);
    session.getTransaction().commit();
  }
Beispiel #2
0
  public boolean especieCompatibleAcuario(Especie especie, Acuario acuario) {
    boolean compatible = false;
    boolean ghCompatible = false;
    boolean khCompatible = false;
    boolean phCompatible = false;
    boolean temperaturaCompatible = false;
    boolean tipoAguaCompatible = false;

    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();

    Especie esp = (Especie) session.get(Especie.class, especie.getIdEspecie());
    Acuario acu = (Acuario) session.get(Acuario.class, acuario.getIdAcuario());
    System.out.println(
        "Agua de especie =" + esp.getTipoAgua() + ". Agua de acuario=" + acu.getTipoAgua());

    if (esp.getTipoAgua().equals(acu.getTipoAgua())) {
      tipoAguaCompatible = true;

      for (int i = 0; i <= 3; i++) {
        if ((esp.getParametros().get(i).getMinimo() <= acu.getParametros().get(i).getMinimo())
            & (esp.getParametros().get(i).getMaximo() >= acu.getParametros().get(i).getMaximo())) {

          switch (i) {
            case 0:
              ghCompatible = true;
              break;

            case 1:
              khCompatible = true;
              break;

            case 2:
              phCompatible = true;
              break;

            case 3:
              temperaturaCompatible = true;
              break;
          }
        }
      }
    }

    compatible =
        ghCompatible & khCompatible & phCompatible & temperaturaCompatible & tipoAguaCompatible;
    session.getTransaction().commit();
    return compatible;
  }
  @FXML
  void guardar() {

    if (validarVentana()) {
      if (tipoVentana == TipoVentana.NUEVO) {
        Especie nuevaEspecie = new Especie();

        List<Parametro> parametrosEspecie = new ArrayList<Parametro>();

        Parametro gh = new Parametro();
        gh.setNombre("GH");
        gh.setMinimo(Float.parseFloat(fieldGhMinimo.getText()));
        gh.setMaximo(Float.parseFloat(fieldGhMaximo.getText()));

        Parametro kh = new Parametro();
        kh.setNombre("KH");
        kh.setMinimo(Float.parseFloat(fieldKhMinimo.getText()));
        kh.setMaximo(Float.parseFloat(fieldKhMaximo.getText()));

        Parametro ph = new Parametro();
        ph.setNombre("PH");
        ph.setMinimo(Float.parseFloat(fieldPhMinimo.getText()));
        ph.setMaximo(Float.parseFloat(fieldPhMaximo.getText()));

        Parametro temperatura = new Parametro();
        temperatura.setNombre("TEMPERATURA");
        temperatura.setMinimo(Float.parseFloat(fieldTemperaturaMinima.getText()));
        temperatura.setMaximo(Float.parseFloat(fieldTemperaturaMaxima.getText()));

        parametrosEspecie.add(gh);
        parametrosEspecie.add(kh);
        parametrosEspecie.add(ph);
        parametrosEspecie.add(temperatura);

        nuevaEspecie.setParametros(parametrosEspecie);

        if (listAlimentosEspecie.getItems().size() > 0) {
          for (int i = 0; i < listAlimentosEspecie.getItems().size(); i++) {
            Alimento alimento =
                Sistema.getSistema().buscarAlimento(listAlimentosEspecie.getItems().get(i));
            nuevaEspecie.getAlimentos().add(alimento);
          }
        }

        nuevaEspecie.setNombre(fieldNombre.getText());
        nuevaEspecie.setCantidad(Integer.parseInt(fieldCantidad.getText()));
        nuevaEspecie.setDescripcion(textAreaDescripcion.getText());
        nuevaEspecie.setTipoAgua(
            comboTipoAgua.getItems().get(comboTipoAgua.getSelectionModel().getSelectedIndex()));

        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        session.save(gh);
        session.save(kh);
        session.save(ph);
        session.save(temperatura);

        session.save(nuevaEspecie);
        session.getTransaction().commit();
        Utilidades.guardarEvento(
            principal.getUsuarioActivo().getNombre(),
            Utilidades.eventosUsuario.get(TipoEventoUsuario.CREAR_ESPECIE)
                + nuevaEspecie.getNombre());

      } else if (tipoVentana == TipoVentana.EDITAR) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();

        Especie especie =
            (Especie)
                session.get(
                    Especie.class,
                    Sistema.getSistema()
                        .buscarEspecie(tablaEspecie.getItems().get(indiceSeleccionado).getNombre())
                        .getIdEspecie());

        especie.setNombre(fieldNombre.getText());
        especie.setCantidad(Integer.parseInt(fieldCantidad.getText()));
        especie.setDescripcion(textAreaDescripcion.getText());
        especie.getParametros().get(0).setMaximo(Float.parseFloat(fieldGhMaximo.getText()));
        especie.getParametros().get(0).setMinimo(Float.parseFloat(fieldGhMinimo.getText()));
        especie.getParametros().get(1).setMaximo(Float.parseFloat(fieldKhMaximo.getText()));
        especie.getParametros().get(1).setMinimo(Float.parseFloat(fieldKhMinimo.getText()));
        especie.getParametros().get(2).setMaximo(Float.parseFloat(fieldPhMaximo.getText()));
        especie.getParametros().get(2).setMinimo(Float.parseFloat(fieldPhMinimo.getText()));
        especie
            .getParametros()
            .get(3)
            .setMaximo(Float.parseFloat(fieldTemperaturaMaxima.getText()));
        especie
            .getParametros()
            .get(3)
            .setMinimo(Float.parseFloat(fieldTemperaturaMinima.getText()));
        especie.getAlimentos().clear();
        for (int i = 0; i < listAlimentosEspecie.getItems().size(); i++) {
          especie
              .getAlimentos()
              .add(Sistema.getSistema().buscarAlimento(listAlimentosEspecie.getItems().get(i)));
        }
        especie.calcularTotal();
        session.update(especie);

        session.getTransaction().commit();
        Utilidades.guardarEvento(
            principal.getUsuarioActivo().getNombre(),
            Utilidades.eventosUsuario.get(TipoEventoUsuario.MODIFICAR_ESPECIE)
                + especie.getNombre());
      }

      HibernateUtil.traerDatosBase();
      principal.getEspeciesObservables().clear();
      principal.setEspeciesObservables(
          Sistema.getSistema().pasarArrayEspecieAProperty(Sistema.getSistema().getEspecies()));
      tablaEspecie.getItems().clear();
      tablaEspecie.setItems(principal.getEspeciesObservables());
      salir();
    }
  }