diff --git a/DDUtilityApp/App.Release.config b/DDUtilityApp/App.Release.config
new file mode 100644
index 0000000..0df1832
--- /dev/null
+++ b/DDUtilityApp/App.Release.config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/App.config b/DDUtilityApp/App.config
new file mode 100644
index 0000000..013eddd
--- /dev/null
+++ b/DDUtilityApp/App.config
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DDUtilityApp/ClassDiagram1.cd b/DDUtilityApp/ClassDiagram1.cd
new file mode 100644
index 0000000..7b89419
--- /dev/null
+++ b/DDUtilityApp/ClassDiagram1.cd
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/DDEESUtility.pptx b/DDUtilityApp/DDEESUtility.pptx
new file mode 100644
index 0000000..1ff59ba
Binary files /dev/null and b/DDUtilityApp/DDEESUtility.pptx differ
diff --git a/DDUtilityApp/DDUtilityApp.csproj b/DDUtilityApp/DDUtilityApp.csproj
new file mode 100644
index 0000000..820e8dd
--- /dev/null
+++ b/DDUtilityApp/DDUtilityApp.csproj
@@ -0,0 +1,609 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {B8459F14-92D3-482C-A932-65E76E6D11F6}
+ WinExe
+ DDUtilityApp
+ DDUtilityApp
+ v4.7.2
+ 512
+ true
+ true
+ true
+
+
+
+ ftp://192.168.100.11/eqview/Provider/
+ true
+ Web
+ true
+ Foreground
+ 7
+ Days
+ false
+ true
+ true
+ http://pms.e1soft.co.kr:8090/Deploy/eqview/Provider/
+ EverOne EES Utility
+ EverOne
+ Utility %28에버원 운영팀%29
+ 1.0.0.2
+ true
+ index.htm
+ true
+ 0
+ 2025.01.07.0
+ false
+ true
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ TRACE;DEBUG
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ true
+
+
+ IMAGE\CampingFire.ico
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ 7.3
+ prompt
+ true
+
+
+ bin\x86\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ 7.3
+ prompt
+ true
+
+
+ 364E4871F73BB57064DCBA003F81DDF47397861F
+
+
+ DDUtilityApp_TemporaryKey.pfx
+
+
+ true
+
+
+ false
+
+
+ true
+ bin\ARM64\Debug\
+ TRACE;DEBUG
+ full
+ ARM64
+ 7.3
+ prompt
+ true
+
+
+ true
+ bin\ARM64\Release\
+ TRACE
+ true
+ pdbonly
+ ARM64
+ 7.3
+ prompt
+ true
+
+
+ true
+ bin\x64\Debug\
+ TRACE;DEBUG
+ full
+ x64
+ 7.3
+ prompt
+ true
+
+
+ true
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ 7.3
+ prompt
+ true
+
+
+
+ ..\packages\AWSSDK.Core.3.7.100.14\lib\net45\AWSSDK.Core.dll
+
+
+ ..\packages\AWSSDK.SecurityToken.3.7.100.14\lib\net45\AWSSDK.SecurityToken.dll
+
+
+ ..\packages\DnsClient.1.6.1\lib\net471\DnsClient.dll
+
+
+ ..\Library\EIS.Framework.dll
+
+
+ False
+ ..\Library\JWH.SECS.dll
+
+
+ ..\packages\log4net.2.0.12\lib\net45\log4net.dll
+
+
+ ..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll
+
+
+ ..\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll
+
+
+ ..\packages\MongoDB.Bson.2.24.0\lib\net472\MongoDB.Bson.dll
+
+
+ ..\packages\MongoDB.Driver.2.24.0\lib\net472\MongoDB.Driver.dll
+
+
+ ..\packages\MongoDB.Driver.Core.2.24.0\lib\net472\MongoDB.Driver.Core.dll
+
+
+ ..\packages\MongoDB.Libmongocrypt.1.8.2\lib\netstandard2.0\MongoDB.Libmongocrypt.dll
+
+
+ ..\packages\SharpCompress.0.30.1\lib\net461\SharpCompress.dll
+
+
+ ..\packages\Snappier.1.0.0\lib\netstandard2.0\Snappier.dll
+
+
+
+ ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+
+
+
+ ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+
+ ..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll
+ True
+ True
+
+
+
+ ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
+
+ ..\packages\System.Security.AccessControl.5.0.0\lib\net461\System.Security.AccessControl.dll
+
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll
+
+
+ ..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll
+
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\Telerik.WinControls.dll
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\Telerik.WinControls.ChartView.dll
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\Telerik.WinControls.GridView.dll
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\Telerik.WinControls.UI.dll
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\TelerikCommon.dll
+
+
+ False
+ ..\Library\TelerikWinForms-R1-2019_Bin40\TelerikExport.dll
+
+
+ False
+ ..\Library\TIBCO 8.4.2\TIBCO.Rendezvous.dll
+
+
+ ..\packages\ZstdSharp.Port.0.7.3\lib\net461\ZstdSharp.dll
+
+
+
+
+ Form
+
+
+ FrmTIbcoConfig.cs
+
+
+
+
+
+
+ Form
+
+
+ FrmHsmsViewer.cs
+
+
+ Form
+
+
+ FrmMessageReplyTime1.cs
+
+
+ Form
+
+
+ FrmMessageReplyTime.cs
+
+
+ Form
+
+
+ FrmSecsDefine.cs
+
+
+ Form
+
+
+ FrmWorkFlow.cs
+
+
+
+
+
+
+ Form
+
+
+ FrmFindDialog.cs
+
+
+ Form
+
+
+ FrmLogParser03.cs
+
+
+ Form
+
+
+ FrmLogParser02.cs
+
+
+ Form
+
+
+ FrmLogParser01.cs
+
+
+ Form
+
+
+ FrmLogParser.cs
+
+
+ Form
+
+
+ FrmMain.cs
+
+
+
+
+
+
+ Form
+
+
+ FrmEqSelector.cs
+
+
+
+ Form
+
+
+ FrmFDCMongo.cs
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ FrmSpecDocument.cs
+
+
+
+
+ Form
+
+
+ FrmTest01.cs
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ FrmSimulator01.cs
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ FrmWorkflow.cs
+
+
+
+
+
+
+
+ FrmTIbcoConfig.cs
+
+
+ FrmFindDialog.cs
+
+
+ FrmHsmsViewer.cs
+
+
+ FrmLogParser03.cs
+
+
+ FrmLogParser02.cs
+
+
+ FrmLogParser01.cs
+
+
+ FrmLogParser.cs
+
+
+ FrmMain.cs
+
+
+ FrmEqSelector.cs
+
+
+ FrmMessageReplyTime1.cs
+
+
+ FrmMessageReplyTime.cs
+
+
+ FrmSecsDefine.cs
+
+
+ FrmWorkFlow.cs
+
+
+ FrmFDCMongo.cs
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ FrmSpecDocument.cs
+
+
+ FrmTest01.cs
+
+
+ FrmSimulator01.cs
+
+
+ FrmWorkflow.cs
+
+
+
+
+
+
+
+ Always
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+ {004bc1f3-b24a-402d-92ed-c5fc501e915a}
+ JWH
+
+
+
+
+
+
+ PreserveNewest
+
+
+ Designer
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.6.1%28x86 및 x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+ False
+
+
+
+
+ Include
+ True
+ File
+
+
+ False
+
+
+
+
+ Include
+ True
+ File
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.
+
+
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/ETC/FrmTIbcoConfig.Designer.cs b/DDUtilityApp/ETC/FrmTIbcoConfig.Designer.cs
new file mode 100644
index 0000000..f08747e
--- /dev/null
+++ b/DDUtilityApp/ETC/FrmTIbcoConfig.Designer.cs
@@ -0,0 +1,238 @@
+namespace DDUtilityApp.ETC
+{
+ partial class FrmTIbcoConfig
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.tboxFilename = new System.Windows.Forms.TextBox();
+ this.btnSave = new System.Windows.Forms.Button();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.panel3 = new System.Windows.Forms.Panel();
+ this.panel4 = new System.Windows.Forms.Panel();
+ this.textBox2 = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.Panel2.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ this.panel2.SuspendLayout();
+ this.panel3.SuspendLayout();
+ this.panel4.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.splitContainer1);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel1.Location = new System.Drawing.Point(0, 0);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(800, 450);
+ this.panel1.TabIndex = 0;
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.tboxFilename);
+ this.splitContainer1.Panel1.Controls.Add(this.btnSave);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
+ this.splitContainer1.Size = new System.Drawing.Size(800, 450);
+ this.splitContainer1.SplitterDistance = 51;
+ this.splitContainer1.TabIndex = 0;
+ //
+ // tboxFilename
+ //
+ this.tboxFilename.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tboxFilename.Location = new System.Drawing.Point(129, 14);
+ this.tboxFilename.Name = "tboxFilename";
+ this.tboxFilename.Size = new System.Drawing.Size(659, 21);
+ this.tboxFilename.TabIndex = 1;
+ //
+ // btnSave
+ //
+ this.btnSave.Location = new System.Drawing.Point(12, 12);
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Size = new System.Drawing.Size(111, 23);
+ this.btnSave.TabIndex = 0;
+ this.btnSave.Text = "Save";
+ this.btnSave.UseVisualStyleBackColor = true;
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.Controls.Add(this.panel2);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(3);
+ //
+ // splitContainer2.Panel2
+ //
+ this.splitContainer2.Panel2.Controls.Add(this.panel3);
+ this.splitContainer2.Size = new System.Drawing.Size(800, 395);
+ this.splitContainer2.SplitterDistance = 411;
+ this.splitContainer2.TabIndex = 0;
+ //
+ // panel2
+ //
+ this.panel2.Controls.Add(this.textBox1);
+ this.panel2.Controls.Add(this.label1);
+ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel2.Location = new System.Drawing.Point(3, 3);
+ this.panel2.Name = "panel2";
+ this.panel2.Padding = new System.Windows.Forms.Padding(1);
+ this.panel2.Size = new System.Drawing.Size(405, 389);
+ this.panel2.TabIndex = 1;
+ //
+ // textBox1
+ //
+ this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.textBox1.Location = new System.Drawing.Point(1, 27);
+ this.textBox1.Multiline = true;
+ this.textBox1.Name = "textBox1";
+ this.textBox1.Size = new System.Drawing.Size(403, 361);
+ this.textBox1.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.Dock = System.Windows.Forms.DockStyle.Top;
+ this.label1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+ this.label1.Location = new System.Drawing.Point(1, 1);
+ this.label1.Name = "label1";
+ this.label1.Padding = new System.Windows.Forms.Padding(2);
+ this.label1.Size = new System.Drawing.Size(403, 26);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "Original";
+ this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // panel3
+ //
+ this.panel3.Controls.Add(this.panel4);
+ this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel3.Location = new System.Drawing.Point(0, 0);
+ this.panel3.Name = "panel3";
+ this.panel3.Padding = new System.Windows.Forms.Padding(3);
+ this.panel3.Size = new System.Drawing.Size(385, 395);
+ this.panel3.TabIndex = 2;
+ //
+ // panel4
+ //
+ this.panel4.Controls.Add(this.textBox2);
+ this.panel4.Controls.Add(this.label2);
+ this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel4.Location = new System.Drawing.Point(3, 3);
+ this.panel4.Name = "panel4";
+ this.panel4.Padding = new System.Windows.Forms.Padding(1);
+ this.panel4.Size = new System.Drawing.Size(379, 389);
+ this.panel4.TabIndex = 2;
+ //
+ // textBox2
+ //
+ this.textBox2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.textBox2.Location = new System.Drawing.Point(1, 27);
+ this.textBox2.Multiline = true;
+ this.textBox2.Name = "textBox2";
+ this.textBox2.Size = new System.Drawing.Size(377, 361);
+ this.textBox2.TabIndex = 1;
+ //
+ // label2
+ //
+ this.label2.Dock = System.Windows.Forms.DockStyle.Top;
+ this.label2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+ this.label2.Location = new System.Drawing.Point(1, 1);
+ this.label2.Name = "label2";
+ this.label2.Padding = new System.Windows.Forms.Padding(2);
+ this.label2.Size = new System.Drawing.Size(377, 26);
+ this.label2.TabIndex = 0;
+ this.label2.Text = "Sort";
+ this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // FrmTIbcoConfig
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(800, 450);
+ this.Controls.Add(this.panel1);
+ this.Name = "FrmTIbcoConfig";
+ this.Text = "FrmTIbcoConfig";
+ this.panel1.ResumeLayout(false);
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel1.PerformLayout();
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.splitContainer2.Panel1.ResumeLayout(false);
+ this.splitContainer2.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+ this.splitContainer2.ResumeLayout(false);
+ this.panel2.ResumeLayout(false);
+ this.panel2.PerformLayout();
+ this.panel3.ResumeLayout(false);
+ this.panel4.ResumeLayout(false);
+ this.panel4.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.SplitContainer splitContainer2;
+ private System.Windows.Forms.Panel panel3;
+ private System.Windows.Forms.Button btnSave;
+ private System.Windows.Forms.TextBox tboxFilename;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.TextBox textBox1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Panel panel4;
+ private System.Windows.Forms.TextBox textBox2;
+ private System.Windows.Forms.Label label2;
+ }
+}
\ No newline at end of file
diff --git a/DDUtilityApp/ETC/FrmTIbcoConfig.cs b/DDUtilityApp/ETC/FrmTIbcoConfig.cs
new file mode 100644
index 0000000..0ff6a56
--- /dev/null
+++ b/DDUtilityApp/ETC/FrmTIbcoConfig.cs
@@ -0,0 +1,164 @@
+using JWH;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Xml;
+using System.Xml.Linq;
+
+namespace DDUtilityApp.ETC
+{
+
+ public partial class FrmTIbcoConfig : Form
+ {
+
+ public FrmTIbcoConfig()
+ {
+ InitializeComponent();
+ this.SetLayout();
+ this.SetEventHandler();
+ }
+
+ private void SetLayout()
+ {
+ this.textBox1.Font = new Font("돋움체", 9.0F);
+ this.textBox1.ScrollBars = ScrollBars.Both;
+ this.textBox2.Font = new Font("돋움체", 9.0F);
+ this.textBox2.ScrollBars = ScrollBars.Both;
+ }
+
+ private void SetEventHandler()
+ {
+ // DragDrop
+ this.textBox1.AllowDrop = true;
+ this.textBox1.DragDrop += Control_DragDrop;
+ this.textBox1.DragEnter += Control_DragEnter;
+ this.textBox2.AllowDrop = true;
+ this.textBox2.DragDrop += Control_DragDrop;
+ this.textBox2.DragEnter += Control_DragEnter;
+
+ this.btnSave.Click += Button1_Click;
+ }
+
+ private void Control_DragDrop(object sender, DragEventArgs e)
+ {
+ XLogger.Instance.Info(e);
+
+ string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+ if (files == null || files.Length < 1) return;
+
+ string fileName = files[0];
+ this.SetText(this.textBox1, fileName);
+ this.SetTextSort(this.textBox2, fileName);
+ }
+
+ private void Control_DragEnter(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
+ }
+
+ private void Button1_Click(object sender, EventArgs e)
+ {
+ this.SaveDocument(this.textBox2, this.tboxFilename.Text);
+ }
+
+ private void SetText(object sender, string fileName)
+ {
+ TextBox textBox = sender as TextBox;
+ if (textBox == null) return;
+ textBox.Clear();
+ this.tboxFilename.Text = fileName;
+
+ XmlDocument document = new XmlDocument();
+ document.Load(fileName);
+
+ using (MemoryStream stream = new MemoryStream())
+ {
+ XmlWriterSettings settings = new XmlWriterSettings
+ {
+ Encoding = new UTF8Encoding(false),
+ Indent = true,
+ IndentChars = " ",
+ NewLineChars = Environment.NewLine,
+ NewLineHandling = NewLineHandling.Replace
+ };
+ using (XmlWriter writer = XmlWriter.Create(stream, settings))
+ {
+ document.Save(writer);
+ }
+ textBox.Text = Encoding.UTF8.GetString(stream.ToArray());
+ }
+ }
+
+ private void SetTextSort(object sender, string fileName)
+ {
+ TextBox textBox = sender as TextBox;
+ if (textBox == null) return;
+ this.tboxFilename.Text = fileName;
+
+ XmlDocument document = new XmlDocument();
+ document.Load(fileName);
+
+ XmlNodeList messageNameList = document.GetElementsByTagName("messageNameList");
+ List list = new List();
+ foreach (XmlNode nodeList in messageNameList)
+ {
+ foreach (XmlNode node in nodeList.ChildNodes)
+ list.Add(node);
+
+ nodeList.RemoveAll();
+ foreach (XmlNode node in list.OrderBy(e => e.Name))
+ nodeList.AppendChild(node);
+ }
+
+ using (MemoryStream stream = new MemoryStream())
+ {
+ XmlWriterSettings settings = new XmlWriterSettings
+ {
+ Encoding = new UTF8Encoding(false),
+ Indent = true,
+ IndentChars = " ",
+ NewLineChars = Environment.NewLine,
+ NewLineHandling = NewLineHandling.Replace
+ };
+ using (XmlWriter writer = XmlWriter.Create(stream, settings))
+ {
+ document.Save(writer);
+ }
+ textBox.Text = Encoding.UTF8.GetString(stream.ToArray());
+ }
+ }
+
+ private void SetText1(object sender, string fileName)
+ {
+ TextBox textBox = sender as TextBox;
+ if (textBox == null) return;
+ this.tboxFilename.Text = fileName;
+
+ XmlDocument document = new XmlDocument();
+ document.Load(fileName);
+ textBox.Text = document.GetBeautify();
+ }
+
+ private void SaveDocument(object sender, string filename)
+ {
+ TextBox textBox = sender as TextBox;
+ if (textBox == null) return;
+
+ using (StreamWriter writer = new StreamWriter(filename))
+ {
+ writer.Write(textBox.Text);
+ }
+
+ MessageBox.Show($"저장하였습니다.");
+ }
+
+ }
+
+}
diff --git a/DDUtilityApp/ETC/FrmTIbcoConfig.resx b/DDUtilityApp/ETC/FrmTIbcoConfig.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DDUtilityApp/ETC/FrmTIbcoConfig.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/EisEquipmentInfo0.xml b/DDUtilityApp/EisEquipmentInfo0.xml
new file mode 100644
index 0000000..0b46568
--- /dev/null
+++ b/DDUtilityApp/EisEquipmentInfo0.xml
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/EisEquipmentInfo1.xml b/DDUtilityApp/EisEquipmentInfo1.xml
new file mode 100644
index 0000000..ce14ef8
--- /dev/null
+++ b/DDUtilityApp/EisEquipmentInfo1.xml
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUtilityApp/FrmMain.Designer.cs b/DDUtilityApp/FrmMain.Designer.cs
new file mode 100644
index 0000000..41e3233
--- /dev/null
+++ b/DDUtilityApp/FrmMain.Designer.cs
@@ -0,0 +1,51 @@
+namespace DDUtilityApp
+{
+ partial class FrmMain
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
+ this.SuspendLayout();
+ //
+ // FrmMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(288, 152);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.Name = "FrmMain";
+ this.Padding = new System.Windows.Forms.Padding(18, 16, 18, 16);
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "FrmMain";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/DDUtilityApp/FrmMain.cs b/DDUtilityApp/FrmMain.cs
new file mode 100644
index 0000000..d8e5792
--- /dev/null
+++ b/DDUtilityApp/FrmMain.cs
@@ -0,0 +1,114 @@
+using JWH;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace DDUtilityApp
+{
+ public partial class FrmMain : Form
+ {
+
+ public object SelectedObject { get; set; } = null;
+
+ public Dictionary Buttons { get; set; } = new Dictionary();
+
+ public FrmMain()
+ {
+ InitializeComponent();
+
+ this.SetLayout();
+ this.SetEventHandler();
+ }
+
+ public FrmMain(Dictionary args) : this()
+ {
+ this.Buttons = args;
+ this.SetButtons();
+ }
+
+ protected void SetLayout()
+ {
+ }
+
+ protected void SetEventHandler()
+ {
+ this.Load += FrmMain_Load;
+ }
+
+ private void FrmMain_Load(object sender, EventArgs e)
+ {
+ this.SetButtons();
+ }
+
+ ///
+ /// 동적으로 버튼 생성
+ ///
+ private void SetButtons()
+ {
+ try
+ {
+ int btnWidth = 200;
+ int btnHeight = 32;
+ int tabIndex = 0;
+
+ List