Android Open Source - makler Wallet Db






From Project

Back to project page makler.

License

The source code is released under:

GNU General Public License

If you think the Android project makler listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pl.net.newton.Makler.db.wallet;
//from w w w . j  a v  a2  s.co m
import java.util.ArrayList;
import java.util.List;

import pl.net.newton.Makler.R;
import pl.net.newton.Makler.db.DbHelper;
import pl.net.newton.Makler.db.quote.QuotesDao;
import pl.net.newton.Makler.db.symbol.Symbol;
import pl.net.newton.Makler.db.symbol.SymbolsDb;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import static pl.net.newton.Makler.db.Constants.ID_EQUALS;
import static pl.net.newton.Makler.db.Constants.WALLET_ITEMS;

public class WalletDb {

  private final Context ctx;

  private final SQLiteDatabase sqlDb;

  private final SymbolsDb symbolsDb;

  private final QuotesDao quotesDb;

  public WalletDb(SQLiteDatabase sqlDb, Context ctx) {
    this.ctx = ctx;
    this.sqlDb = sqlDb;
    this.symbolsDb = new SymbolsDb(sqlDb, ctx);
    this.quotesDb = new QuotesDao(sqlDb, ctx);
  }

  public List<WalletItem> getWalletItems() {
    List<WalletItem> items = new ArrayList<WalletItem>();
    Cursor c = sqlDb.rawQuery(ctx.getString(R.string.getWalletItems), null);
    if (c.moveToFirst()) {
      do {
        items.add(new WalletItemBuilder().setFromCursor(c, quotesDb).build());
      } while (c.moveToNext());
    }
    c.close();
    return items;
  }

  public WalletItem getWalletItem(Symbol s) {
    WalletItem w = null;
    Cursor c = sqlDb.rawQuery(ctx.getString(R.string.getWalletItemBySymbol), new String[] { s.getId()
        .toString() });
    if (!c.moveToFirst()) {
      w = new WalletItemBuilder().setFromSymbol(s).build();
    } else {
      w = new WalletItemBuilder().setFromCursor(c, quotesDb).build();
    }
    c.close();
    return w;
  }

  public void updateWalletItem(WalletItem w) {
    sqlDb.beginTransaction();
    if (w.getId() == null) {
      Symbol s = symbolsDb.getSymbolBySymbol(w.getSymbol());

      ContentValues cv = new ContentValues();
      cv.put("symbol_id", s.getId());
      cv.put("from_wallet", 1);
      long quoteId = sqlDb.insert("quotes", null, cv);

      Integer size = (int) sqlDb.compileStatement("SELECT COUNT(*) FROM wallet_items")
          .simpleQueryForLong();
      cv = getContentValues(w);
      cv.put("position", size + 1);
      cv.put("quote_id", quoteId);
      Integer id = (int) sqlDb.insert(WALLET_ITEMS, null, cv);
      w.setId(id);
    } else {
      sqlDb.update(WALLET_ITEMS, getContentValues(w), ID_EQUALS, new String[] { w.getId().toString() });
    }

    if (w.getQuantity() == 0) {
      sqlDb.delete(WALLET_ITEMS, ID_EQUALS, new String[] { w.getId().toString() });
    }

    sqlDb.setTransactionSuccessful();
    sqlDb.endTransaction();
  }

  public void deleteWalletItem(Integer id) {
    sqlDb.beginTransaction();
    Cursor c = sqlDb.query(WALLET_ITEMS, new String[] { "quote_id" }, ID_EQUALS,
        new String[] { id.toString() }, null, null, null);
    c.moveToFirst();
    int quoteId = c.getInt(0);
    sqlDb.delete("quotes", ID_EQUALS, new String[] { String.valueOf(quoteId) });
    sqlDb.delete(WALLET_ITEMS, ID_EQUALS, new String[] { id.toString() });
    sqlDb.setTransactionSuccessful();
    sqlDb.endTransaction();
  }

  public void move(int id, boolean up) {
    DbHelper.move(sqlDb, WALLET_ITEMS, id, up);
  }

