From 97ed3150ecfdac94e5c42b20914c448e751c27a4 Mon Sep 17 00:00:00 2001 From: TinyAtoms Date: Sat, 29 Jun 2019 22:48:49 -0300 Subject: [PATCH] can save to db --- Customer.cpp | 11 +++++++---- Park_spot.cpp | 6 ++++++ headers/Customer.h | 14 ++++++-------- headers/Park_time.h | 16 +++++----------- main.cpp | 2 +- test.db3 | Bin 16384 -> 16384 bytes 6 files changed, 25 insertions(+), 24 deletions(-) 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 649423a0e0cade26f7a187d6d955b49f7faf155b..47a4ff193bbe21a9484f1da7018abce97b4d9f2a 100644 GIT binary patch delta 256 zcmZo@U~Fh$oFL68I#I@%QFLR%5`Hdb{t5>EOZ-duD>e%XWbsF7GqW-nnsNpwrY9CD z1SRGcCl)2<6=&w9R~0))*El7{d**u-I0Y5DWjICVX*1za98{6+T~p^3SnBTQ6YrHB zALHtiJNc5l5zxBJ4E!JYAMsz_EU0jlUyhfVg+W|2EitD!)i2b?hnES3JNcu&Fi^`e z2L5;axA>0%UATkaN{E@Afsv7gg^`&#Rzl<`5Fcj}VuFe>F~v#<{sH2DOahGT44j-m Nb+HlxQ-F9H69E4JMREWD delta 91 zcmZo@U~Fh$oFL7}IZ?)$k#l3h5`H#D{!0w}mo^J39O9oCz&81kyb)07BLn|Oh|mPp j$shHFfkN*X_}@W=l!OEr*%>%FSy&ijB?P7b@iZm?@hln5