package com.masterofcode.android.magreader.inapp;
import org.kroz.activerecord.ActiveRecordBase;
import org.kroz.activerecord.ActiveRecordException;
import org.kroz.activerecord.EntitiesHelper;
import android.content.Context;
import android.util.Log;
import com.masterofcode.android.magreader.application.JtjApplication;
import com.masterofcode.android.magreader.db.entity.IssueItem;
import com.masterofcode.android.magreader.db.entity.PurchaseItem;
import com.masterofcode.android.magreader.inapp.Consts.PurchaseState;
public class PurchasedManager {
private static PurchasedManager instance = null;
private ActiveRecordBase dbPurchase;
public PurchasedManager()
{
super();
this.dbPurchase = JtjApplication.getInstance().getPurchaseDatabase();
}
static public PurchasedManager GetInstance()
{
if(instance==null)
{
instance = new PurchasedManager();
}
return instance;
}
public void insertOrder(Context context, String orderId, String productId,
PurchaseState purchaseState, long purchaseTime, String developerPayload){
PurchaseItem purchasedItem = new PurchaseItem(orderId, productId, purchaseState.name(), purchaseTime, developerPayload);
if (Consts.DEBUG) {
Log.d("Billing", "InsertOrder..." + orderId + " productID: " + productId + " dbPurchase= " + dbPurchase);
}
try {
PurchaseItem moveItem = dbPurchase.newEntity(PurchaseItem.class);
EntitiesHelper.copyFieldsWithoutID(moveItem, purchasedItem);
if (Consts.DEBUG) {
Log.d("Billing", "InsertingOrder...moveItem: " + moveItem + " dbPurchase= " + dbPurchase);
}
if(!dbPurchase.isOpen()) dbPurchase.open();
if (Consts.DEBUG) {
Log.d("Billing", "InsertingOrder...dbPurchase.isOpen(): " + dbPurchase.isOpen());
}
moveItem.save();
//dbPurchase.close();
if (Consts.DEBUG) {
Log.d("Billing", "InsertingOrder...was saved: " + moveItem.product_id );
}
if (Consts.DEBUG) {
Log.d("Billing", "InsertingOrder...dbPurchase.isOpen(): " + dbPurchase.isOpen());
}
} catch (ActiveRecordException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}