private boolean isNewRecord(DatabaseTable table, DatabaseTableFilter filter)
     throws CantLoadTableToMemoryException {
   table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());
   table.loadToMemory();
   if (table.getRecords().isEmpty()) return true;
   else return false;
 }
  private List<DatabaseTableRecord> getRecordsByFilter(DatabaseTableFilter filter)
      throws CantLoadTableToMemoryException {
    DatabaseTable table =
        this.database.getTable(
            BitcoinVenezuelaProviderDatabaseConstants.DAILY_EXCHANGE_RATES_TABLE_NAME);

    if (filter != null)
      table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());

    table.loadToMemory();
    return table.getRecords();
  }
  private List<DatabaseTableRecord> getCryptoMoneyRestockData(DatabaseTableFilter filter)
      throws CantLoadTableToMemoryException {
    DatabaseTable table =
        getDatabaseTable(
            StockTransactionsCrpytoMoneyRestockDatabaseConstants.CRYPTO_MONEY_RESTOCK_TABLE_NAME);

    if (filter != null)
      table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());

    table.loadToMemory();

    return table.getRecords();
  }
  private List<DatabaseTableRecord> getBankMoneyRestockData(DatabaseTableFilter filter)
      throws CantLoadTableToMemoryException {
    DatabaseTable table =
        getDatabaseTable(
            BussinessTransactionBankMoneyRestockDatabaseConstants.BANK_MONEY_STOCK_TABLE_NAME);

    if (filter != null)
      table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());

    table.loadToMemory();

    return table.getRecords();
  }
Ejemplo n.º 5
0
  private List<DatabaseTableRecord> getTransactionRecordsByFilter(
      DatabaseTableFilter filter, int max, int offset) throws CantLoadTableToMemoryException {
    DatabaseTable table =
        this.database.getTable(CashMoneyWalletDatabaseConstants.TRANSACTIONS_TABLE_NAME);

    if (filter != null)
      table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());

    if (offset >= 0) table.setFilterOffSet(String.valueOf(offset));

    if (max >= 0) table.setFilterTop(String.valueOf(max));

    table.loadToMemory();
    return table.getRecords();
  }
  public void saveBankMoneyRestockTransactionData(BankMoneyTransaction bankMoneyTransaction)
      throws DatabaseOperationException, MissingBankMoneyRestockDataException {

    try {
      database = openDatabase();
      DatabaseTransaction transaction = database.newTransaction();

      // TODO: Solo para prueba ya que priceReference viene null desde android revisar con Nelson
      bankMoneyTransaction.setPriceReference(new BigDecimal(0));

      /*//TODO:Revisar con guillermo que el accountNumber viene null
      bankMoneyTransaction.setBankAccount("123456");
      */
      DatabaseTable table =
          getDatabaseTable(
              BussinessTransactionBankMoneyRestockDatabaseConstants.BANK_MONEY_STOCK_TABLE_NAME);
      DatabaseTableRecord bankMoneyRestockRecord = getBankMoneyRestockRecord(bankMoneyTransaction);
      DatabaseTableFilter filter = table.getEmptyTableFilter();
      filter.setType(DatabaseFilterType.EQUAL);
      filter.setValue(bankMoneyTransaction.getTransactionId().toString());
      filter.setColumn(
          BussinessTransactionBankMoneyRestockDatabaseConstants
              .BANK_MONEY_RESTOCK_TRANSACTION_ID_COLUMN_NAME);

      if (isNewRecord(table, filter)) transaction.addRecordToInsert(table, bankMoneyRestockRecord);
      else {
        table.addStringFilter(filter.getColumn(), filter.getValue(), filter.getType());
        transaction.addRecordToUpdate(table, bankMoneyRestockRecord);
      }

      // I execute the transaction and persist the database side of the asset.
      database.executeTransaction(transaction);
      database.closeDatabase();

    } catch (Exception e) {
      if (database != null) database.closeDatabase();
      throw new DatabaseOperationException(
          DatabaseOperationException.DEFAULT_MESSAGE,
          e,
          "Error trying to save the Bank Money Restock Transaction in the database.",
          null);
    }
  }