public void setEstoque(VO_Materiais materiais) { try { String queryString = Contrato_VendasFacil.Materiais.UPDATE_ESTOQUE; // todo: getWritableDatabase DAO_VendasFacil dao = new DAO_VendasFacil(fragmento); SQLiteDatabase db = dao.getTabelaGravacao(); SQLiteStatement query = db.compileStatement(queryString); query.bindDouble(1, materiais.getQtdEstoque()); query.bindLong(2, materiais.getDataUltimaCompraAsLong()); query.bindLong(3, materiais.getCodMaterialInteger()); query.executeInsert(); db.close(); // todo: close() } catch (Exception e) { Toasts.mensagemErro(fragmento, e.getMessage(), "DAO_Material.setEstoque"); } }
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"); } }