private String ajustaParametros(VO_Materiais parametros) { String select = ""; if (!parametros.isEmpty()) { if (!parametros.getCodMaterialString().isEmpty()) { select += Contrato_VendasFacil.AND; select += Contrato_VendasFacil.Materiais.C_ID_COD_MATERIAL; select += Contrato_VendasFacil.IGUAL; select += parametros.getCodMaterialString(); } if (!parametros.getDesMaterial().isEmpty()) { select += Contrato_VendasFacil.AND; select += Contrato_VendasFacil.Materiais.C_DES_MATERIAL; select += Contrato_VendasFacil.LIKE; select += Contrato_VendasFacil.ASPAS; select += Contrato_VendasFacil.CURINGA; select += parametros.getDesMaterial(); select += Contrato_VendasFacil.CURINGA; select += Contrato_VendasFacil.ASPAS; } if (!parametros.getDataUltimaCompraAsDate().equals(new Date(0))) { select += Contrato_VendasFacil.AND; select += Contrato_VendasFacil.Materiais.C_DATA_ULTIMA_COMPRA; select += Contrato_VendasFacil.IGUAL; select += parametros.getDataUltimaCompraAsLong(); } } return select; }
public void setMateriais(VO_Materiais materiais, int operacao) { try { String queryString = null; switch (operacao) { case INSERE: queryString = Contrato_VendasFacil.Materiais.INSERT; break; case ATUALIZA: queryString = Contrato_VendasFacil.Materiais.UPDATE; break; } if (materiais.getCodMaterialString().isEmpty()) { materiais.setCodMaterial(proximoCodigoMaterial()); } // todo: getWritableDatabase DAO_VendasFacil dao = new DAO_VendasFacil(fragmento); SQLiteDatabase db = dao.getTabelaGravacao(); SQLiteStatement query = db.compileStatement(queryString); // Ambas as querys (insert e update) estão montadas com os campos na mesma sequencia // Assim é possível utilizar o mesmo trecho de código abaixo para ambos os casos. query.bindString(1, materiais.getDesMaterial()); query.bindBlob(2, materiais.getFotoByteArray()); query.bindDouble(3, materiais.getQtdMinima()); query.bindDouble(4, materiais.getQtdEstoque()); query.bindLong(5, materiais.getCodUnidadeMedida()); query.bindLong(6, materiais.getDataUltimaCompraAsLong()); query.bindLong(7, materiais.getCodMaterialInteger()); query.executeInsert(); db.close(); // todo: close() } catch (Exception e) { Toasts.mensagemErro(fragmento, e.getMessage(), "DAO_Material.setMateriais"); } }