package com.ericliudeveloper.sharedbillhelper.model;
import android.content.AsyncQueryHandler;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import com.ericliudeveloper.sharedbillhelper.database.DatabaseConstants;
import com.ericliudeveloper.sharedbillhelper.provider.BillContract;
/**
* Created by liu on 16/06/15.
*/
public class PaymentDAO implements Dao {
static String[] projection = BillContract.Payments.PROJECTION;
static Uri paymentsUri = BillContract.Payments.CONTENT_URI;
public static ContentValues getContentValuesFromPaymentInstance(Payment payment) {
if (payment == null) {
return null;
}
ContentValues values = new ContentValues();
values.put(DatabaseConstants.PaymentColumns.COL_PAYMENT_INFO_SERIAL_NUMBER, payment.getPayment_info_serial_number());
values.put(DatabaseConstants.PaymentColumns.COL_BILL_ID, payment.getBill_id());
values.put(DatabaseConstants.PaymentColumns.COL_PAYEE_ID, payment.getPayee_id());
values.put(DatabaseConstants.PaymentColumns.COL_PAYEE_DAYS, payment.getPayee_days());
values.put(DatabaseConstants.PaymentColumns.COL_PAYEE_START_DATE, payment.getPayee_start_date());
values.put(DatabaseConstants.PaymentColumns.COL_PAYEE_END_DATE, payment.getPayee_end_date());
values.put(DatabaseConstants.PaymentColumns.COL_PAYEE_AMOUNT, payment.getPayee_amount());
return values;
}
public static void savePayment(Payment payment, final Handler handler) {
final ContentValues values = getContentValuesFromPaymentInstance(payment);
AsyncQueryHandler insertPaymentHandler = new AsyncQueryHandler(mContentResolver) {
@Override
protected void onInsertComplete(int token, Object cookie, Uri uri) {
if (handler != null) {
Message message = Message.obtain();
message.what = MESSAGE_WHAT_SAVED_PAYMENT_URL;
message.obj = uri;
handler.sendMessage(message);
}
}
};
insertPaymentHandler.startInsert(0, null, paymentsUri, values);
}
}