/// <summary> /// 에러 발생 시 로그를 작성한다. (키오스크 오류 출력) /// </summary> /// <param name="_exception">오류 (Exception) 객체 </param> /// <param name="_enumScreenType">화면 타입</param> public static void Error(System.Exception _exception, BaseEnumClass.ScreenType _enumScreenType) { try { string strDirName = string.Format("{0}\\{1}", START_PATH, "Log\\Error_Kiosk"); // 로그 파일이 저장될 경로를 설정한다. //string strFileName = System.DateTime.Now.ToString().Substring(0, 10).Replace("-", string.Empty); // 현재일자를 파일명으로 설정한다. // 로그 폴더 / 파일 생성 로직을 처리한다. /*▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ * [0] 파일명 - 일자_순번.log * [1] 기존 로그파일에 덮어쓰기 여부 *▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩*/ //string[] arrFileInfo = CheckDirFile(strDirName, strFileName); string[] arrFileInfo = CheckDirFile(strDirName, g_strCurrentDate); // 오류 로그를 작성한다. CreateExceptionLog(_exception, arrFileInfo); } catch { } }
/// <summary> /// 데이터 테이블 형식으로 반환 (키오스크용) /// </summary> /// <param name="_strProcedureName">프로시저명</param> /// <param name="_dicInputParam">Input 파라메터</param> /// <param name="_arrOutputParam">Output 파라메터</param> /// <param name="_enumScreenType">화면 타입</param> /// <returns></returns> public DataTable GetSpDataTable(string _strProcedureName, Dictionary <string, object> _dicInputParam, string[] _arrOutputParam, BaseEnumClass.ScreenType _enumScreenType) { try { var dtRtnValue = new DataTable(); var strSelectedDatabaseKind = this.SelectedDatabaseKindEnum.ToString(); var strCenterCD = BaseClass.CenterCD; Utility.HelperClass.ProcedureLogInfo(strSelectedDatabaseKind, strCenterCD, _strProcedureName, _dicInputParam, _enumScreenType); switch (this.SelectedDatabaseKindEnum) { case BaseEnumClass.SelectedDatabaseKind.ORACLE: if (this.g_oracleLibrary == null) { this.g_oracleLibrary = new OracleLibrary(); } dtRtnValue = this.g_oracleLibrary.GetDataTable(this.ConnectionStringDecryptValue, _strProcedureName, _dicInputParam, _arrOutputParam); break; case BaseEnumClass.SelectedDatabaseKind.MS_SQL: if (this.g_msSqlLibrary == null) { this.g_msSqlLibrary = new MSSqlLibrary(); } dtRtnValue = this.g_msSqlLibrary.GetDataTable(this.ConnectionStringDecryptValue, _strProcedureName, _dicInputParam); break; case BaseEnumClass.SelectedDatabaseKind.MARIA_DB: if (this.g_mariaDBLibrary == null) { this.g_mariaDBLibrary = new MariaDBLibrary(); } dtRtnValue = this.g_mariaDBLibrary.GetDataTable(this.ConnectionStringDecryptValue, _strProcedureName, _dicInputParam); break; } return(dtRtnValue); } catch { throw; } }
/// <summary> /// 프로시저 로그 정보를 저장한다. /// </summary> /// <param name="_strProcedureName">프로시저명</param> /// <param name="_dicInputParam">Input 파라메터</param> public static void ProcedureLogInfo(string _strDatabaseKind, string _strCenterCD, string _strProcedureName, Dictionary <string, object> _dicInputParam, BaseEnumClass.ScreenType _enumScreenType) { StringBuilder sb = new StringBuilder(); sb.Append(Microsoft.VisualBasic.ControlChars.CrLf); sb.Append($"데이터베이스 : {_strDatabaseKind}"); sb.Append(Microsoft.VisualBasic.ControlChars.CrLf); sb.Append($"센터 : {_strCenterCD}"); sb.Append(Microsoft.VisualBasic.ControlChars.CrLf); sb.Append($"프로시저명 : {_strProcedureName}"); sb.Append(Microsoft.VisualBasic.ControlChars.CrLf); foreach (var item in _dicInputParam) { if (item.Value == null) { sb.Append($"Key : {item.Key.ToString()} value : {"null value"}"); } else { sb.Append($"Key : {item.Key.ToString()} value : {item.Value.ToString()}"); } sb.Append(Microsoft.VisualBasic.ControlChars.CrLf); } if (_enumScreenType == BaseEnumClass.ScreenType.KIOSK) { Logger.Logger.InputParamInfo_Kiosk(sb.ToString()); } else { Logger.Logger.InputParamInfo(sb.ToString()); } }