예제 #1
0
        /// <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 {  }
        }
예제 #2
0
        /// <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; }
        }
예제 #3
0
        /// <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());
            }
        }