#include "headers/Park_spot.h"
#include "headers/data.h"
#include <iostream>
#include <thread> // to make pausing work, not sure if i need chrono, or this, or both
#include <vector>

/*
Code strucure like this:
class declarations zijn in /headers/class_naam.h, en definitions van de member
functs in /class_naam.cpp elke klas in zn eigen file omdat ik incomplete class
declarations wilt tegengaan, omdat ik ze niet goed begrijp. En header/source
split om multiple definition errors tegen te gaan.

Park_spot representeert een parkeermeter bij elke parkeer spot.
Een customer is een customer.
Park time is een object die reffereert naar parkspot en customer, basically een
record die zegt dat een customer voor x tijd geparkeert heeft bij spot x, enz.

De client clockt in en uit bij een spot.
 */

void Wait(int sec)
/*
a wait function where 1 sec represents 1 hour irl.
 */
{
    std::this_thread::sleep_for(seconds{sec});
}

using std::cout;

int main() {

    SQLite::Database db = data::start_db();

    // search example
    SQLite::Statement get_sagar(db, "select * from Customer where name like '%sagar%' ");
    while (get_sagar.executeStep()) {
        int id = get_sagar.getColumn(0);
        string name = get_sagar.getColumn(1);
        string code = get_sagar.getColumn(2);
        int car = get_sagar.getColumn(3);
        cout << id << "," << name << "," << code << "," << car << std::endl;
    }

    Customer sagar{15, "Ramsaransing", Verhicle_type::medium};
    sagar.update_db(db);
}
