Added constructors to construct from db info
This is in no way finished. CHECK TODOs!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This commit is contained in:
@ -1,31 +1,28 @@
|
||||
#include "headers/Park_spot.h"
|
||||
|
||||
|
||||
|
||||
// constructors
|
||||
|
||||
Park_spot::Park_spot()
|
||||
: parked{nullptr},
|
||||
id{auto_increment_db()+1},
|
||||
taken{false} {
|
||||
: parked{nullptr}, id{auto_increment_db() + 1}, taken{false} {
|
||||
save_db();
|
||||
}
|
||||
Park_spot::Park_spot(Customer parked_, int id_, bool taken_)
|
||||
: parked{nullptr},
|
||||
id{id_},
|
||||
taken{taken_} // TODO: think about how init parked?
|
||||
{}
|
||||
|
||||
Park_spot::~Park_spot(){
|
||||
update_db();
|
||||
}
|
||||
Park_spot::~Park_spot() { update_db(); }
|
||||
|
||||
|
||||
|
||||
// clock in en out, calls de juist(in/out) van de customer aan de hand van internal state van taken
|
||||
void Park_spot::clock(Customer* c_customer){
|
||||
if (!taken){
|
||||
// clock in en out, calls de juist(in/out) van de customer aan de hand van
|
||||
// internal state van taken
|
||||
void Park_spot::clock(Customer* c_customer) {
|
||||
if (!taken) {
|
||||
parked = c_customer;
|
||||
taken = true;
|
||||
parked->clock_in(id);
|
||||
update_db();
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
taken = false;
|
||||
parked->clock_out(id);
|
||||
parked = nullptr;
|
||||
@ -33,25 +30,22 @@ void Park_spot::clock(Customer* c_customer){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// --------------------- db functs
|
||||
|
||||
void Park_spot::update_db() {
|
||||
string statement = "UPDATE Park_spot SET taken = '', customer_id = '' where id = '';";
|
||||
// 29, 48, 62
|
||||
string statement =
|
||||
"UPDATE Park_spot SET taken = '', customer_id = '' where id = '';";
|
||||
statement.insert(63, to_string(id));
|
||||
if (taken){
|
||||
if (taken) {
|
||||
statement.insert(49, to_string(parked->id));
|
||||
statement.insert(30, "true");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
statement.insert(49, "NULL");
|
||||
statement.insert(30, "false");
|
||||
}
|
||||
data::db.exec(statement);
|
||||
}
|
||||
|
||||
|
||||
void Park_spot::save_db() {
|
||||
//(int id, bool taken, int customer_id)
|
||||
string statement{"insert into Park_spot values ( , , );"};
|
||||
|
Reference in New Issue
Block a user