Friday, October 4, 2013

Data Helper&Existing Acc

DataHelper:

package com.prakash.accounttransactionsapp;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataHelper extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "transactions";

// Contacts table name
private static final String TABLE_NAME_ACC = "accounts";
private static final String TABLE_NAME_TRANS = "trasactions";

private Context context;
SQLiteDatabase db;

public DataHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.context = context;
db = this.getReadableDatabase();
}

@Override
public void onCreate(SQLiteDatabase db) {

String CREATE_ACC_TABLE = "CREATE TABLE " + TABLE_NAME_ACC + "("
+ "_id INTEGER PRIMARY KEY," + "_acc_num TEXT,"
+ "_cust_num TEXT," + "_acc_holder TEXT," + "_bank_name TEXT,"
+ "_branch_name TEXT," + "_branch_addr TEXT," + "_ifsc TEXT,"
+ "_micr TEXT," + "_curr_bal TEXT," + "_remarks TEXT" + ")";
db.execSQL(CREATE_ACC_TABLE);

String CREATE_TRANS_TABLE = "CREATE TABLE " + TABLE_NAME_TRANS + "("
+ "_id INTEGER PRIMARY KEY," + "_acc_id TEXT," + "_type TEXT,"
+ "_date TEXT," + "_amount TEXT," + "_chq_num TEXT,"
+ "_chq_party TEXT," + "_chq_details TEXT," + "_remarks TEXT"
+ ")";
db.execSQL(CREATE_TRANS_TABLE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_ACC);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_TRANS);

onCreate(db);

}

public ArrayList<String> getAccountList() {
ArrayList<String> arrayList = new ArrayList<String>();

String selectQuery = "SELECT  _acc_holder FROM " + TABLE_NAME_ACC;

Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
arrayList.add(cursor.getString(0));
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return arrayList;
}

public ArrayList<String> getAccountDetails(String id) {
ArrayList<String> arrayList = new ArrayList<String>();

String selectQuery = "SELECT  * FROM " + TABLE_NAME_ACC
+ " where _id = " + id;

Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
arrayList.add(cursor.getString(i));
}
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return arrayList;
}

public ArrayList<String> getAllAccounts() {
ArrayList<String> arrayList = new ArrayList<String>();

String selectQuery = "SELECT _id,_bank_name, _acc_holder,_curr_bal FROM "
+ TABLE_NAME_ACC;

Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
arrayList.add(cursor.getString(i));
}
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return arrayList;
}

public ArrayList<String> getAllTransactionsById(String id) {
ArrayList<String> arrayList = new ArrayList<String>();

String selectQuery = "SELECT * FROM "
+ TABLE_NAME_TRANS+" WHERE _acc_id= "+id;

Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
arrayList.add(cursor.getString(i));
}
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return arrayList;
}

public ArrayList<String> getAllTransactions() {
ArrayList<String> arrayList = new ArrayList<String>();

String selectQuery = "select t._id,a._bank_name,t._date,t._chq_details,t._type,t._amount,t._remarks from trasactions t  inner join accounts a on t._acc_id = a._id";

Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
arrayList.add(cursor.getString(i));
}
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return arrayList;
}



public String getAccId(String accName) {
String id = null;
String selectQuery = "SELECT _id FROM " + TABLE_NAME_ACC
+ " where _acc_holder= \"" + accName + "\"";

Cursor cursor = db.rawQuery(selectQuery, null);

if (cursor.moveToFirst()) {
do {
id = cursor.getString(0);
} while (cursor.moveToNext());
}

if (cursor != null) {
cursor.close();
}
return id;
}

public void insert_account(String acc_num, String cust_num,
String acc_holder, String bank_name, String branch_name,
String branch_addr, String ifsc, String micr, String curr_bal,
String remarks) {
ContentValues values = new ContentValues();
values.put("_acc_num", acc_num);
values.put("_cust_num", cust_num);
values.put("_acc_holder", acc_holder);
values.put("_bank_name", bank_name);
values.put("_branch_name", branch_name);
values.put("_branch_addr", branch_addr);
values.put("_ifsc", ifsc);
values.put("_micr", micr);
values.put("_curr_bal", curr_bal);
values.put("_remarks", remarks);
db.insert(TABLE_NAME_ACC, null, values);
}

