public Constants() { PATH_CONFIG = PATH_ROOT + PATH_CONFIG; PATH_DB = PATH_ROOT + PATH_DB; PATH_CERT = PATH_ROOT + PATH_CERT; ENCRYPT_CERT_FILE = PATH_CERT + ENCRYPT_CERT_FILE; PATH_CONFIG_FILE = PATH_CONFIG + PATH_CONFIG_FILE; PATH_DB_FILE = PATH_DB + PATH_DB_FILE; CONF_MANAGER = GTF_ConfigManager.Instance(null); CONF_MANAGER.loadAppConfig(PATH_CONFIG_FILE); LDB_MANAGER = GTF_LocalDBManager.Instance(); LDB_MANAGER.dbOpen(PATH_DB_FILE); PASSPORT_TYPE = "".Equals(LDB_MANAGER.selectConfigData("PASSPORT_TYPE")) ? -1 : Int32.Parse(LDB_MANAGER.selectConfigData("PASSPORT_TYPE")); PRINTER_TYPE = LDB_MANAGER.selectConfigData("PRINTER_TYPE"); PRINTER_OPOS_TYPE = LDB_MANAGER.selectConfigData("PRINTER_OPOS_TYPE"); PRINTER_SELECT = LDB_MANAGER.selectConfigData("PRINTER_SELECT"); SLIP_TYPE = "".Equals(LDB_MANAGER.selectConfigData("SLIP_TYPE")) ? -1 : Int32.Parse(LDB_MANAGER.selectConfigData("SLIP_TYPE")); SYSTEM_LANGUAGE = CONF_MANAGER.getAppValue("DEFAULT_LANG"); //터미널 기본언어 세팅 IS_DEV = "Y".Equals(CONF_MANAGER.getAppValue("DEV")); //개발여부 SERVER_URL = CONF_MANAGER.getAppValue("SERVER_URL"); APPEND_KEY = CONF_MANAGER.getAppValue("APPEND_KEY"); SCAN_TIMEOUT = int.Parse(CONF_MANAGER.getAppValue("SCAN_TIMEOUT")); SERVER_TIMEOUT = int.Parse(CONF_MANAGER.getAppValue("SERVER_TIMEOUT")); OUTLET_TYPE = CONF_MANAGER.getAppValue("OUTLET_TYPE"); //국가별 화면 디스크립트 load CONF_MANAGER.loadCustomConfig("ScreenText", PATH_CONFIG + "ScreenText.xml"); //국가별Message load CONF_MANAGER.loadCustomConfig("Message", PATH_CONFIG + "Message.xml"); //ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //LOGGER 는 단말기 프로잭트 내에선 Constants 클래스 호출해서 사용 //타 패키지에서는 생성자에서 Logger 를 세팅. log4net.Config.BasicConfigurator.Configure(); XmlConfigurator.Configure(new System.IO.FileInfo(PATH_CONFIG + "\\" + CONF_MANAGER.getAppValue("LOG4NET_CONFIG"))); // <- Application base 디렉토리의 log4net.xml을 읽어들일 때. LOGGER_DOC = log4net.LogManager.GetLogger("DOC"); LOGGER_SCREEN = log4net.LogManager.GetLogger("SCREEN"); LOGGER_MAIN = log4net.LogManager.GetLogger("MAIN"); ILog dd = log4net.LogManager.GetLogger("ConsoleAppender"); log4net.Config.BasicConfigurator.Configure(); }
public static JArray ARR_RATE_INFO = null; //환급율 public Constants(Control cParent) { try { ONLINE_STATUS = false; LOGIN_YN = false; CODE_DOWNLOAD = false; string appPath = System.IO.Path.GetDirectoryName(Application.ExecutablePath); PATH_ROOT = appPath + PATH_ROOT; PATH_CONFIG = PATH_ROOT + PATH_CONFIG; PATH_DB = PATH_ROOT + PATH_DB; ////로컬 DB 폴더 if (!System.IO.Directory.Exists(PATH_DB)) { System.IO.Directory.CreateDirectory(PATH_DB); } //TEMP 폴더 PATH_TEMP = PATH_ROOT + PATH_TEMP; if (!System.IO.Directory.Exists(PATH_TEMP)) { System.IO.Directory.CreateDirectory(PATH_TEMP); } PATH_CONFIG_FILE = PATH_CONFIG + PATH_CONFIG_FILE; //PATH_CONFIG_FILE = "C:/Users/GTF_HCH/workspace/GTF_GRIM_HOTEL/GTF_GRIM_HOTEL/Config/Config.xml"; PATH_DB_FILE = PATH_DB + PATH_DB_FILE; LOGGER_DOC = log4net.LogManager.GetLogger("DOC"); LOGGER_SCREEN = log4net.LogManager.GetLogger("SCREEN"); LOGGER_MAIN = log4net.LogManager.GetLogger("MAIN"); log4net.Config.BasicConfigurator.Configure(); CONF_MANAGER = GTF_ConfigManager.Instance(LOGGER_MAIN); if (!CONF_MANAGER.loadAppConfig(PATH_CONFIG_FILE)) { MessageBox.Show(cParent, "환결설정 파일을 읽을 수 없습니다.", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.ExitThread(); Environment.Exit(0); return; } LDB_MANAGER = GTF_LocalDBManager.Instance(LOGGER_MAIN); if (!LDB_MANAGER.dbOpen(PATH_DB_FILE)) { MessageBox.Show(cParent, "로컬 DB 파일을 읽을 수 없습니다.", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.ExitThread(); Environment.Exit(0); return; } //환경설정 읽음 TML_ID = LDB_MANAGER.selectConfigData("TML_ID"); PASSPORT_TYPE = string.Empty.Equals(LDB_MANAGER.selectConfigData("PASSPORT_TYPE")) ? -1 : Int32.Parse(LDB_MANAGER.selectConfigData("PASSPORT_TYPE")); PRINTER_SELECT_TYPE = string.Empty.Equals(LDB_MANAGER.selectConfigData("PRINTER_SELECT_TYPE")) ? -1 : Int32.Parse(LDB_MANAGER.selectConfigData("PRINTER_SELECT_TYPE")); SIGN_PAD_TYPE = string.Empty.Equals(LDB_MANAGER.selectConfigData("SIGN_PAD_TYPE")) ? -1 : Int32.Parse(LDB_MANAGER.selectConfigData("SIGN_PAD_TYPE")); SHOP_NAME = LDB_MANAGER.selectConfigData("SHOP_NAME"); STANDARD_SELL_PRICE = string.Empty.Equals(LDB_MANAGER.selectConfigData("STANDARD_SELL_PRICE")) ? 0 : Int32.Parse(LDB_MANAGER.selectConfigData("STANDARD_SELL_PRICE")); //2019.10.31 추가 SUITE_SELL_PRICE = string.Empty.Equals(LDB_MANAGER.selectConfigData("SUITE_SELL_PRICE")) ? 0 : Int32.Parse(LDB_MANAGER.selectConfigData("SUITE_SELL_PRICE")); //2019.10.31 추가 PRINTER_TYPE = LDB_MANAGER.selectConfigData("PRINTER_TYPE"); PRINTER_OPOS_TYPE = LDB_MANAGER.selectConfigData("PRINTER_OPOS_TYPE"); SLIP_TYPE = LDB_MANAGER.selectConfigData("SLIP_TYPE"); //SYSTEM_LANGUAGE = CONF_MANAGER.getAppValue("DEFAULT_LANG"); //터미널 기본언어 세팅 IS_DEV = "Y".Equals(CONF_MANAGER.getAppValue("DEV")); //개발여부 SERVER_URL = CONF_MANAGER.getAppValue("SERVER_URL"); SERVER_IP = CONF_MANAGER.getAppValue("SERVER_IP"); SERVER_PORT = CONF_MANAGER.getAppValue("SERVER_PORT"); //국가별 화면 디스크립트 load CONF_MANAGER.loadCustomConfig("ScreenText", PATH_CONFIG + "ScreenText.xml"); //국가별Message load CONF_MANAGER.loadCustomConfig("Message", PATH_CONFIG + "Message.xml"); filePath_QR = Directory.GetCurrentDirectory() + "/../Image/gtf_qr.bmp"; filePath_LOGO = Directory.GetCurrentDirectory() + "/../Image/gtf_logo.bmp"; filePath_ROUND_LOGO = Directory.GetCurrentDirectory() + "/../Image/gtf_logo_round.bmp"; filePath_ROUND_LOGO_NORMAL = Directory.GetCurrentDirectory() + "/../Image/gtf_logo_round_normal.bmp"; filePath_Combine = Directory.GetCurrentDirectory() + "/../Image/combine_QR.jpg"; filePath_Sign = Directory.GetCurrentDirectory() + "/../Image/signprint.jpg"; Boolean bInit = false; //환급율 조회 try { Transaction tran = new Transaction(); JObject obj = new JObject(); obj.Add("tax_type_code", "1"); JArray rateArr = tran.sendServer_arr(obj.ToString(), tran.url_RefundRate, 60, false); if (rateArr != null && rateArr.Count > 0) { ARR_RATE_INFO = rateArr; bInit = true; } else { bInit = false; } } catch (Exception ee) { bInit = false; } finally { if (!bInit) { MessageBox.Show(cParent, "\n초기 기동에 실패하였습니다. \n계속해서 동일한 현상이 발생하면 네트워크 상태를 확인해보시기 바랍니다.", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.ExitThread(); Environment.Exit(0); } } } catch (Exception ex) { MessageBox.Show(cParent, "\n초기 기동에 실패하였습니다. \n계속해서 동일한 현상이 발생하면 네트워크 상태를 확인해보시기 바랍니다.", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); System.Diagnostics.Debug.WriteLine("에러 : " + ex); Application.ExitThread(); Environment.Exit(0); return; } }
public Constants(Control cParent) { try { CLOSING_YN = false; LOGIN_YN = false; CODE_DOWNLOAD = false; string appPath = System.IO.Path.GetDirectoryName(Application.ExecutablePath); PATH_ROOT = appPath + PATH_ROOT; PATH_CONFIG = PATH_ROOT + PATH_CONFIG; PATH_DB = PATH_ROOT + PATH_DB; ////로컬 DB 폴더 if (!System.IO.Directory.Exists(PATH_DB)) { System.IO.Directory.CreateDirectory(PATH_DB); } //TEMP 폴더 PATH_TEMP = PATH_ROOT + PATH_TEMP; if (!System.IO.Directory.Exists(PATH_TEMP)) { System.IO.Directory.CreateDirectory(PATH_TEMP); } PATH_CONFIG_FILE = PATH_CONFIG + PATH_CONFIG_FILE; PATH_DB_FILE = PATH_DB + PATH_DB_FILE; PATH_SQLITE_FILE = PATH_DB + PATH_SQLITE_FILE; LOGGER_DOC = log4net.LogManager.GetLogger("DOC"); LOGGER_SCREEN = log4net.LogManager.GetLogger("SCREEN"); LOGGER_MAIN = log4net.LogManager.GetLogger("MAIN"); log4net.Config.BasicConfigurator.Configure(); CONF_MANAGER = GTF_ConfigManager.Instance(LOGGER_MAIN); Boolean AccessExists = true; string Migration_Flag = string.Empty; if (!CONF_MANAGER.loadAppConfig(PATH_CONFIG_FILE)) { MessageBox.Show(cParent, "初期化エラーです。プログラムを再起動してください。", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.ExitThread(); Environment.Exit(0); return; } LDB_MANAGER = GTF_LocalDBManager.Instance(LOGGER_MAIN); if (!LDB_MANAGER.dbOpen(PATH_DB_FILE)) { AccessExists = false; //MessageBox.Show(cParent, "初期化エラーです。プログラムを再起動してください。", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); //Application.ExitThread(); //Environment.Exit(0); //return; } //1.SQLite DB 파일이 존재하는지 체크한다. SQLITE_MANAGER = GTF_SQLiteDBManager.Instance(LOGGER_MAIN); //if (SQLITE_MANAGER.SQLite_Exists(PATH_SQLITE_FILE)) if (!SQLITE_MANAGER.dbOpen(PATH_SQLITE_FILE)) { MessageBox.Show(cParent, "SQLite DBアクセスに失敗しました!", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); } //2. Migration Check 테이블의 플래그를 체크한다. if (!AccessExists) { if (!SQLITE_MANAGER.updateMigration_Flag("Y")) { MessageBox.Show(cParent, "Migrationコードの更新に失敗しました!ITチームにお問い合わせください!", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); } Migration_Flag = "Y"; } else { Migration_Flag = SQLITE_MANAGER.getMigration_Flag(); } if (Migration_Flag.Equals("N")) //Migration 작업을 시작한다. { //JArray에 TML_CONFIG 데이터를 가지고 와서 담아온다. string tablename = string.Empty; string str_FailedTalbeName = string.Empty; for (int i = 0; i < 9; i++) { switch (i) { case 0: tablename = "TML_CONFIG"; break; case 1: tablename = "ID_CREATION_RULE"; break; case 2: tablename = "BIN"; break; //case 3: tablename = "CODE"; break; //case 4: tablename = "ITEM"; break; //case 5: tablename = "MERCHANT"; break; case 3: tablename = "REFUNDSLIP"; break; case 4: tablename = "SALES_GOODS"; break; case 5: tablename = "SLIP_PRINT_DOCS"; break; case 6: tablename = "TAXOFFICE"; break; case 7: tablename = "USERINFO"; break; case 8: tablename = "ALIPAY_CONFIRM"; break; } if (tablename.Length > 1) { JArray arrTemp = LDB_MANAGER.get_data_AccessDB(tablename); if (!(SQLITE_MANAGER.data_Migration(arrTemp, tablename))) { str_FailedTalbeName = tablename; } //if (!(SQLITE_MANAGER.data_Migration(arrTemp, tablename))) MessageBox.Show(cParent, tablename + " 복사에 성공했습니다.", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); //MessageBox.Show(cParent, tablename + " コピーに失敗しました!", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (!SQLITE_MANAGER.updateMigration_Flag("Y")) { MessageBox.Show(cParent, "Migrationに失敗しました!ITチームにお問い合わせください!", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show(cParent, "Migration 成功!", "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } TML_ID = SQLITE_MANAGER.selectConfigData("TML_ID"); PASSPORT_TYPE = string.Empty.Equals(SQLITE_MANAGER.selectConfigData("PASSPORT_TYPE")) ? -1 : Int32.Parse(SQLITE_MANAGER.selectConfigData("PASSPORT_TYPE")); PRINTER_TYPE = SQLITE_MANAGER.selectConfigData("PRINTER_TYPE"); PRINTER_OPOS_TYPE = SQLITE_MANAGER.selectConfigData("PRINTER_OPOS_TYPE"); SLIP_TYPE = SQLITE_MANAGER.selectConfigData("SLIP_TYPE"); SYSTEM_LANGUAGE = CONF_MANAGER.getAppValue("DEFAULT_LANG"); //터미널 기본언어 세팅 IS_DEV = "Y".Equals(CONF_MANAGER.getAppValue("DEV")); //개발여부 SERVER_URL = CONF_MANAGER.getAppValue("SERVER_URL"); SERVER_IP = CONF_MANAGER.getAppValue("SERVER_IP"); SERVER_PORT = CONF_MANAGER.getAppValue("SERVER_PORT"); SIGNPAD_USE = SQLITE_MANAGER.selectConfigData("SIGNPAD_USE"); PRINT_TYPE = SQLITE_MANAGER.selectConfigData("PRINT_TYPE"); TAX_TYPE = SQLITE_MANAGER.selectConfigData("TAX_TYPE"); if (!string.Empty.Equals(SQLITE_MANAGER.selectConfigData("FEE_8_RATE"))) { FEE_8_RATE = SQLITE_MANAGER.selectConfigData("FEE_8_RATE"); } else { FEE_8_RATE = "0.1875"; } if (!string.Empty.Equals(SQLITE_MANAGER.selectConfigData("FEE_10_RATE"))) { FEE_10_RATE = SQLITE_MANAGER.selectConfigData("FEE_10_RATE"); } else { FEE_10_RATE = "0.15"; } if (!string.Empty.Equals(SQLITE_MANAGER.selectConfigData("PRINT_SETTING"))) { PRINT_SETTING = SQLITE_MANAGER.selectConfigData("PRINT_SETTING"); } else { PRINT_SETTING = "0"; // PRINT_ALL :: 0 EXCEPT_DIGITIZE :: 1 } //국가별 화면 디스크립트 load CONF_MANAGER.loadCustomConfig("ScreenText", PATH_CONFIG + "ScreenText.xml"); //국가별Message load CONF_MANAGER.loadCustomConfig("Message", PATH_CONFIG + "Message.xml"); Boolean taxCalTypeColumn = Constants.SQLITE_MANAGER.ExitsTableColumn("SALES_GOODS", "TAX_CAL_TYPE"); if (!taxCalTypeColumn) { Constants.SQLITE_MANAGER.alterTable("SALES_GOODS", "TAX_CAL_TYPE"); } }catch (Exception ex) { MessageBox.Show(cParent, "初期化エラーです。プログラムを再起動してください。\n" + ex.Message, "Config", MessageBoxButtons.OK, MessageBoxIcon.Warning); Application.ExitThread(); Environment.Exit(0); return; } }