//---------------------------------------------------------------------------

#ifndef CDSEventFH
#define CDSEventFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include "ITSLibF.h"
//---------------------------------------------------------------------------


class TItsEvent
{
public:
    TItsEvent();
    virtual ~TItsEvent();
    void Clear();
private:
    bool    FCompleted;
    int     FEditMode;
	int     FGridIndex;

public:
    String MEM_DEL;

    String ID;

    String BDS_MNGM_NMBR;   //	N	VARCHAR2(20)	N			블랙박스 관리 번호
    String OPNC_NMBR;       //	N	VARCHAR2(128)	Y			개통 번호
    String MDM_NMBR;        //	N	VARCHAR2(10)	Y			모뎀 번호
    String USIM_NMBR;       //	N	VARCHAR2(10)	Y			유심 번호
    String VHCL_NMBR;       //	N	VARCHAR2(15)	Y			차량 번호
    String OWNR_NM;         //	N	VARCHAR2(30)	Y			소유자 명
    String PRCT_NM;         //	N	VARCHAR2(30)	Y			제품 명

    String OCRR_DT;         //	N	VARCHAR2(14)	N			발생 일시
    //String BDS_MNGM_NMBR;   //	N	VARCHAR2(20)	N			블랙박스 관리 번호
    String TRMN_ID;         //	N	VARCHAR2(128)	Y			단말기 ID
    String EVT_TYPE;        //	N	VARCHAR2(7)	Y			이벤트 유형(1 : 주기보고, 2 : 사용자 전송, 3 : 긴급 전송)
    String X_CRDN;          //	N	NUMBER(11,8)	Y			x 좌표
    String Y_CRDN;          //	N	NUMBER(10,8)	Y			Y 좌표
    String GPS_DRCT;        //	N	NUMBER(3)	Y	0		GPS 방향(GPS의 방위각을 10으로 나눈 값)
    String SPED;            //	N	NUMBER(3)	Y	0		속도
    String VHRN_MODE;       //	N	VARCHAR2(7)	Y			운행 모드(1 : 주행모드, 2 : 주차모드)
    String TRMN_VER;        //	N	VARCHAR2(20)	Y			단말기 버전
    String IMGN_PATH;       //	N	VARCHAR2(200)	Y			영상 경로
    String LINK_ID;

public:
    __property bool   Completed = {read = FCompleted, write = FCompleted};
	__property int    EditMode  = {read = FEditMode,  write = FEditMode };
	__property int    GridIndex = {read = FGridIndex, write = FGridIndex };
};
//---------------------------------------------------------------------------

/*
* Event Manager
*/
class TItsEventManager
{
public:
    TItsEventManager();
    virtual ~TItsEventManager();

public:
    int                         FEventId;
    TItsMap<String, TItsEvent*> FLists;

public:
    bool LoadFromDb(TADOConnection *ADbConn=NULL);

    bool LoadBlackBoxEvent(TADOConnection *ADbConn=NULL);
};
//---------------------------------------------------------------------------
extern TItsEventManager *ItsEventManager;
//---------------------------------------------------------------------------

#endif
