package com.ericliudeveloper.sharedbillhelper.database;
import android.database.sqlite.SQLiteDatabase;
import static com.ericliudeveloper.sharedbillhelper.database.DatabaseConstants.BillColumns;
import static com.ericliudeveloper.sharedbillhelper.database.DatabaseConstants.PaymentColumns;
import static com.ericliudeveloper.sharedbillhelper.database.DatabaseConstants.PaymentInfoColumns;
public class TablePaymentInfo implements PaymentInfoColumns, PaymentColumns, BillColumns, DatabaseConstants.MemberColumns, DatabaseConstants.TableAndView{
private static final String TABLE_CREATE = " create table "
+ TABLE_PAYMENT_INFO
+ " ( "
+ COL_ROWID + " integer primary key autoincrement, "
+ COL_SERIAL_NUMBER + " text not null, "
+ COL_NAME + " text, "
+ COL_DESCRIPTION + " text, "
+ COL_TOTAL_AMOUNT + " numeric, "
+ COL_NUMBER_OF_MEMBERS_PAID + " integer, "
+ COL_NUMBER_OF_BILLS_PAID + " integer, "
+ COL_DELETED + " boolean not null default 0, "
+ COL_PAID_TIME + " datetime "
+");"
;
private static final String VIEW_PAYMENT_FULL_CREATE = " create view "
+ VIEW_PAYMENT_FULL
+ " as "
+ " select "
+ TABLE_PAYMENT + "." + COL_ROWID + ","
+ TABLE_PAYMENT + "." + COL_PAYMENT_INFO_SERIAL_NUMBER + ","
+ TABLE_PAYMENT + "." + COL_BILL_ID + ","
+ TABLE_PAYMENT + "." + COL_PAYEE_ID + ","
+ TABLE_PAYMENT + "." + COL_PAYEE_DAYS + ","
+ TABLE_PAYMENT + "." + COL_PAYEE_START_DATE + ","
+ TABLE_PAYMENT + "." + COL_PAYEE_END_DATE + ","
+ TABLE_PAYMENT + "." + COL_PAYEE_AMOUNT + ","
+ TABLE_MEMBER + "." + COL_ROWID + ","
+ TABLE_MEMBER + "." + COL_FIRSTNAME + ","
+ TABLE_MEMBER + "." + COL_LASTNAME + ","
+ TABLE_MEMBER + "." + COL_PHONE + ","
+ TABLE_MEMBER + "." + COL_EMAIL + ","
+ TABLE_MEMBER + "." + COL_MOVE_IN_DATE + ","
+ TABLE_MEMBER + "." + COL_MOVE_OUT_DATE + ","
+ TABLE_BILL + "." + COL_ROWID + ","
+ TABLE_BILL + "." + COL_TYPE + ","
+ TABLE_BILL + "." + COL_AMOUNT + ","
+ TABLE_BILL + "." + COL_BILLING_START + ","
+ TABLE_BILL + "." + COL_DUE_DATE + ","
+ TABLE_BILL + "." + COL_PAID + ","
+ TABLE_PAYMENT_INFO + "." + COL_ROWID + ","
+ TABLE_PAYMENT_INFO + "." + COL_SERIAL_NUMBER + ","
+ TABLE_PAYMENT_INFO + "." + COL_NAME + ","
+ TABLE_PAYMENT_INFO + "." + COL_DESCRIPTION + ","
+ TABLE_PAYMENT_INFO + "." + COL_TOTAL_AMOUNT + ","
+ TABLE_PAYMENT_INFO + "." + COL_NUMBER_OF_MEMBERS_PAID + ","
+ TABLE_PAYMENT_INFO + "." + COL_NUMBER_OF_BILLS_PAID + ","
+ TABLE_PAYMENT_INFO + "." + COL_PAID_TIME + ","
+ TABLE_PAYMENT_INFO + "." + COL_DELETED + " "
+ " from " + TABLE_PAYMENT + " left join " + TABLE_MEMBER
+ " on " + TABLE_PAYMENT + "." + COL_PAYEE_ID + "=" + TABLE_MEMBER + "." + COL_ROWID
+ " left join " + TABLE_BILL
+ " on " + TABLE_PAYMENT + "." + COL_BILL_ID + "=" + TABLE_BILL + "." + COL_ROWID
+ " left join " + TABLE_PAYMENT_INFO
+ " on " + TABLE_PAYMENT + "." + COL_PAYMENT_INFO_SERIAL_NUMBER + "=" + TABLE_PAYMENT_INFO + "." + COL_SERIAL_NUMBER
+ " where " + TABLE_PAYMENT_INFO + "." + COL_DELETED + " =0 "
+";"
;
private static final String VIEW_PAYMENT_INFO_CREATE = " create view "
+ VIEW_PAYMENT_INFO
+ " as select "
+ COL_ROWID + " , "
+ COL_SERIAL_NUMBER + " , "
+ COL_NAME + " , "
+ COL_DESCRIPTION + " , "
+ COL_TOTAL_AMOUNT + " , "
+ COL_NUMBER_OF_MEMBERS_PAID + " , "
+ COL_NUMBER_OF_BILLS_PAID + " , "
+ COL_DELETED + " , "
+ COL_PAID_TIME + " "
+ " from "
+ TABLE_PAYMENT_INFO
+ " where " + COL_DELETED + " =0 "
+ ";";
public static void onCreate(SQLiteDatabase db){
db.execSQL(TABLE_CREATE);
db.execSQL(VIEW_PAYMENT_FULL_CREATE);
db.execSQL(VIEW_PAYMENT_INFO_CREATE);
}
public static void onUpdate(SQLiteDatabase db){
db.execSQL("DROP TABLE IF EXISTS " + TABLE_PAYMENT_INFO);
db.execSQL("DROP VIEW IF EXISTS " + VIEW_PAYMENT_INFO);
db.execSQL("DROP VIEW IF EXISTS " + VIEW_PAYMENT_FULL);
onCreate(db);
}
}