#ifndef EMGAUWA_CORE_SCHEDULE_DBO_H
#define EMGAUWA_CORE_SCHEDULE_DBO_H

#include <string>
#include <sqlite3.h>
#include <json/value.h>
#include "period.h"
#include "period_list.h"

class schedule_dbo
{
public:

    char id[33];
    char name[128];
    period_list *periods;

    bool
    update();

    bool
    insert();

    bool
    remove();

    ~schedule_dbo();

    Json::Value
    to_json();

    static void
    free_list(schedule_dbo **schedules_list);

    static schedule_dbo*
    get_one_by(const char *key, const char *value);

    static schedule_dbo**
    get_all();
};


#endif //EMGAUWA_CORE_SCHEDULE_DBO_H