50 lines
1.2 KiB
C++
50 lines
1.2 KiB
C++
#ifndef CUSTOMER_H
|
|
#define CUSTOMER_H
|
|
#pragma once
|
|
|
|
#include "Park_time.h"
|
|
#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,
|
|
};
|
|
|
|
/*
|
|
db repr of Customer
|
|
int id (not null, auto increment)
|
|
string name (not nulll)
|
|
string card_code (not null)
|
|
Dit moet nog verandert worden.
|
|
|
|
card code zou eigenlijk een randomly generated string moeten zijn, die je bv. op een ndf 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:
|
|
int id;
|
|
string name;
|
|
string card_code;
|
|
void clock_in(int s_id);
|
|
void clock_out(int s_id);
|
|
// void gen_weekly(); TODO: this
|
|
void gen_monthly();
|
|
Customer(int id_, string name_, Verhicle_type verhicle_);
|
|
|
|
private:
|
|
Verhicle_type verhicle;
|
|
vector<Park_time> park_instances;
|
|
string gen_cardcode();
|
|
};
|
|
|
|
#endif // CUSTOMER_H
|