package com.ucb.dcm.data; import android.database.Cursor; import com.androiddata.DBColumn; import com.androiddata.DBObject; import com.androiddata.DBTable; import org.json.JSONException; import org.json.JSONObject; import java.io.Serializable; import java.util.ArrayList; /** * Created by kurtguenther on 6/8/13. */ @DBTable(tableName = "Venue") public class Venue extends DBObject implements Serializable { @DBColumn(columnName = "id", dataType = DBColumn.DataType.INTEGER) public int id; @DBColumn(columnName = "name") public String name; @DBColumn(columnName = "short_name") public String short_name; @DBColumn(columnName = "address") public String address; @DBColumn(columnName = "directions") public String directions; @DBColumn(columnName = "image") public String image; @DBColumn(columnName = "gmaps") public String gmaps; @DBColumn(columnName = "url") public String url; public Venue(){} public Venue(Cursor c){ super(c); } public static Venue fromJson(JSONObject json) throws JSONException{ Venue retVal = new Venue(); retVal.id = json.getInt("id"); retVal.name = json.getString("name"); retVal.short_name = json.getString("short_name"); retVal.address = json.getString("address"); retVal.directions = json.getString("directions"); retVal.image = json.getString("image"); retVal.gmaps = json.getString("gmaps"); retVal.url = json.getString("url"); return retVal; } public static ArrayList<Venue> getAll(android.database.sqlite.SQLiteDatabase db, String orderBy){ Venue s = new Venue(); ArrayList<Venue> retVal = new ArrayList<Venue>(); Cursor c = db.query(s.getTableName(), s.getColumnNames(), null, null, null, null, orderBy); while(c.moveToNext()) { retVal.add(new Venue(c)); } return retVal; } @Override public String toString() { return name; } public Cursor getSchedule(){ return DBHelper.getSharedService().getWritableDatabase().rawQuery("SELECT * from performance p LEFT JOIN show s on p.show_id = s.id where venue_id = ? order by p.start_date", new String[]{Integer.toString(id)}); } }