public void update_account(String id, String acc_num, String cust_num,
String acc_holder, String bank_name, String branch_name,
String branch_addr, String ifsc, String micr, String curr_bal,
String remarks) {
ContentValues values = new ContentValues();
values.put("_acc_num", acc_num);
values.put("_cust_num", cust_num);
values.put("_acc_holder", acc_holder);
values.put("_bank_name", bank_name);
values.put("_branch_name", branch_name);
values.put("_branch_addr", branch_addr);
values.put("_ifsc", ifsc);
values.put("_micr", micr);
values.put("_curr_bal", curr_bal);
values.put("_remarks", remarks);
db.update(TABLE_NAME_ACC,values,"_id = " + id, null);
}

public void insert_transaction(String acc_id, String acc_type, String date,
String amount, String chq_num, String chq_party,
String chq_details, String remarks) {
ContentValues values = new ContentValues();
values.put("_acc_id", acc_id);
values.put("_type", acc_type);
values.put("_date", date);
values.put("_amount", amount);
values.put("_chq_num", chq_num);
values.put("_chq_party", chq_party);
values.put("_chq_details", chq_details);
values.put("_remarks", remarks);
db.insert(TABLE_NAME_TRANS, null, values);

ChangeMainBalance(acc_type,amount);
}

private void ChangeMainBalance(String acc_type, String amt)
{
int amount;
if(acc_type.equals("deposit"))
{
amount = Integer.parseInt(amt);
}
else
{
amount = 0 - Integer.parseInt(amt);
}
System.out.println("The query is "+"UPDATE table1 SET _curr_bal = _curr_bal + "+amount);
db.execSQL("UPDATE "+TABLE_NAME_ACC+" SET _curr_bal = _curr_bal + "+amount);
}

public void delete_account(String acc_id)
{
db.execSQL("DELETE FROM " + TABLE_NAME_ACC+" WHERE _id = "+acc_id);
}
}

Existing Acc:

package com.prakash.accounttransactionsapp;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ExistingAccounts extends Activity {

private DataHelper dh;

private Button btn_add_acc, btn_add_trans, btn_recent_trans;

private Intent intentObj;
private ListView listview;
private ArrayList<String> idList;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.all_accounts);

/***
* Initialization Block
*/

dh = new DataHelper(this);
idList = new ArrayList<String>();
intentObj = new Intent();
btn_add_acc = (Button) findViewById(R.id.btn_add_account);
btn_add_trans = (Button) findViewById(R.id.btn_add_trans);
btn_recent_trans = (Button) findViewById(R.id.btn_recent_trans);
listview = (ListView)findViewById(R.id.listview);

/**
* Add data to listview from database
*/
//AppendDataToList();
/***
* Click Events
*/

btn_add_acc.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

intentObj.setClass(getApplicationContext(), AddAccount.class);
startActivity(intentObj);
}
});

btn_add_trans.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

intentObj.setClass(getApplicationContext(), AddTransaction.class);
startActivity(intentObj);
}
});
btn_recent_trans.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
intentObj.setClass(getApplicationContext(), RecentTransactions.class);
startActivity(intentObj);
}
});
listview.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View view, int pos,
long arg3) {
intentObj.setClass(getApplicationContext(), UpdateAccount.class);
intentObj.putExtra("Userid", idList.get(pos));
startActivity(intentObj);
}
});

}
private void AppendDataToList()
{
ArrayList<String> aList = dh.getAllAccounts();
System.out.println(aList);
ArrayList<HashMap<String, String>> hashmap = new ArrayList<HashMap<String,String>>();
HashMap<String, String> hmap;
int size = aList.size()/4;
for(int i=0;i<size;i++)
{
hmap = new HashMap<String, String>();
idList.add(aList.get((i*4)+0));
hmap.put("BankName", aList.get((i*4)+1));
hmap.put("AccName", aList.get((i*4)+2));
hmap.put("Amount", aList.get((i*4)+3));
hashmap.add(hmap);
}
String from[] =  {"BankName","AccName","Amount"};
int to[] =  {R.id.bank_name,R.id.acc_name,R.id.amount};
SimpleAdapter adapter = new SimpleAdapter(this, hashmap,
      R.layout.account_item,from,to );
listview.setAdapter(adapter);
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
/**
* Callubg this method on activity resume
*/
AppendDataToList();
}

}






No comments:

Post a Comment