diff --git a/Customer.cpp b/Customer.cpp index 28afbf8..db6bcd2 100644 --- a/Customer.cpp +++ b/Customer.cpp @@ -10,6 +10,7 @@ Customer::Customer(string name_, Verhicle_type verhicle_): save_db(); } + Customer::Customer(int id_, string name_, string card_code_, Verhicle_type verhicle_, vector instances) : name{name_}, card_code{card_code_}, @@ -20,19 +21,20 @@ Customer::Customer(int id_, string name_, string card_code_, Verhicle_type verhi } - -// clock methods ==================================================================================== +// clock in/out methods ==================================================================================== /* -creert een park_time object met start time= nu, en voegt t toe aan een vector. +Create a p_time object with start=now and adds to vector */ void Customer::clock_in(int s_id) { Park_time pt{id, s_id}; park_instances.push_back(pt); } -// edit de laatste park_time obj in de vector zodat de end_time = now. +// edit last p_time object so end=now void Customer::clock_out(int s_id) { park_instances[park_instances.size() - 1].clock_out(id, s_id); } + + // report gen void Customer::gen_monthly() { std::cout << "NAME: " << name << " card code: " << card_code << "\n"; @@ -44,6 +46,7 @@ void Customer::gen_monthly() { std::cout << "-------------------------------------------------\n\n"; } + //================================================================================================ // functions that interact with the database diff --git a/Park_spot.cpp b/Park_spot.cpp index 55243f2..d17fbb4 100644 --- a/Park_spot.cpp +++ b/Park_spot.cpp @@ -1,5 +1,9 @@ #include "headers/Park_spot.h" + + +// constructors + Park_spot::Park_spot(){ parked = nullptr; id = auto_increment_db() + 1; @@ -7,6 +11,8 @@ Park_spot::Park_spot(){ save_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){ diff --git a/headers/Customer.h b/headers/Customer.h index c2a112a..ecfd5d8 100644 --- a/headers/Customer.h +++ b/headers/Customer.h @@ -12,12 +12,12 @@ using std::string; using std::vector; -// enum type is basically een manier om categories te representen als een integer in the background, maar om t in code -// aan te geven als de actual category. +// will make it easy to represent it in the database while making it easy to use while programming enum class Verhicle_type { - small = 1, - medium = 2, - large = 3, + bike = 1, + small_car = 2, + suv = 3, + pickup = 4 }; /* @@ -43,15 +43,13 @@ class Customer { void update_db(); void delete_db(); - // void gen_weekly(); TODO: this - void gen_monthly(); + void gen_monthly(); // remove, make it a function in data private: Verhicle_type verhicle; vector park_instances; string gen_cardcode(); - void save_db(); int auto_increment_db(); }; diff --git a/headers/Park_time.h b/headers/Park_time.h index 130e144..8093a13 100644 --- a/headers/Park_time.h +++ b/headers/Park_time.h @@ -12,26 +12,20 @@ using namespace std::chrono; using std::string; using std::to_string; /* -db repr of Park_time -int id (not null, auto increment) -int customer_id (not null) (many to one or something like that) -int spot_id (not null, many to one or something like that) -int duration -datetime start (not null) -datetime end -Dit is gewoon een record van hoe lang, wie en waar iemand parkeert. Basically, een component van -de internal state van customer. + +Record of who parked at what park_spot and at what time. */ class Park_time { public: + Park_time(int c_id, int s_id); + // Park_time(int c_id, int s_id ); int id; int customer_id; int spot_id; int duration; - Park_time(int c_id, int s_id); - // Park_time(int c_id, int s_id ); + void clock_out(int c_id, int s_id); friend std::ostream& operator<<(std::ostream& os, const Park_time & pt); diff --git a/main.cpp b/main.cpp index f83c0ba..ffd73db 100644 --- a/main.cpp +++ b/main.cpp @@ -35,7 +35,7 @@ a wait function where 1 sec represents 1 hour irl. using std::cout; int main() { - class Customer sagar{"Sagar Ramsaransing", Verhicle_type::medium}; + class Customer sagar{"Sagar Ramsaransing", Verhicle_type::bike}; sagar.update_db(); Park_spot p1; p1.clock(&sagar); diff --git a/test.db3 b/test.db3 index 649423a..47a4ff1 100644 Binary files a/test.db3 and b/test.db3 differ