Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.taxipixi.incarapp.db;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
- import com.taxipixi.Constants;
- import com.taxipixi.entity.Order;
- import com.taxipixi.incarapp.api.Timeformatter;
- import com.taxipixi.utils.DecimalFormating;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
- /**
- * Created by aleksandr on 17.03.15.
- */
- public class CachedFinishedOrdersDB extends SQLiteOpenHelper {
- //DATABASE
- private static final String DB_NAme = "finishedOrdersDB";
- private static final String TABLE_NAME = "finishedOrdersTable";
- private static final int DB_VERSION = 1;
- //Column names for DB
- private static final String ID = "id";
- private static final String TIME = "time";
- private static final String COST = "cost";
- private static final String DISTANCE = "distance";
- private static final String DESTINATION_ADRESS = "destinationAddress";
- private static final String PICK_UP_ADDRESS = "pickupAddress";
- private static final String LONG_PICK_UP_TIME = "pickUpTime";
- private static final String ORDER_ID = "orderId";
- private static final String PICK_UP_TIME="";
- private static final String CREDIT="credit";
- private static final String CASH="cash";
- private static final String TOTALTIME="totaltime";
- private static final String PICKUPDATE="pickupdate";
- private static CachedFinishedOrdersDB instance;
- private CachedFinishedOrdersDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
- public static CachedFinishedOrdersDB getInstance(Context context){
- if (instance==null){
- instance = new CachedFinishedOrdersDB(context, DB_NAme, null, DB_VERSION);
- return instance;
- }
- return instance;
- }
- public ArrayList<ModelFromDBToAdapter> readAll(){ //get all orders from database, sorted by pick up time
- ArrayList <ModelFromDBToAdapter> lv = new ArrayList<ModelFromDBToAdapter>();
- SQLiteDatabase db = instance.getReadableDatabase();
- Cursor c = db.query(TABLE_NAME, null, null, null, null, null, LONG_PICK_UP_TIME + " DESC" );
- if (c.moveToFirst()){
- do {
- ModelFromDBToAdapter mdl = new ModelFromDBToAdapter();
- mdl.setTime(c.getString(c.getColumnIndex(TIME)));
- mdl.setCost(c.getString(c.getColumnIndex(COST)));
- mdl.setDistance(c.getString(c.getColumnIndex(DISTANCE)));
- mdl.setDestinationAdress(c.getString(c.getColumnIndex(DESTINATION_ADRESS)));
- mdl.setPickUpAdress(c.getString(c.getColumnIndex(PICK_UP_ADDRESS)));
- mdl.setOrderId(c.getString(c.getColumnIndex(ORDER_ID)));
- mdl.setCredit(c.getString(c.getColumnIndex(CREDIT)));
- mdl.setCash(c.getString(c.getColumnIndex(CASH)));
- mdl.setTotalTime(c.getString(c.getColumnIndex(TOTALTIME)));
- mdl.setPickupDate(c.getString(c.getColumnIndex(PICKUPDATE)));
- lv.add(mdl);
- } while (c.moveToNext());
- }
- return lv;
- }
- public void addDB(Order order){ // method to adding one order to database upon finishing it
- SQLiteDatabase db = instance.getWritableDatabase();
- ContentValues cv = new ContentValues();
- cv.put(TIME, order.getPickupTime());
- cv.put(COST, order.getCurrency() + " " + DecimalFormating.getStringFormatted(order.getActTotFare()));
- double dayDistance = order.getActDayDistance();
- double nightDistance = order.getActNightDistance();
- cv.put(DISTANCE, DecimalFormating.getStringFormatted(dayDistance+nightDistance) + " KM");
- if(order.getEndPosition()!=null){
- cv.put(DESTINATION_ADRESS, order.getEndPosition());
- }
- if(order.getBookingType()!=null && order.getBookingType().equals(Constants.HOURLY)) {
- String packageDetails = order.getPackageType();
- if (packageDetails.equalsIgnoreCase("FULL DAY")) {
- int days = order.getDays();
- String daysString = " DAYS";
- if (days == 1)
- daysString = " DAY";
- packageDetails = days + daysString;
- }
- if (order.getDistanceEstimatedKilometers() > 0) {
- packageDetails = packageDetails + " /" + order.getDistanceEstimatedKilometers() + " KM";
- }
- cv.put(DESTINATION_ADRESS, packageDetails);
- }
- cv.put(PICK_UP_ADDRESS, order.getStartPosition());
- cv.put(LONG_PICK_UP_TIME, order.getRequestedPickupTime());
- cv.put(ORDER_ID, order.getOrderId());
- cv.put(CREDIT, order.getCredit());
- cv.put(CASH, order.getCash());
- cv.put(TOTALTIME, order.getTotalTime());
- cv.put(PICKUPDATE, order.getPickupDate());
- db.insert(TABLE_NAME, null,cv);
- db.close();
- }
- public void addAllDB(List<Order> data){//method for adding all orders to database from server
- SQLiteDatabase db = instance.getWritableDatabase();
- ContentValues cv = new ContentValues();
- for (Order order:data){
- String orderId = String .valueOf(order.getOrderId());
- Cursor c = (db.query(TABLE_NAME,new String[]{ID},ORDER_ID+" = '" + orderId + "'",null,null,null,null));
- if (c!=null){
- if (c.getCount()==1) {
- continue;// aborts current iteration if there is line with current order id in DB
- }
- }
- cv.put(TIME, order.getPickupTime());
- cv.put(COST, order.getCurrency() + " " + DecimalFormating.getStringFormatted(order.getActTotFare()));
- double dayDistance = order.getActDayDistance();
- double nightDistance = order.getActNightDistance();
- cv.put(DISTANCE, DecimalFormating.getStringFormatted(dayDistance+nightDistance) + " KM");
- if(order.getEndPosition()!=null){
- cv.put(DESTINATION_ADRESS, order.getEndPosition());
- }
- if(order.getBookingType()!=null && order.getBookingType().equals(Constants.HOURLY)){
- String packageDetails = order.getPackageType();
- if (packageDetails.equalsIgnoreCase("FULL DAY")) {
- int days = order.getDays();
- String daysString = " DAYS";
- if (days == 1)
- daysString = " DAY";
- packageDetails = days + daysString;
- }
- if (order.getDistanceEstimatedKilometers() > 0) {
- packageDetails = packageDetails + " /" + order.getDistanceEstimatedKilometers() + " KM";
- }
- cv.put(DESTINATION_ADRESS, packageDetails);
- }
- cv.put(LONG_PICK_UP_TIME, order.getRequestedPickupTime());
- cv.put(PICK_UP_ADDRESS, order.getStartPosition());
- cv.put(ORDER_ID, order.getOrderId());
- cv.put(CREDIT, order.getCredit());
- cv.put(CASH, order.getCash());
- cv.put(TOTALTIME, order.getTotalTime());
- cv.put(PICKUPDATE, order.getPickupDate());
- db.insert(TABLE_NAME, null,cv);
- }
- db.close();
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("create table " + TABLE_NAME + " ( "
- + ID + " integer primary key autoincrement,"
- + TIME + " text,"
- + COST + " text,"
- + DISTANCE + " text,"
- + DESTINATION_ADRESS + " text,"
- + ORDER_ID + " text,"
- + PICK_UP_TIME + " text,"
- + LONG_PICK_UP_TIME + " INTEGER,"
- + PICK_UP_ADDRESS + " text,"
- + CREDIT + " text,"
- + CASH + " text,"
- + TOTALTIME + " text,"
- + PICKUPDATE + " text"+");" );
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- }
- public void dropDB(Context context){
- SQLiteDatabase db = getWritableDatabase();
- db.delete(TABLE_NAME,null,null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment