WIP refractoring
This commit is contained in:
@ -1,58 +0,0 @@
|
||||
#ifndef CUSTOMER_H
|
||||
#define CUSTOMER_H
|
||||
#pragma once
|
||||
#include "../thirdparty/SQLiteCpp/include/SQLiteCpp/SQLiteCpp.h"
|
||||
#include "Park_time.h"
|
||||
#include <ctime>
|
||||
#include <random>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
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.
|
||||
enum class Verhicle_type {
|
||||
small = 1,
|
||||
medium = 2,
|
||||
large = 3,
|
||||
};
|
||||
|
||||
/*
|
||||
card code is een randomly generated string moeten zijn, die je bv. op een nfc card zou opslaan en zo zou
|
||||
authenticaten bij je parking spot. We kunnen dit ipv of samen met een password gebruiken.
|
||||
clock in en out creeert en compleet een park_time object. Voegt het toe aan een vector.
|
||||
|
||||
*/
|
||||
|
||||
class Customer {
|
||||
public:
|
||||
Customer(string name_, Verhicle_type verhicle_, SQLite::Database& db);
|
||||
Customer(int id_, string name_, string card_code_, Verhicle_type verhicle_,
|
||||
vector<Park_time> instances); // needed to construct from db
|
||||
// potentially: add a destructor that calls update_db() before being destroyed
|
||||
int id;
|
||||
string name;
|
||||
string card_code;
|
||||
|
||||
void clock_in(int s_id);
|
||||
void clock_out(int s_id);
|
||||
|
||||
void update_db(SQLite::Database& database);
|
||||
void delete_db(SQLite::Database& database);
|
||||
|
||||
// void gen_weekly(); TODO: this
|
||||
void gen_monthly();
|
||||
|
||||
private:
|
||||
Verhicle_type verhicle;
|
||||
vector<Park_time> park_instances;
|
||||
|
||||
string gen_cardcode();
|
||||
|
||||
void save_db(SQLite::Database& database);
|
||||
int auto_increment_db(SQLite::Database& database);
|
||||
};
|
||||
|
||||
#endif // CUSTOMER_H
|
Reference in New Issue
Block a user