Exemplo n.º 1
0
  /**
   * Metodo en el cual se setean las propiedades del Vehiculo y se persiste. Se controla que la
   * patente ingresada no exista ya en nuestro sistema.
   *
   * @param patente
   * @param marca
   * @param modelo
   * @param ano
   * @param categ
   * @param color
   * @param kms
   * @param baul
   * @param combustible
   * @param fechaCompra
   * @param seguro
   * @param activo
   * @param userName
   * @return Auto
   */
  @Hidden
  public Auto elAuto(
      final String patente,
      final Marca marca,
      final String modelo,
      final int ano,
      final Categoria categ,
      final String color,
      final int kms,
      final int baul,
      final TipoCombustible combustible,
      final Date fechaCompra,
      final Seguro seguro,
      final boolean activo,
      final String userName) {
    final List<Auto> mismaPatente =
        allMatches(
            Auto.class,
            new Filter<Auto>() {
              @Override
              public boolean accept(final Auto auto) {
                return Objects.equal(auto.getPatente(), patente);
              }
            });
    Auto auto = newTransientInstance(Auto.class);
    if (mismaPatente.size() == 0) {

      auto.setPatente(patente);
      auto.setMarca(marca);
      auto.setModelo(modelo);
      auto.setAno(ano);
      auto.setCategoria(categ);
      auto.setColor(color);
      auto.setKilometraje(kms);
      auto.setCapacidadBaul(baul);
      auto.setTipoCombustible(combustible);
      auto.setFechaCompra(fechaCompra);
      auto.setSeguro(seguro);
      auto.setActivo(activo);
      auto.setUsuario(userName);
      persistIfNotAlready(auto);
    } else {
      auto = null;
      getContainer().warnUser("EN EL SISTEMA YA SE ENCUENTRA UN VEHICULO CON ESTE DOMINIO");
    }
    return auto;
  }