Exemple #1
0
        /// <summary>
        /// 로그를 파일에 씁니다.
        /// </summary>
        /// <param name="_path">파일경로를 셋팅합니다.(경로가 없을시 기본경로 셋팅)</param>
        /// <param name="_filename">파일명을 셋팅합니다.</param>
        /// <param name="_msg">적을 메세지</param>
        public static void writeLog(string _path, string _filename, string _msg)
        {
            string logpath = string.Empty;

            if (string.IsNullOrEmpty(_filename))
            {
                return;
            }

            if (string.IsNullOrEmpty(_path))
            {
                logpath = LogStr;
            }
            else
            {
                logpath = _path;
            }

            // 실제 로그 저장위치
            string writepath = logpath + @"\" + _filename;

            // 실제경로와 파일이 생성되었는지 체크합니다.
            FileCls.makeFd(logpath);
            //FileCls.makeFile(logpath, _filename);

            // 로그를 저장합니다.
            using (StreamWriter sw = new StreamWriter(writepath, true))
            {
                string _fullmsg = DateTime.Now + " | " + _msg;
                sw.WriteLine(_fullmsg);
                sw.Close();
            }
        }
Exemple #2
0
        /// <summary>
        /// XML경로에 있는 XML파일을 읽어 DataTable형태로 반환합니다.
        /// </summary>
        /// <param name="xmlpath">XML위치경로</param>
        /// <returns></returns>
        public static DataTable fnXMLFileToDt(string xmlpath)
        {
            DataTable _tmpDt = new DataTable();

            // 문서를 읽는다.
            if (FileCls.chkFile(xmlpath))
            {
                // XML을 읽는다.
                DataSet ds = new DataSet();
                ds.ReadXml(xmlpath);

                foreach (DataTable sdt in ds.Tables)
                {
                    if (_tmpDt.Rows.Count > 0)
                    {
                        _tmpDt.Merge(sdt);
                    }
                    else
                    {
                        _tmpDt = sdt;
                    }
                }
            }

            return(_tmpDt);
        }
Exemple #3
0
        /// <summary>
        /// Json String을 전달받아 XML파일로 저장합니다.
        /// </summary>
        /// <param name="_jsonstr">Json String</param>
        /// <param name="_rootName">Root명</param>
        /// <param name="_savepath">저장경로</param>
        /// <param name="_savefile">저장파일명</param>
        public static void fnJsonToXMLToFile(string _jsonstr, string _rootName, string _savepath, string _savefile)
        {
            // 저장/불러오기 경로 지정
            string savepath = _savepath + _savefile;

            // Json을 DataTable형태로 변환
            DataTable jsonDt = JsonConvert.DeserializeObject <DataTable>(_jsonstr);

            try
            {
                // 문서를 읽는다.
                if (FileCls.chkFile(savepath))
                {
                    // 기존파일 추가처리
                    fnUpdateXMLFile(jsonDt, savepath, savepath);
                }
                else
                {
                    // 신규이므로
                    fnMakeXMLFile(jsonDt, _rootName, savepath, _savefile);
                }
            }
            catch (Exception e)
            {
                // 문서가 위치에 없다.
                LogCls.writeLog("", "MineError.log", "fnJsonToXMLToFile Error" + e.Message);
            }
        }
Exemple #4
0
        /// <summary>
        /// DataTable을 전달받아 XML 형태로 파일로 저장합니다.
        /// </summary>
        /// <param name="_oneDt">데이터테이블</param>
        /// <param name="_rootName">Root명</param>
        /// <param name="_savepath">저장경로</param>
        /// <param name="_savefile">저장파일명</param>
        public static void fnDtToXMLToFile(DataTable _oneDt, string _rootName, string _savepath, string _savefile)
        {
            // 저장/불러오기 경로 지정
            string savepath = _savepath + _savefile;

            try
            {
                // 문서를 읽는다.
                if (FileCls.chkFile(savepath))
                {
                    // 수정처리
                    fnUpdateXMLFile(_oneDt, savepath, savepath);
                }
                else
                {
                    // 신규이므로
                    fnMakeXMLFile(_oneDt, _rootName, _savepath, _savefile);
                }
            }
            catch (Exception e)
            {
                // 문서가 위치에 없다.
                LogCls.writeLog("", "MineError.log", "fnDtToXMLToFile Error" + e.Message);
            }
        }
Exemple #5
0
        public static void fnDataTableToCsv(DataTable _sourceDt)
        {
            // csv경로 셋팅
            FileCls.makeFd(@"C:\CUBESTOCK");

            // 파일명 셋팅
            string csvfilepath = @"C:\CUBESTOCK\CUBE_" + StringCls.getToDate("") + ".csv";

            // 파일이 있으면 덮어씌운다.
            using (StreamWriter sw = new StreamWriter(csvfilepath, true, Encoding.UTF8))
            {
                // header 영역
                for (int i = 0; i < _sourceDt.Columns.Count; i++)
                {
                    sw.Write(_sourceDt.Columns[i]);
                    if (i < _sourceDt.Columns.Count - 1)
                    {
                        sw.Write(",");
                    }
                }

                // 개행
                sw.Write(sw.NewLine);

                foreach (DataRow dr in _sourceDt.Rows)
                {
                    for (int i = 0; i < _sourceDt.Columns.Count; i++)
                    {
                        if (!Convert.IsDBNull(dr[i]))
                        {
                            string valstr = dr[i].ToString();
                            if (valstr.Contains(","))
                            {
                                valstr = String.Format("\"{0}\"", valstr);
                                sw.Write(valstr);
                            }
                            else
                            {
                                sw.Write(dr[i].ToString());
                            }
                        }

                        if (i < _sourceDt.Columns.Count - 1)
                        {
                            sw.Write(",");
                        }
                    }

                    sw.Write(sw.NewLine);
                }

                sw.Close();
            }
        }
Exemple #6
0
        /// <summary>
        /// 신규 XML파일을 생성하여 저장한다.
        /// </summary>
        /// <param name="_oneDt">데이터</param>
        /// <param name="_rootName">루트명</param>
        /// <param name="_savePath">저장경로</param>
        public static void fnMakeXMLFile(DataTable _oneDt, string _rootName, string _savePath, string _saveFile)
        {
            // 해당경로가 있는지 체크하고 없으면 생성한다.
            FileCls.makeFd(_savePath);

            XmlDocument xd = new XmlDocument();

            // Version, Encoding정보 셋팅
            XmlDeclaration xmldec;

            xmldec = xd.CreateXmlDeclaration("1.0", "utf-8", null);

            // Root 엘리먼트 생성
            XmlElement root = xd.DocumentElement;

            xd.InsertBefore(xmldec, root);

            // 1st Node
            XmlElement xe = xd.CreateElement(_rootName);

            foreach (DataRow dr in _oneDt.Rows)
            {
                // 2nd Node (Row단위 생성)
                if (string.IsNullOrEmpty(_oneDt.TableName))
                {
                    _oneDt.TableName = "COMMON";
                }
                XmlElement xe_t = xd.CreateElement(_oneDt.TableName);
                foreach (DataColumn dc in _oneDt.Columns)
                {
                    // 3rd Node (Column단위 생성)
                    XmlElement xe3 = xd.CreateElement(dc.ColumnName);
                    xe3.InnerText = dr[dc].ToString();
                    xe_t.AppendChild(xe3);
                }

                xe.AppendChild(xe_t);
            }

            xd.AppendChild(xe);
            xd.Save(_savePath + _saveFile);
        }