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(); }
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(); } }