some basic DB methods

public class ShoppingCartDao {

protected String TAG = LogFactory.getLogTag(this.getClass());

 

public final static String DATABASENAME = Utility.MOBILET_PATH + java.io.File.separator

+ "shoppingcart.sqlite";

 

public void addOneProduct(String productid) {

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

ProductMenuDao dao = new ProductMenuDao();

Product product = dao.getProductDataById(productid);

ContentValues cv = new ContentValues();

cv.put("id", product.getId());

cv.put("pid", product.getPid());

cv.put("name", product.getName());

cv.put("image", product.getImage());

cv.put("number", product.getNumber());

cv.put("weight", product.getWeight());

cv.put("price", product.getPrice());

cv.put("info", product.getInfo());

cv.put("quantity", "1");

db.insert("products", null, cv);

db.close();

}

 

public Product getProductDataById(String id) {

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

Cursor cursor = db.rawQuery(

"select id, pid, name, image, number, weight, price, info from products where id = \"" + id + "\"",

null);

 

Product productData = new Product();

if (cursor.moveToNext()) {

productData.setId(cursor.getString(0));

productData.setPid(cursor.getString(1));

productData.setName(cursor.getString(2));

productData.setImage(cursor.getString(3));

productData.setNumber(cursor.getString(4));

productData.setWeight(cursor.getString(5));

productData.setPrice(cursor.getString(6));

productData.setInfo(cursor.getString(7));

}

cursor.close();

db.close();

return productData;

}

 

public void deleteProductInCart(String productid) {

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

db.execSQL("DELETE FROM products WHERE id = \"" + productid + "\"");

db.close();

}

 

public ArrayList<Product> getAllProductInShoppingCart() {

//Log.d("debug", "shoppingcart db is: "+DATABASENAME);

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

Cursor cursor = db.rawQuery(

"select id, pid, name, image, number, weight, price, info, quantity from products ", null);

ArrayList<Product> productList = new ArrayList<Product>();

while (cursor.moveToNext()) {

Product productData = new Product();

productData.setId(cursor.getString(0));

productData.setPid(cursor.getString(1));

productData.setName(cursor.getString(2));

productData.setImage(cursor.getString(3));

productData.setNumber(cursor.getString(4));

productData.setWeight(cursor.getString(5));

productData.setPrice(cursor.getString(6));

productData.setInfo(cursor.getString(7));

productData.setQuantity(cursor.getString(8));

productList.add(productData);

}

cursor.close();

db.close();

return productList;

}

 

public double calculateTotalMoney() {

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

Cursor cursor = db.rawQuery("select price, quantity from products ", null);

double totalMoney = 0.0;

while (cursor.moveToNext()) {

totalMoney = totalMoney+Double.valueOf(cursor.getString(0))*Double.valueOf(cursor.getString(1));

}

cursor.close();

db.close();

return totalMoney;

}

 

public int calculateShoppingNumber() {

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

Cursor cursor = db.rawQuery("select quantity from products ", null);

int totalNumber = 0;

while (cursor.moveToNext()) {

totalNumber = totalNumber+Integer.valueOf(cursor.getString(0));

}

cursor.close();

db.close();

return totalNumber;

}

 

 

public void updateQuantity(String productid, String quantity){

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DATABASENAME, null);

db.execSQL("update products set quantity =? where id=?", new Object[]{quantity, productid});

}

 

}

posted @ 2012-02-19 17:11  swucim  阅读(114)  评论(0)    收藏  举报