Added defaults
This commit is contained in:
parent
7cba1b21ad
commit
d8a5d33924
1 changed files with 202 additions and 17 deletions
|
@ -31,6 +31,9 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
//name of db in app data
|
//name of db in app data
|
||||||
private static final String DB_NAME = "UsersDB.db";
|
private static final String DB_NAME = "UsersDB.db";
|
||||||
|
|
||||||
|
//has the data been added?
|
||||||
|
private static boolean setUp = false;
|
||||||
|
|
||||||
//SQLiteDatabase for reading
|
//SQLiteDatabase for reading
|
||||||
private static SQLiteDatabase readDB;
|
private static SQLiteDatabase readDB;
|
||||||
|
|
||||||
|
@ -41,7 +44,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
private static final String TABLE_LOGIN = "userInfo";
|
private static final String TABLE_LOGIN = "userInfo";
|
||||||
//columns of TABLE_LOGIN
|
//columns of TABLE_LOGIN
|
||||||
private static final String COLUMN_USERNAME = "username";
|
private static final String COLUMN_USERNAME = "username";
|
||||||
private static final String COLUMN_PASSWORD = "password";
|
private static final String COLUMN_PASSWORD = "password"; //actually stores password hash
|
||||||
private static final String COLUMN_FIRSTNAME = "firstName";
|
private static final String COLUMN_FIRSTNAME = "firstName";
|
||||||
private static final String COLUMN_LASTNAME = "lastName";
|
private static final String COLUMN_LASTNAME = "lastName";
|
||||||
private static final String COLUMN_USERTYPE = "userType";
|
private static final String COLUMN_USERTYPE = "userType";
|
||||||
|
@ -113,12 +116,11 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
//since these methods take a while we will call them once and store the returned dbs
|
//since these methods take a while we will call them once and store the returned dbs
|
||||||
readDB = this.getReadableDatabase();
|
readDB = this.getReadableDatabase();
|
||||||
writeDB = this.getWritableDatabase();
|
writeDB = this.getWritableDatabase();
|
||||||
//pre-add the admin user
|
|
||||||
addUser(new Admin());
|
if (!setUp){
|
||||||
addUser(new ServiceProvider("testing", "testing", "TestFirst", "TestLast",
|
setUp();
|
||||||
"1234 Test Street, Testinaro, Timor-Teste", "6136136163",
|
setUp = true;
|
||||||
"Test Company", false,
|
}
|
||||||
"Tested 10 years"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1202,8 +1204,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
contentValues.put(COLUMN_RATING, rating);
|
contentValues.put(COLUMN_RATING, rating);
|
||||||
contentValues.put(COLUMN_COMMENT, comment);
|
contentValues.put(COLUMN_COMMENT, comment);
|
||||||
|
|
||||||
|
Cursor cursor = writeDB.query(TABLE_BOOKINGS, new String[]{COLUMN_RATING},
|
||||||
boolean updated = writeDB.update(TABLE_BOOKINGS, contentValues,
|
|
||||||
COLUMN_BOOKINGSERVICEPROVIDER + " = ? AND "
|
COLUMN_BOOKINGSERVICEPROVIDER + " = ? AND "
|
||||||
+ COLUMN_BOOKINGHOMEOWNER + " = ? AND "
|
+ COLUMN_BOOKINGHOMEOWNER + " = ? AND "
|
||||||
+ COLUMN_BOOKINGYEAR + " = ? AND "
|
+ COLUMN_BOOKINGYEAR + " = ? AND "
|
||||||
|
@ -1215,22 +1216,46 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
String.valueOf(booking.getYear()),
|
String.valueOf(booking.getYear()),
|
||||||
String.valueOf(booking.getMonth()),
|
String.valueOf(booking.getMonth()),
|
||||||
String.valueOf(booking.getDay()),
|
String.valueOf(booking.getDay()),
|
||||||
String.valueOf(booking.getStarth()*60 + booking.getStartmin())}) > 0;
|
String.valueOf(booking.getStarth()*60 + booking.getStartmin())},
|
||||||
|
null, null, null, null);
|
||||||
|
int previousrating = 0;
|
||||||
|
|
||||||
|
if (cursor.moveToFirst()){
|
||||||
|
previousrating = cursor.getInt(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean updated = writeDB.update(TABLE_BOOKINGS, contentValues,
|
||||||
|
COLUMN_BOOKINGSERVICEPROVIDER + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGHOMEOWNER + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGYEAR + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGMONTH + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGDATE + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGSTART + " = ? AND "
|
||||||
|
+ COLUMN_BOOKINGSTART + " = ?",
|
||||||
|
new String[] {booking.getServiceprovider().getUsername(),
|
||||||
|
booking.getHomeowner().getUsername(),
|
||||||
|
String.valueOf(booking.getYear()),
|
||||||
|
String.valueOf(booking.getMonth()),
|
||||||
|
String.valueOf(booking.getDay()),
|
||||||
|
String.valueOf(booking.getStarth()*60 + booking.getStartmin()),
|
||||||
|
Status.CANCELLED.toString()}) > 0;
|
||||||
|
|
||||||
if (updated) {
|
if (updated) {
|
||||||
Cursor cursor = writeDB.query(TABLE_SERVICEPROVIDERS, new String[]{COLUMN_AVERAGERATING, COLUMN_RATERS},
|
cursor = writeDB.query(TABLE_SERVICEPROVIDERS, new String[]{COLUMN_AVERAGERATING, COLUMN_RATERS},
|
||||||
COLUMN_SERVICEPROVIDERNAME + " = ? AND "
|
COLUMN_SERVICEPROVIDERNAME + " = ? AND "
|
||||||
+ COLUMN_SERVICEPROVIDERSERVICE + " = ?",
|
+ COLUMN_SERVICEPROVIDERSERVICE + " = ?",
|
||||||
new String[] {booking.getServiceprovider().getUsername(), booking.getService().getName()},
|
new String[] {booking.getServiceprovider().getUsername(), booking.getService().getName()},
|
||||||
null, null, null, null);
|
null, null, null, null);
|
||||||
cursor.moveToFirst();
|
cursor.moveToFirst();
|
||||||
|
|
||||||
int currentRaters = cursor.getInt(1) + 1;
|
int currentRaters = cursor.getInt(1);
|
||||||
double currentAverageRatings = cursor.getDouble(0) + rating;
|
double currentAverageRatings = cursor.getDouble(0)*currentRaters
|
||||||
|
+ rating - previousrating;
|
||||||
|
currentRaters += previousrating == 0? 1 : 0;
|
||||||
cursor.close();
|
cursor.close();
|
||||||
|
|
||||||
contentValues = new ContentValues();
|
contentValues = new ContentValues();
|
||||||
contentValues.put(COLUMN_AVERAGERATING, currentAverageRatings/(double)currentRaters);
|
contentValues.put(COLUMN_AVERAGERATING, currentAverageRatings);
|
||||||
contentValues.put(COLUMN_RATERS, currentRaters);
|
contentValues.put(COLUMN_RATERS, currentRaters);
|
||||||
|
|
||||||
writeDB.update(TABLE_SERVICEPROVIDERS, contentValues,
|
writeDB.update(TABLE_SERVICEPROVIDERS, contentValues,
|
||||||
|
@ -1534,6 +1559,19 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
writeDB.execSQL("DELETE FROM " + TABLE_BOOKINGS);
|
writeDB.execSQL("DELETE FROM " + TABLE_BOOKINGS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* I got really tired of trying to figure out how to rate and book at the same time.
|
||||||
|
* So Imma force it V2
|
||||||
|
*/
|
||||||
|
void forceAddBookingDONTTOUCH(Booking booking) {
|
||||||
|
forceAddBookingDONTTOUCH(booking.getServiceprovider().getUsername(),
|
||||||
|
booking.getHomeowner().getUsername(),
|
||||||
|
booking.getService().getName(),
|
||||||
|
booking.getYear(), booking.getMonth(), booking.getDay(),
|
||||||
|
booking.getStarth(), booking.getStartmin(),
|
||||||
|
booking.getEndh(), booking.getEndmin(),
|
||||||
|
booking.getStatus());
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* So I got really tired of trying to figure out how to rate and book at the same time.
|
* So I got really tired of trying to figure out how to rate and book at the same time.
|
||||||
* So Imma force it.
|
* So Imma force it.
|
||||||
|
@ -1550,8 +1588,9 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
* @param endmin
|
* @param endmin
|
||||||
*/
|
*/
|
||||||
void forceAddBookingDONTTOUCH(String serviceProvider, String homeOwner, String service,
|
void forceAddBookingDONTTOUCH(String serviceProvider, String homeOwner, String service,
|
||||||
int year, int month, int day,
|
int year, int month, int day,
|
||||||
int starth, int startmin, int endh, int endmin){
|
int starth, int startmin, int endh, int endmin,
|
||||||
|
Status status){
|
||||||
service = service.trim().toLowerCase();
|
service = service.trim().toLowerCase();
|
||||||
|
|
||||||
Cursor cursor = writeDB.query(TABLE_SERVICEPROVIDERS, new String[]{COLUMN_SERVICEPROVIDERNAME},
|
Cursor cursor = writeDB.query(TABLE_SERVICEPROVIDERS, new String[]{COLUMN_SERVICEPROVIDERNAME},
|
||||||
|
@ -1575,13 +1614,159 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||||
contentValues.put(COLUMN_BOOKINGSERVICEPROVIDER, serviceProvider);
|
contentValues.put(COLUMN_BOOKINGSERVICEPROVIDER, serviceProvider);
|
||||||
contentValues.put(COLUMN_BOOKINGHOMEOWNER, homeOwner);
|
contentValues.put(COLUMN_BOOKINGHOMEOWNER, homeOwner);
|
||||||
contentValues.put(COLUMN_BOOKINGSERVICE, service);
|
contentValues.put(COLUMN_BOOKINGSERVICE, service);
|
||||||
contentValues.put(COLUMN_BOOKINGSTATUS, Status.PENDING.toString());
|
contentValues.put(COLUMN_BOOKINGSTATUS, status.toString());
|
||||||
contentValues.put(COLUMN_RATING, 0);
|
contentValues.put(COLUMN_RATING, 0);
|
||||||
|
|
||||||
writeDB.insert(TABLE_BOOKINGS, null, contentValues);
|
writeDB.insert(TABLE_BOOKINGS, null, contentValues);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called to add default values to app.
|
||||||
|
* Adds three
|
||||||
|
*/
|
||||||
|
private void setUp(){
|
||||||
|
|
||||||
|
//pre-add ten services
|
||||||
|
Service service = new Service("Dragon Tamer", 168.60);
|
||||||
|
Service service1 = new Service("Juggler", 14.35);
|
||||||
|
Service service2 = new Service("Bug Catcher", 6);
|
||||||
|
Service service3 = new Service("Firebreather", 72.3);
|
||||||
|
Service service4 = new Service("Spy", 900);
|
||||||
|
Service service5 = new Service("Thug", 123.45);
|
||||||
|
Service service6 = new Service("Baker", 25.60);
|
||||||
|
Service service7 = new Service("Maid", 13.20);
|
||||||
|
Service service8 = new Service("Butler", 496);
|
||||||
|
Service service9 = new Service("Gardener", 0);
|
||||||
|
|
||||||
|
|
||||||
|
addService(service);
|
||||||
|
addService(service1);
|
||||||
|
addService(service2);
|
||||||
|
addService(service3);
|
||||||
|
addService(service4);
|
||||||
|
addService(service5);
|
||||||
|
addService(service6);
|
||||||
|
addService(service7);
|
||||||
|
addService(service8);
|
||||||
|
addService(service9);
|
||||||
|
|
||||||
|
|
||||||
|
//pre-add an admin, three service providers, and three homeowners
|
||||||
|
ServiceProvider testing = new ServiceProvider(
|
||||||
|
"testing", "testing",
|
||||||
|
"TestFirst", "TestLast",
|
||||||
|
"1234 Test", "6136136163",
|
||||||
|
"Test Co", false,
|
||||||
|
"Tested 10 years");
|
||||||
|
ServiceProvider testing1 = new ServiceProvider(
|
||||||
|
"testing1", "testing",
|
||||||
|
"owo", "OwO",
|
||||||
|
"10 Weee", "8594738261",
|
||||||
|
"Independent", true,
|
||||||
|
"Hire me");
|
||||||
|
ServiceProvider testing2 = new ServiceProvider(
|
||||||
|
"testing2", "testing",
|
||||||
|
"Beep", "BOOP",
|
||||||
|
"33 Beep", "1833980091",
|
||||||
|
"Beepbeep", true,
|
||||||
|
"Beep beep lettuce");
|
||||||
|
HomeOwner tester = new HomeOwner("tester", "tester",
|
||||||
|
"Itest", "Testtest");
|
||||||
|
HomeOwner tester1 = new HomeOwner("tester1", "tester",
|
||||||
|
"Testest", "Testest");
|
||||||
|
HomeOwner tester2 = new HomeOwner("tester2", "tester",
|
||||||
|
"Robolectric", "Junit");
|
||||||
|
|
||||||
|
//add admin
|
||||||
|
addUser(new Admin());
|
||||||
|
|
||||||
|
//add first service provider
|
||||||
|
addUser(testing);
|
||||||
|
addServiceProvidedByUser("testing", "dragon tamer");
|
||||||
|
addServiceProvidedByUser("testing", "juggler");
|
||||||
|
addServiceProvidedByUser("testing", "bug catcher");
|
||||||
|
addServiceProvidedByUser("testing", "firebreather");
|
||||||
|
addServiceProvidedByUser("testing", "spy");
|
||||||
|
addServiceProvidedByUser("testing", "Baker");
|
||||||
|
addServiceProvidedByUser("testing", "Gardener");
|
||||||
|
for (int i = 0; i<6; i++){
|
||||||
|
testing.setAvailabilities(i, 0, 0, 23, 59);
|
||||||
|
}
|
||||||
|
updateAvailability(testing);
|
||||||
|
|
||||||
|
addUser(testing1);
|
||||||
|
addServiceProvidedByUser("testing1", "dragon tamer");
|
||||||
|
addServiceProvidedByUser("testing1", "juggler");
|
||||||
|
addServiceProvidedByUser("testing1", "firebreather");
|
||||||
|
addServiceProvidedByUser("testing1", "spy");
|
||||||
|
addServiceProvidedByUser("testing1", "thug");
|
||||||
|
for (int i = 0; i<4; i++){
|
||||||
|
testing1.setAvailabilities(i, 10-i, 0, 22-i, 0);
|
||||||
|
}
|
||||||
|
updateAvailability(testing1);
|
||||||
|
|
||||||
|
addUser(testing2);
|
||||||
|
addServiceProvidedByUser("testing2", "dragon tamer");
|
||||||
|
for (int i = 0; i<7; i = i+2){
|
||||||
|
testing2.setAvailabilities(i, i*2, 30, 5+(i*2), 59);
|
||||||
|
}
|
||||||
|
updateAvailability(testing2);
|
||||||
|
|
||||||
|
//add three homeowners
|
||||||
|
addUser(tester);
|
||||||
|
addUser(tester1);
|
||||||
|
addUser(tester2);
|
||||||
|
|
||||||
|
//add like ten bookings
|
||||||
|
Booking booking = new Booking(10, 0, 12, 15,
|
||||||
|
1, 10, 2018, testing, tester, service);
|
||||||
|
booking.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking1 = new Booking(13, 30, 14, 58,
|
||||||
|
1, 10, 2018, testing, tester1, service);
|
||||||
|
booking1.setStatus(Status.CANCELLED);
|
||||||
|
Booking booking2 = new Booking(10, 0, 12, 15,
|
||||||
|
2, 11, 2018, testing, tester, service);
|
||||||
|
booking2.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking3 = new Booking(10, 0, 12, 15,
|
||||||
|
3, 10, 2018, testing, tester, service);
|
||||||
|
booking3.setStatus(Status.PENDING);
|
||||||
|
Booking booking4 = new Booking(10, 0, 12, 15,
|
||||||
|
10, 11, 2018, testing, tester, service);
|
||||||
|
booking4.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking5 = new Booking(10, 0, 12, 15,
|
||||||
|
10, 10, 2018, testing2, tester, service);
|
||||||
|
booking5.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking6 = new Booking(10, 0, 12, 15,
|
||||||
|
1, 11, 2018, testing2, tester1, service);
|
||||||
|
booking6.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking7 = new Booking(10, 0, 12, 15,
|
||||||
|
3, 10, 2018, testing1, tester1, service);
|
||||||
|
booking7.setStatus(Status.CONFIRMED);
|
||||||
|
Booking booking8 = new Booking(10, 0, 12, 15,
|
||||||
|
4, 12, 2018, testing1, tester1, service);
|
||||||
|
Booking booking9 = new Booking(10, 0, 12, 15,
|
||||||
|
2, 12, 2018, testing1, tester1, service);
|
||||||
|
|
||||||
|
forceAddBookingDONTTOUCH(booking);
|
||||||
|
forceAddBookingDONTTOUCH(booking1);
|
||||||
|
forceAddBookingDONTTOUCH(booking2);
|
||||||
|
forceAddBookingDONTTOUCH(booking3);
|
||||||
|
forceAddBookingDONTTOUCH(booking4);
|
||||||
|
forceAddBookingDONTTOUCH(booking5);
|
||||||
|
forceAddBookingDONTTOUCH(booking6);
|
||||||
|
forceAddBookingDONTTOUCH(booking7);
|
||||||
|
forceAddBookingDONTTOUCH(booking8);
|
||||||
|
forceAddBookingDONTTOUCH(booking9);
|
||||||
|
|
||||||
|
addRating(booking, 5, "Amazing");
|
||||||
|
addRating(booking3, 1, "Never showed up");
|
||||||
|
addRating(booking5, 3, "Decent");
|
||||||
|
addRating(booking7, 4, "OK I guess");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all items in a table
|
* Gets all items in a table
|
||||||
* @param rawQuery SELECT * query
|
* @param rawQuery SELECT * query
|
||||||
|
|
Loading…
Reference in a new issue