  public ContentValues getContentValues(WalletItem w) {
    ContentValues cv = new ContentValues();
    if (w.getId() != null) {
      DbHelper.putToCv(cv, "id", w.getId());
    }
    DbHelper.putToCv(cv, "quantity", w.getQuantity());
    DbHelper.putToCv(cv, "avg_buy", w.getAvgBuy());
    DbHelper.putToCv(cv, "quote", w.getQuote());
    DbHelper.putToCv(cv, "total_commision", w.getTotalCommision());
    return cv;
  }
}




Java Source Code List

pl.net.newton.Makler.common.Configuration.java
pl.net.newton.Makler.common.DateFormatUtils.java
pl.net.newton.Makler.common.GpwUtils.java
pl.net.newton.Makler.common.LocaleUtils.java
pl.net.newton.Makler.common.NumberFormatUtils.java
pl.net.newton.Makler.db.Constants.java
pl.net.newton.Makler.db.DbHelper.java
pl.net.newton.Makler.db.SqlConnection.java
pl.net.newton.Makler.db.alert.AlertBuilder.java
pl.net.newton.Makler.db.alert.AlertChecker.java
pl.net.newton.Makler.db.alert.AlertValue.java
pl.net.newton.Makler.db.alert.Alert.java
pl.net.newton.Makler.db.alert.AlertsDao.java
pl.net.newton.Makler.db.alert.Event.java
pl.net.newton.Makler.db.alert.Subject.java
pl.net.newton.Makler.db.quote.QuoteField.java
pl.net.newton.Makler.db.quote.Quote.java
pl.net.newton.Makler.db.quote.QuotesDao.java
pl.net.newton.Makler.db.service.SqlProvider.java
pl.net.newton.Makler.db.symbol.SymbolBuilder.java
pl.net.newton.Makler.db.symbol.Symbol.java
pl.net.newton.Makler.db.symbol.SymbolsDb.java
pl.net.newton.Makler.db.wallet.WalletDb.java
pl.net.newton.Makler.db.wallet.WalletItemBuilder.java
pl.net.newton.Makler.db.wallet.WalletItem.java
pl.net.newton.Makler.gpw.DefaultQuotesReceiver.java
pl.net.newton.Makler.gpw.QuotesReceiver.java
pl.net.newton.Makler.gpw.ex.GpwException.java
pl.net.newton.Makler.gpw.service.QuotesListener.java
pl.net.newton.Makler.gpw.service.QuotesService.java
pl.net.newton.Makler.gpw.service.UpdatingThread.java
pl.net.newton.Makler.history.BossaProvider.java
pl.net.newton.Makler.history.ByteArrayUtils.java
pl.net.newton.Makler.history.Cache.java
pl.net.newton.Makler.history.ChannelTools.java
pl.net.newton.Makler.history.EntryListWithIndexes.java
pl.net.newton.Makler.history.EntryList.java
pl.net.newton.Makler.history.HistoryFilter.java
pl.net.newton.Makler.history.HistoryProvider.java
pl.net.newton.Makler.history.service.HistoryListener.java
pl.net.newton.Makler.history.service.HistoryService.java
pl.net.newton.Makler.httpClient.Connector.java
pl.net.newton.Makler.receivers.QuotesAlarmReceiver.java
pl.net.newton.Makler.receivers.StartupReceiver.java
pl.net.newton.Makler.service.ServiceManager.java
pl.net.newton.Makler.ui.About.java
pl.net.newton.Makler.ui.AbstractActivity.java
pl.net.newton.Makler.ui.Alerts.java
pl.net.newton.Makler.ui.FullScreenGraph.java
pl.net.newton.Makler.ui.Preferences.java
pl.net.newton.Makler.ui.QuoteDetails.java
pl.net.newton.Makler.ui.Quotes.java
pl.net.newton.Makler.ui.Symbols.java
pl.net.newton.Makler.ui.WalletForm.java
pl.net.newton.Makler.ui.WalletItemCalculator.java
pl.net.newton.Makler.ui.Wallet.java
pl.net.newton.Makler.ui.adapter.AlertsAdapter.java
pl.net.newton.Makler.ui.adapter.QuotesAdapter.java
pl.net.newton.Makler.ui.adapter.SymbolsAdapter.java
pl.net.newton.Makler.ui.adapter.WalletAdapter.java
pl.net.newton.Makler.ui.graph.GraphView.java
pl.net.newton.Makler.ui.graph.MaklerGraphicalView.java