프로젝트

일반

사용자정보

개정판 0a24b232

ID0a24b23239a0fef35bfae0feae1a011b1d2e3f4d
상위 3f1aaa2d
하위 4d066231

gaqhf 이(가) 5년 이상 전에 추가함

dev issue #000 : edit project

Change-Id: Ia1037a07cf9b9a91883d4fb260232621c7a0faf9

차이점 보기:

DTI_PID/BaseModel/BaseModel.csproj
1
<?xml version="1.0" encoding="utf-8"?>
2
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4
  <PropertyGroup>
5
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7
    <ProjectGuid>{BEEC4A21-BD63-40D2-B745-027B19241A70}</ProjectGuid>
8
    <OutputType>Library</OutputType>
9
    <AppDesignerFolder>Properties</AppDesignerFolder>
10
    <RootNamespace>Converter.BaseModel</RootNamespace>
11
    <AssemblyName>BaseModel</AssemblyName>
12
    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
13
    <FileAlignment>512</FileAlignment>
14
    <Deterministic>true</Deterministic>
15
  </PropertyGroup>
16
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17
    <DebugSymbols>true</DebugSymbols>
18
    <DebugType>full</DebugType>
19
    <Optimize>false</Optimize>
20
    <OutputPath>bin\Debug\</OutputPath>
21
    <DefineConstants>DEBUG;TRACE</DefineConstants>
22
    <ErrorReport>prompt</ErrorReport>
23
    <WarningLevel>4</WarningLevel>
24
  </PropertyGroup>
25
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26
    <DebugType>pdbonly</DebugType>
27
    <Optimize>true</Optimize>
28
    <OutputPath>bin\Release\</OutputPath>
29
    <DefineConstants>TRACE</DefineConstants>
30
    <ErrorReport>prompt</ErrorReport>
31
    <WarningLevel>4</WarningLevel>
32
  </PropertyGroup>
33
  <ItemGroup>
34
    <Reference Include="System" />
35
    <Reference Include="System.Core" />
36
    <Reference Include="System.Xml.Linq" />
37
    <Reference Include="System.Data.DataSetExtensions" />
38
    <Reference Include="Microsoft.CSharp" />
39
    <Reference Include="System.Data" />
40
    <Reference Include="System.Net.Http" />
41
    <Reference Include="System.Xml" />
42
  </ItemGroup>
43
  <ItemGroup>
44
    <Compile Include="Properties\AssemblyInfo.cs" />
45
  </ItemGroup>
46
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
47
</Project>
DTI_PID/BaseModel/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Runtime.CompilerServices;
3
using System.Runtime.InteropServices;
4

  
5
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
6
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
7
// 이러한 특성 값을 변경하세요.
8
[assembly: AssemblyTitle("BaseModel")]
9
[assembly: AssemblyDescription("")]
10
[assembly: AssemblyConfiguration("")]
11
[assembly: AssemblyCompany("")]
12
[assembly: AssemblyProduct("BaseModel")]
13
[assembly: AssemblyCopyright("Copyright ©  2019")]
14
[assembly: AssemblyTrademark("")]
15
[assembly: AssemblyCulture("")]
16

  
17
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
18
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
19
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
20
[assembly: ComVisible(false)]
21

  
22
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
23
[assembly: Guid("beec4a21-bd63-40d2-b745-027b19241a70")]
24

  
25
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
26
//
27
//      주 버전
28
//      부 버전 
29
//      빌드 번호
30
//      수정 버전
31
//
32
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
33
// 기본값으로 할 수 있습니다.
34
// [assembly: AssemblyVersion("1.0.*")]
35
[assembly: AssemblyVersion("1.0.0.0")]
36
[assembly: AssemblyFileVersion("1.0.0.0")]
DTI_PID/DTI_PID.sln
9 9
EndProject
10 10
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPPIDConverter_CustomCommand", "SPPIDConverter_CustomCommand\SPPIDConverter_CustomCommand.csproj", "{4B35A8E9-DBE4-4D2E-8555-1CD5CB907D2D}"
11 11
EndProject
12
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPPIDConverter_AutoModeling", "SPPIDConverter_AutoModeling\SPPIDConverter_AutoModeling.csproj", "{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}"
12
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPPIDConverter_Wrapper", "SPPIDConverter_DialogBarWrapper\SPPIDConverter_Wrapper.csproj", "{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}"
13 13
EndProject
14
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPPIDConverter_DialogBarWrapper", "SPPIDConverter_DialogBarWrapper\SPPIDConverter_DialogBarWrapper.csproj", "{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}"
14
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPPIDConverter_AutoModeling", "SPPIDConverter_AutoModeling\SPPIDConverter_AutoModeling.csproj", "{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}"
15
EndProject
16
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BaseModel", "BaseModel\BaseModel.csproj", "{BEEC4A21-BD63-40D2-B745-027B19241A70}"
15 17
EndProject
16 18
Global
17 19
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
......
41 43
		{4B35A8E9-DBE4-4D2E-8555-1CD5CB907D2D}.Release|Any CPU.Build.0 = Release|Any CPU
42 44
		{4B35A8E9-DBE4-4D2E-8555-1CD5CB907D2D}.Release|x64.ActiveCfg = Release|Any CPU
43 45
		{4B35A8E9-DBE4-4D2E-8555-1CD5CB907D2D}.Release|x64.Build.0 = Release|Any CPU
44
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
46
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Debug|x64.ActiveCfg = Debug|Any CPU
47
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Debug|x64.Build.0 = Debug|Any CPU
48
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
49
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Release|Any CPU.Build.0 = Release|Any CPU
50
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Release|x64.ActiveCfg = Release|Any CPU
51
		{650EF0EA-BD38-4DF8-9A76-0D13AA145F4D}.Release|x64.Build.0 = Release|Any CPU
52 46
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53 47
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
54 48
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Debug|x64.ActiveCfg = Debug|Any CPU
......
57 51
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Release|Any CPU.Build.0 = Release|Any CPU
58 52
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Release|x64.ActiveCfg = Release|Any CPU
59 53
		{50BEB77D-9842-4C35-8369-0B5BD5C69EFA}.Release|x64.Build.0 = Release|Any CPU
54
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
55
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
56
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Debug|x64.ActiveCfg = Debug|Any CPU
57
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Debug|x64.Build.0 = Debug|Any CPU
58
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
59
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Release|Any CPU.Build.0 = Release|Any CPU
60
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Release|x64.ActiveCfg = Release|Any CPU
61
		{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}.Release|x64.Build.0 = Release|Any CPU
62
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Debug|Any CPU.Build.0 = Debug|Any CPU
64
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Debug|x64.ActiveCfg = Debug|Any CPU
65
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Debug|x64.Build.0 = Debug|Any CPU
66
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Release|Any CPU.ActiveCfg = Release|Any CPU
67
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Release|Any CPU.Build.0 = Release|Any CPU
68
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Release|x64.ActiveCfg = Release|Any CPU
69
		{BEEC4A21-BD63-40D2-B745-027B19241A70}.Release|x64.Build.0 = Release|Any CPU
60 70
	EndGlobalSection
61 71
	GlobalSection(SolutionProperties) = preSolution
62 72
		HideSolutionNode = FALSE
DTI_PID/SPPIDConverter_AutoModeling/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Runtime.CompilerServices;
3
using System.Runtime.InteropServices;
4

  
5
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
6
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
7
// 이러한 특성 값을 변경하세요.
8
[assembly: AssemblyTitle("SPPIDConverter_AutoModeling")]
9
[assembly: AssemblyDescription("")]
10
[assembly: AssemblyConfiguration("")]
11
[assembly: AssemblyCompany("")]
12
[assembly: AssemblyProduct("SPPIDConverter_AutoModeling")]
13
[assembly: AssemblyCopyright("Copyright ©  2019")]
14
[assembly: AssemblyTrademark("")]
15
[assembly: AssemblyCulture("")]
16

  
17
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
18
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
19
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
20
[assembly: ComVisible(false)]
21

  
22
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
23
[assembly: Guid("b6757e78-6b59-40a3-a7bb-e73e8f81b6c3")]
24

  
25
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
26
//
27
//      주 버전
28
//      부 버전 
29
//      빌드 번호
30
//      수정 버전
31
//
32
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
33
// 기본값으로 할 수 있습니다.
34
// [assembly: AssemblyVersion("1.0.*")]
35
[assembly: AssemblyVersion("1.0.0.0")]
36
[assembly: AssemblyFileVersion("1.0.0.0")]
DTI_PID/SPPIDConverter_AutoModeling/SPPIDConverter_AutoModeling.csproj
1
<?xml version="1.0" encoding="utf-8"?>
2
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4
  <PropertyGroup>
5
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7
    <ProjectGuid>{B6757E78-6B59-40A3-A7BB-E73E8F81B6C3}</ProjectGuid>
8
    <OutputType>Library</OutputType>
9
    <AppDesignerFolder>Properties</AppDesignerFolder>
10
    <RootNamespace>Converter.SPPID.AutoModeling</RootNamespace>
11
    <AssemblyName>SPPIDConverter_AutoModeling</AssemblyName>
12
    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
13
    <FileAlignment>512</FileAlignment>
14
    <Deterministic>true</Deterministic>
15
    <TargetFrameworkProfile />
16
  </PropertyGroup>
17
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
18
    <DebugSymbols>true</DebugSymbols>
19
    <DebugType>full</DebugType>
20
    <Optimize>false</Optimize>
21
    <OutputPath>bin\Debug\</OutputPath>
22
    <DefineConstants>DEBUG;TRACE</DefineConstants>
23
    <ErrorReport>prompt</ErrorReport>
24
    <WarningLevel>4</WarningLevel>
25
  </PropertyGroup>
26
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
27
    <DebugType>pdbonly</DebugType>
28
    <Optimize>true</Optimize>
29
    <OutputPath>bin\Release\</OutputPath>
30
    <DefineConstants>TRACE</DefineConstants>
31
    <ErrorReport>prompt</ErrorReport>
32
    <WarningLevel>4</WarningLevel>
33
  </PropertyGroup>
34
  <ItemGroup>
35
    <Reference Include="System" />
36
    <Reference Include="System.Core" />
37
    <Reference Include="System.Xml.Linq" />
38
    <Reference Include="System.Data.DataSetExtensions" />
39
    <Reference Include="Microsoft.CSharp" />
40
    <Reference Include="System.Data" />
41
    <Reference Include="System.Net.Http" />
42
    <Reference Include="System.Xml" />
43
  </ItemGroup>
44
  <ItemGroup>
45
    <Compile Include="Properties\AssemblyInfo.cs" />
46
  </ItemGroup>
47
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
48
</Project>
DTI_PID/SPPIDConverter_CustomCommand/MappingForm.Designer.cs
1
namespace CustomCommand
2
{
3
    partial class MappingForm
4
    {
5
        /// <summary>
6
        /// Required designer variable.
7
        /// </summary>
8
        private System.ComponentModel.IContainer components = null;
9

  
10
        /// <summary>
11
        /// Clean up any resources being used.
12
        /// </summary>
13
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
14
        protected override void Dispose(bool disposing)
15
        {
16
            if (disposing && (components != null))
17
            {
18
                components.Dispose();
19
            }
20
            base.Dispose(disposing);
21
        }
22

  
23
        #region Windows Form Designer generated code
24

  
25
        /// <summary>
26
        /// Required method for Designer support - do not modify
27
        /// the contents of this method with the code editor.
28
        /// </summary>
29
        private void InitializeComponent()
30
        {
31
            this.btnOK = new System.Windows.Forms.Button();
32
            this.btnCancel = new System.Windows.Forms.Button();
33
            this.dgvSymbolMapping = new System.Windows.Forms.DataGridView();
34
            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
35
            this.tabControl1 = new System.Windows.Forms.TabControl();
36
            this.tabPageSymbol = new System.Windows.Forms.TabPage();
37
            this.tabPageAttribute = new System.Windows.Forms.TabPage();
38
            this.dgvAttributeMapping = new System.Windows.Forms.DataGridView();
39
            ((System.ComponentModel.ISupportInitialize)(this.dgvSymbolMapping)).BeginInit();
40
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
41
            this.splitContainer1.Panel1.SuspendLayout();
42
            this.splitContainer1.Panel2.SuspendLayout();
43
            this.splitContainer1.SuspendLayout();
44
            this.tabControl1.SuspendLayout();
45
            this.tabPageSymbol.SuspendLayout();
46
            this.tabPageAttribute.SuspendLayout();
47
            ((System.ComponentModel.ISupportInitialize)(this.dgvAttributeMapping)).BeginInit();
48
            this.SuspendLayout();
49
            // 
50
            // btnOK
51
            // 
52
            this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
53
            this.btnOK.Location = new System.Drawing.Point(956, 3);
54
            this.btnOK.Name = "btnOK";
55
            this.btnOK.Size = new System.Drawing.Size(75, 23);
56
            this.btnOK.TabIndex = 0;
57
            this.btnOK.Text = "OK";
58
            this.btnOK.UseVisualStyleBackColor = true;
59
            this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
60
            // 
61
            // btnCancel
62
            // 
63
            this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
64
            this.btnCancel.Location = new System.Drawing.Point(1037, 3);
65
            this.btnCancel.Name = "btnCancel";
66
            this.btnCancel.Size = new System.Drawing.Size(75, 23);
67
            this.btnCancel.TabIndex = 1;
68
            this.btnCancel.Text = "Cancel";
69
            this.btnCancel.UseVisualStyleBackColor = true;
70
            this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
71
            // 
72
            // dgvSymbolMapping
73
            // 
74
            this.dgvSymbolMapping.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
75
            this.dgvSymbolMapping.Dock = System.Windows.Forms.DockStyle.Fill;
76
            this.dgvSymbolMapping.Location = new System.Drawing.Point(3, 3);
77
            this.dgvSymbolMapping.Name = "dgvSymbolMapping";
78
            this.dgvSymbolMapping.RowTemplate.Height = 23;
79
            this.dgvSymbolMapping.Size = new System.Drawing.Size(1101, 608);
80
            this.dgvSymbolMapping.TabIndex = 2;
81
            // 
82
            // splitContainer1
83
            // 
84
            this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
85
            this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
86
            this.splitContainer1.IsSplitterFixed = true;
87
            this.splitContainer1.Location = new System.Drawing.Point(0, 0);
88
            this.splitContainer1.Name = "splitContainer1";
89
            this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
90
            // 
91
            // splitContainer1.Panel1
92
            // 
93
            this.splitContainer1.Panel1.Controls.Add(this.tabControl1);
94
            // 
95
            // splitContainer1.Panel2
96
            // 
97
            this.splitContainer1.Panel2.Controls.Add(this.btnOK);
98
            this.splitContainer1.Panel2.Controls.Add(this.btnCancel);
99
            this.splitContainer1.Size = new System.Drawing.Size(1115, 673);
100
            this.splitContainer1.SplitterDistance = 640;
101
            this.splitContainer1.TabIndex = 3;
102
            // 
103
            // tabControl1
104
            // 
105
            this.tabControl1.Controls.Add(this.tabPageSymbol);
106
            this.tabControl1.Controls.Add(this.tabPageAttribute);
107
            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
108
            this.tabControl1.Location = new System.Drawing.Point(0, 0);
109
            this.tabControl1.Name = "tabControl1";
110
            this.tabControl1.SelectedIndex = 0;
111
            this.tabControl1.Size = new System.Drawing.Size(1115, 640);
112
            this.tabControl1.TabIndex = 3;
113
            // 
114
            // tabPageSymbol
115
            // 
116
            this.tabPageSymbol.Controls.Add(this.dgvSymbolMapping);
117
            this.tabPageSymbol.Location = new System.Drawing.Point(4, 22);
118
            this.tabPageSymbol.Name = "tabPageSymbol";
119
            this.tabPageSymbol.Padding = new System.Windows.Forms.Padding(3);
120
            this.tabPageSymbol.Size = new System.Drawing.Size(1107, 614);
121
            this.tabPageSymbol.TabIndex = 0;
122
            this.tabPageSymbol.Text = "Symbol";
123
            this.tabPageSymbol.UseVisualStyleBackColor = true;
124
            // 
125
            // tabPageAttribute
126
            // 
127
            this.tabPageAttribute.Controls.Add(this.dgvAttributeMapping);
128
            this.tabPageAttribute.Location = new System.Drawing.Point(4, 22);
129
            this.tabPageAttribute.Name = "tabPageAttribute";
130
            this.tabPageAttribute.Padding = new System.Windows.Forms.Padding(3);
131
            this.tabPageAttribute.Size = new System.Drawing.Size(1107, 614);
132
            this.tabPageAttribute.TabIndex = 1;
133
            this.tabPageAttribute.Text = "Attribute";
134
            this.tabPageAttribute.UseVisualStyleBackColor = true;
135
            // 
136
            // dgvAttributeMapping
137
            // 
138
            this.dgvAttributeMapping.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
139
            this.dgvAttributeMapping.Dock = System.Windows.Forms.DockStyle.Fill;
140
            this.dgvAttributeMapping.Location = new System.Drawing.Point(3, 3);
141
            this.dgvAttributeMapping.Name = "dgvAttributeMapping";
142
            this.dgvAttributeMapping.RowTemplate.Height = 23;
143
            this.dgvAttributeMapping.Size = new System.Drawing.Size(1101, 608);
144
            this.dgvAttributeMapping.TabIndex = 0;
145
            // 
146
            // MappingForm
147
            // 
148
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
149
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
150
            this.ClientSize = new System.Drawing.Size(1115, 673);
151
            this.Controls.Add(this.splitContainer1);
152
            this.Name = "MappingForm";
153
            this.ShowIcon = false;
154
            this.Text = "Mapping";
155
            this.Load += new System.EventHandler(this.MappingForm_Load);
156
            ((System.ComponentModel.ISupportInitialize)(this.dgvSymbolMapping)).EndInit();
157
            this.splitContainer1.Panel1.ResumeLayout(false);
158
            this.splitContainer1.Panel2.ResumeLayout(false);
159
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
160
            this.splitContainer1.ResumeLayout(false);
161
            this.tabControl1.ResumeLayout(false);
162
            this.tabPageSymbol.ResumeLayout(false);
163
            this.tabPageAttribute.ResumeLayout(false);
164
            ((System.ComponentModel.ISupportInitialize)(this.dgvAttributeMapping)).EndInit();
165
            this.ResumeLayout(false);
166

  
167
        }
168

  
169
        #endregion
170

  
171
        private System.Windows.Forms.Button btnOK;
172
        private System.Windows.Forms.Button btnCancel;
173
        private System.Windows.Forms.DataGridView dgvSymbolMapping;
174
        private System.Windows.Forms.SplitContainer splitContainer1;
175
        private System.Windows.Forms.TabControl tabControl1;
176
        private System.Windows.Forms.TabPage tabPageSymbol;
177
        private System.Windows.Forms.TabPage tabPageAttribute;
178
        private System.Windows.Forms.DataGridView dgvAttributeMapping;
179
    }
180
}
DTI_PID/SPPIDConverter_CustomCommand/MappingForm.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Linq;
7
using System.Text;
8
using System.Threading.Tasks;
9
using System.Windows.Forms;
10

  
11
namespace CustomCommand
12
{
13
    public partial class MappingForm : Form
14
    {
15
        Dictionary<string, string> symbolMapping;
16
        Dictionary<string, string> attributeMapping;
17
        List<string> needSymbolMapping;
18
        List<string> needAttributeMapping;
19
        public MappingForm(Dictionary<string, string> symbolMapping, Dictionary<string, string> attributeMapping, List<string> needSymbolMapping, List<string> needAttributeMapping)
20
        {
21
            InitializeComponent();
22

  
23
            this.symbolMapping = symbolMapping;
24
            this.attributeMapping = attributeMapping;
25
            this.needSymbolMapping = needSymbolMapping;
26
            this.needAttributeMapping = needAttributeMapping;
27
        }
28

  
29
        private void btnCancel_Click(object sender, EventArgs e)
30
        {
31
            DialogResult = DialogResult.Cancel;
32
        }
33

  
34
        private void btnOK_Click(object sender, EventArgs e)
35
        {
36
            symbolMapping.Clear();
37
            foreach (DataGridViewRow row in dgvSymbolMapping.Rows)
38
            {
39
                if (row.Cells["key"].Value != null && row.Cells["value"].Value != null)
40
                {
41
                    string key = row.Cells["key"].Value.ToString();
42
                    string value = row.Cells["value"].Value.ToString();
43

  
44
                    if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
45
                    {
46
                        if (symbolMapping.ContainsKey(key))
47
                            symbolMapping[key] = value;
48
                        else
49
                            symbolMapping.Add(key, value);
50
                    }
51

  
52
                }
53
            }
54

  
55
            attributeMapping.Clear();
56
            foreach (DataGridViewRow row in dgvAttributeMapping.Rows)
57
            {
58
                if (row.Cells["key"].Value != null && row.Cells["value"].Value != null)
59
                {
60
                    string key = row.Cells["key"].Value.ToString();
61
                    string value = row.Cells["value"].Value.ToString();
62

  
63
                    if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
64
                    {
65
                        if (attributeMapping.ContainsKey(key))
66
                            attributeMapping[key] = value;
67
                        else
68
                            attributeMapping.Add(key, value);
69
                    }
70

  
71
                }
72
            }
73

  
74
            DialogResult = DialogResult.OK;
75
        }
76

  
77
        private void MappingForm_Load(object sender, EventArgs e)
78
        {
79
            dgvSymbolMapping.Columns.Add("key", "value");
80
            dgvSymbolMapping.Columns.Add("value", "SPPID Name");
81
            foreach (var item in symbolMapping)
82
            {
83
                dgvSymbolMapping.Rows.Add(new object[] { item.Key, item.Value });
84
            }
85
            foreach (var item in needSymbolMapping)
86
            {
87
                dgvSymbolMapping.Rows.Add(new object[] { item, "" });
88
            }
89
            dgvSymbolMapping.Columns["key"].Width = dgvSymbolMapping.Columns["key"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);
90
            dgvSymbolMapping.Columns["value"].Width = dgvSymbolMapping.Columns["value"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);
91

  
92
            dgvAttributeMapping.Columns.Add("key", "value");
93
            dgvAttributeMapping.Columns.Add("value", "SPPID Name");
94
            foreach (var item in attributeMapping)
95
            {
96
                dgvAttributeMapping.Rows.Add(new object[] { item.Key, item.Value });
97
            }
98
            foreach (var item in needAttributeMapping)
99
            {
100
                dgvAttributeMapping.Rows.Add(new object[] { item, "" });
101
            }
102
            dgvAttributeMapping.Columns["key"].Width = dgvAttributeMapping.Columns["key"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);
103
            dgvAttributeMapping.Columns["value"].Width = dgvAttributeMapping.Columns["value"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);
104
        }
105
    }
106
}
DTI_PID/SPPIDConverter_CustomCommand/MappingForm.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64
    <xsd:element name="root" msdata:IsDataSet="true">
65
      <xsd:complexType>
66
        <xsd:choice maxOccurs="unbounded">
67
          <xsd:element name="metadata">
68
            <xsd:complexType>
69
              <xsd:sequence>
70
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
71
              </xsd:sequence>
72
              <xsd:attribute name="name" use="required" type="xsd:string" />
73
              <xsd:attribute name="type" type="xsd:string" />
74
              <xsd:attribute name="mimetype" type="xsd:string" />
75
              <xsd:attribute ref="xml:space" />
76
            </xsd:complexType>
77
          </xsd:element>
78
          <xsd:element name="assembly">
79
            <xsd:complexType>
80
              <xsd:attribute name="alias" type="xsd:string" />
81
              <xsd:attribute name="name" type="xsd:string" />
82
            </xsd:complexType>
83
          </xsd:element>
84
          <xsd:element name="data">
85
            <xsd:complexType>
86
              <xsd:sequence>
87
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89
              </xsd:sequence>
90
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93
              <xsd:attribute ref="xml:space" />
94
            </xsd:complexType>
95
          </xsd:element>
96
          <xsd:element name="resheader">
97
            <xsd:complexType>
98
              <xsd:sequence>
99
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100
              </xsd:sequence>
101
              <xsd:attribute name="name" type="xsd:string" use="required" />
102
            </xsd:complexType>
103
          </xsd:element>
104
        </xsd:choice>
105
      </xsd:complexType>
106
    </xsd:element>
107
  </xsd:schema>
108
  <resheader name="resmimetype">
109
    <value>text/microsoft-resx</value>
110
  </resheader>
111
  <resheader name="version">
112
    <value>2.0</value>
113
  </resheader>
114
  <resheader name="reader">
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
  <resheader name="writer">
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119
  </resheader>
120
</root>
DTI_PID/SPPIDConverter_CustomCommand/Properties/AssemblyInfo.cs
1
/*---------------------------------------------------------------------+\
2
|                                                                       |
3
|        Copyright 2016 Intergraph Corporation                          |
4
|        All Rights Reserved                                            |
5
|                                                                       |
6
|        Including software, file formats, and audio-visual displays;   |
7
|        may only be used pursuant to applicable software license       |
8
|        agreement; contains confidential and proprietary information of|
9
|        Intergraph and/or third parties which is protected by copyright|
10
|        and trade secret law and may not be provided or otherwise made |
11
|        available without proper authorization.                        |
12
|                                                                       |
13
|        Unpublished -- rights reserved under the Copyright Laws of the |
14
|        United States.                                                 |
15
|                                                                       |
16
|        Intergraph Corporation                                         |
17
|        Huntsville, Alabama         35894-0001                         |
18
|                                                                       |
19
\+---------------------------------------------------------------------*/
20

  
21
using System.Reflection;
22
using System.Runtime.CompilerServices;
23
using System.Runtime.InteropServices;
24

  
25
// General Information about an assembly is controlled through the following 
26
// set of attributes. Change these attribute values to modify the information
27
// associated with an assembly.
28
[assembly: AssemblyTitle("SPPIDConverter_CustomCommand")]
29
[assembly: AssemblyDescription("SPPIDConverter_CustomCommand\nSPPIDConverter_CustomCommand")]
30
[assembly: AssemblyConfiguration("")]
31
[assembly: AssemblyCompany("Intergraph")]
32
[assembly: AssemblyProduct("SPPIDConverter_CustomCommand")]
33
[assembly: AssemblyCopyright("")]
34
[assembly: AssemblyTrademark("")]
35
[assembly: AssemblyCulture("")]
36

  
37
// Setting ComVisible to false makes the types in this assembly not visible 
38
// to COM components.  If you need to access a type in this assembly from 
39
// COM, set the ComVisible attribute to true on that type.
40
[assembly: ComVisible(false)]
41

  
42
// The following GUID is for the ID of the typelib if this project is exposed to COM
43
[assembly: Guid("b4b1b916-4e41-4546-abbf-69c1ea5be352")]
44

  
45
// Version information for an assembly consists of the following four values:
46
//
47
//      Major Version
48
//      Minor Version 
49
//      Build Number
50
//      Revision
51
//
52
// You can specify all the values or you can default the Build and Revision Numbers 
53
// by using the '*' as shown below:
54
// [assembly: AssemblyVersion("1.0.*")]
55
[assembly: AssemblyVersion("1.0.0.0")]
56
[assembly: AssemblyFileVersion("1.0.0.0")]
DTI_PID/SPPIDConverter_CustomCommand/Properties/Resources.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     이 코드는 도구를 사용하여 생성되었습니다.
4
//     런타임 버전:4.0.30319.42000
5
//
6
//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7
//     이러한 변경 내용이 손실됩니다.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace CustomCommand.Properties {
12
    using System;
13
    
14
    
15
    /// <summary>
16
    ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
17
    /// </summary>
18
    // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
19
    // 클래스에서 자동으로 생성되었습니다.
20
    // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
21
    // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
22
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
23
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25
    internal class Resources {
26
        
27
        private static global::System.Resources.ResourceManager resourceMan;
28
        
29
        private static global::System.Globalization.CultureInfo resourceCulture;
30
        
31
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32
        internal Resources() {
33
        }
34
        
35
        /// <summary>
36
        ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
37
        /// </summary>
38
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39
        internal static global::System.Resources.ResourceManager ResourceManager {
40
            get {
41
                if (object.ReferenceEquals(resourceMan, null)) {
42
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CustomCommand.Properties.Resources", typeof(Resources).Assembly);
43
                    resourceMan = temp;
44
                }
45
                return resourceMan;
46
            }
47
        }
48
        
49
        /// <summary>
50
        ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
51
        ///   재정의합니다.
52
        /// </summary>
53
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54
        internal static global::System.Globalization.CultureInfo Culture {
55
            get {
56
                return resourceCulture;
57
            }
58
            set {
59
                resourceCulture = value;
60
            }
61
        }
62
        
63
        /// <summary>
64
        ///   ID2 to SPPID Converter과(와) 유사한 지역화된 문자열을 찾습니다.
65
        /// </summary>
66
        internal static string Description {
67
            get {
68
                return ResourceManager.GetString("Description", resourceCulture);
69
            }
70
        }
71
        
72
        /// <summary>
73
        ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
74
        /// </summary>
75
        internal static System.Drawing.Bitmap ToolbarImage {
76
            get {
77
                object obj = ResourceManager.GetObject("ToolbarImage", resourceCulture);
78
                return ((System.Drawing.Bitmap)(obj));
79
            }
80
        }
81
        
82
        /// <summary>
83
        ///   ID2 to SPPID Converter과(와) 유사한 지역화된 문자열을 찾습니다.
84
        /// </summary>
85
        internal static string Tooltip {
86
            get {
87
                return ResourceManager.GetString("Tooltip", resourceCulture);
88
            }
89
        }
90
    }
91
}
DTI_PID/SPPIDConverter_CustomCommand/Properties/Resources.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64
    <xsd:element name="root" msdata:IsDataSet="true">
65
      <xsd:complexType>
66
        <xsd:choice maxOccurs="unbounded">
67
          <xsd:element name="metadata">
68
            <xsd:complexType>
69
              <xsd:sequence>
70
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
71
              </xsd:sequence>
72
              <xsd:attribute name="name" use="required" type="xsd:string" />
73
              <xsd:attribute name="type" type="xsd:string" />
74
              <xsd:attribute name="mimetype" type="xsd:string" />
75
              <xsd:attribute ref="xml:space" />
76
            </xsd:complexType>
77
          </xsd:element>
78
          <xsd:element name="assembly">
79
            <xsd:complexType>
80
              <xsd:attribute name="alias" type="xsd:string" />
81
              <xsd:attribute name="name" type="xsd:string" />
82
            </xsd:complexType>
83
          </xsd:element>
84
          <xsd:element name="data">
85
            <xsd:complexType>
86
              <xsd:sequence>
87
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89
              </xsd:sequence>
90
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93
              <xsd:attribute ref="xml:space" />
94
            </xsd:complexType>
95
          </xsd:element>
96
          <xsd:element name="resheader">
97
            <xsd:complexType>
98
              <xsd:sequence>
99
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100
              </xsd:sequence>
101
              <xsd:attribute name="name" type="xsd:string" use="required" />
102
            </xsd:complexType>
103
          </xsd:element>
104
        </xsd:choice>
105
      </xsd:complexType>
106
    </xsd:element>
107
  </xsd:schema>
108
  <resheader name="resmimetype">
109
    <value>text/microsoft-resx</value>
110
  </resheader>
111
  <resheader name="version">
112
    <value>2.0</value>
113
  </resheader>
114
  <resheader name="reader">
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
  <resheader name="writer">
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119
  </resheader>
120
  <data name="Description" xml:space="preserve">
121
    <value>ID2 to SPPID Converter</value>
122
  </data>
123
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
124
  <data name="ToolbarImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
125
    <value>..\Resources\ToolbarImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126
  </data>
127
  <data name="Tooltip" xml:space="preserve">
128
    <value>ID2 to SPPID Converter</value>
129
  </data>
130
</root>
DTI_PID/SPPIDConverter_CustomCommand/SPPIDAutoModeling/Model/SPPID/Connector.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Linq;
5
using System.Runtime.InteropServices;
6
using System.Text;
7
using System.Threading.Tasks;
8
using Llama;
9
using Plaice;
10
using SPPID.Utill;
11
using SPPID.Modeling;
12

  
13
namespace SPPID.Model
14
{
15
    public class Connector
16
    {
17
        #region Property
18
        private string _CONNECTEDITEM;
19
        private string _CONNECTPOINT;
20
        private string _SCENECONNECTPOINT;
21
        private int _INDEX;
22

  
23
        public string CONNECTEDITEM { get => _CONNECTEDITEM; set => _CONNECTEDITEM = value; }
24
        public string CONNECTPOINT { get => _CONNECTPOINT; set => _CONNECTPOINT = value; }
25
        public string SCENECONNECTPOINT { get => _SCENECONNECTPOINT; set => _SCENECONNECTPOINT = value; }
26
        public int INDEX { get => _INDEX; set => _INDEX = value; }
27
        #endregion
28
    }
29
}
DTI_PID/SPPIDConverter_CustomCommand/SPPIDAutoModeling/Model/SPPID/Document.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Linq;
5
using System.Runtime.InteropServices;
6
using System.Text;
7
using System.Threading.Tasks;
8
using Llama;
9
using Plaice;
10
using SPPID.Utill;
11
using SPPID.Modeling;
12
using System.Xml.Linq;
13

  
14
namespace SPPID.Model
15
{
16
    public class Document
17
    {
18
        #region Property
19
        private string _DWGNAME;
20
        private string _SIZE;
21
        private string _UNIT;
22
        private List<Symbol> _SYMBOLS = new List<Symbol>();
23
        private List<Line> _LINES = new List<Line>();
24
        private List<LineNumber> _LINENUMBERS = new List<LineNumber>();
25
        private List<Text> _TEXTS = new List<Text>();
26
        private List<SpecBreak> _SPECBREAK = new List<SpecBreak>();
27
        private Dictionary<string, List<PointInfo>> _PipeRunPoint = new Dictionary<string, List<PointInfo>>();
28
        private List<Group> _GROUPS = new List<Group>();
29
        private Dictionary<string, string> _SymbolMapping;
30
        private Dictionary<string, string> _AttributeMapping;
31

  
32
        private double _WIDTH;
33
        private double _HEIGHT;
34

  
35
        public string DWGNAME { get => _DWGNAME; set => _DWGNAME = value; }
36
        public string SIZE
37
        {
38
            get { return _SIZE; }
39
            set
40
            {
41
                _SIZE = value;
42
                SPPIDUtill.ConvertPointBystring(_SIZE, ref _WIDTH, ref _HEIGHT);
43
            }
44
        }
45
        public string UNIT { get => _UNIT; set => _UNIT = value; }
46
        public Dictionary<string, List<PointInfo>> PipeRunPoint { get => _PipeRunPoint; set => _PipeRunPoint = value; }
47
        public List<Symbol> SYMBOLS { get => _SYMBOLS; set => _SYMBOLS = value; }
48
        public List<Line> LINES { get => _LINES; set => _LINES = value; }
49
        public List<LineNumber> LINENUMBERS { get => _LINENUMBERS; set => _LINENUMBERS = value; }
50
        public List<Text> TEXTS { get => _TEXTS; set => _TEXTS = value; }
51
        public double WIDTH { get => _WIDTH; set => _WIDTH = value; }
52
        public double HEIGHT { get => _HEIGHT; set => _HEIGHT = value; }
53
        public List<Group> GROUPS { get => _GROUPS; set => _GROUPS = value; }
54
        public Dictionary<string, string> SymbolMapping { get => _SymbolMapping; set => _SymbolMapping = value; }
55
        internal List<SpecBreak> SPECBREAK { get => _SPECBREAK; set => _SPECBREAK = value; }
56
        public Dictionary<string, string> AttributeMapping { get => _AttributeMapping; set => _AttributeMapping = value; }
57

  
58
        #region Xml Read and Data Setting
59
        public static Document Load(string filePath, Dictionary<string, string> symbolMapping, Dictionary<string, string> attributeMapping)
60
        {
61
            try
62
            {
63
                XElement xml = XElement.Load(filePath);
64
                Document doc = new Document();
65
                doc.SymbolMapping = symbolMapping;
66
                doc.AttributeMapping = attributeMapping;
67
                doc.DWGNAME = xml.Element("DWGNAME").Value;
68
                doc.SIZE = xml.Element("SIZE").Value;
69

  
70
                doc.SetSymbol(xml.Element("SYMBOLS"));
71
                doc.SetLine(xml.Element("LINEINFOS"));
72
                doc.SetLineNumber(xml.Element("LINENOS"));
73
                doc.SetText(xml.Element("TEXTINFOS"));
74
                doc.SetTrimLine(xml.Element("TRIMLINENOS"));
75
                doc.SetNote(xml.Element("NOTES"));
76

  
77
                doc.SetGrouping();
78

  
79
                return doc;
80
            }
81
            catch (Exception ex)
82
            {
83
                Log.WriteLine(ex);
84
                return null;
85
            }
86
        }
87

  
88
        #region SPPID Item
89
        private void SetSymbol(XElement node)
90
        {
91
            foreach (XElement item in node.Elements("SYMBOL"))
92
            {
93
                try
94
                {
95
                    if (item.Element("TYPE").Value == "Segment Breaks")
96
                    {
97
                        SetSpecBreak(item);
98
                        continue;
99
                    }
100
                        
101

  
102
                    Symbol symbol = new Symbol()
103
                    {
104
                        UID = item.Element("UID").Value,
105
                        NAME = item.Element("NAME").Value,
106
                        TYPE = item.Element("TYPE").Value,
107
                        ORIGINALPOINT = item.Element("ORIGINALPOINT").Value,
108
                        CONNECTIONPOINT = item.Element("CONNECTIONPOINT").Value,
109
                        LOCATION = item.Element("LOCATION").Value,
110
                        SIZE = item.Element("SIZE").Value,
111
                        ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
112
                        PARENT = item.Element("PARENT").Value,
113
                        CHILD = item.Element("CHILD").Value,
114
                        HASINSTRUMENTLABEL = item.Element("HASINSTRUMENTLABEL").Value,
115
                        AREA = item.Element("AREA").Value
116
                    };
117
                    SetConnectors(item.Element("CONNECTORS"), symbol.CONNECTORS);
118
                    SetAssociations(item.Element("ASSOCIATIONS"), symbol.ASSOCIATIONS);
119
                    SetAttributes(item.Element("SYMBOLATTRIBUTES"), symbol.ATTRIBUTES);
120

  
121
                    symbol.AfterSetting(this);
122
                }
123
                catch (Exception ex)
124
                {
125
                    Log.WriteLine(ex);
126
                }
127
            }
128
        }
129

  
130
        private void SetLine(XElement node)
131
        {
132
            try
133
            {
134
                foreach (XElement item in node.Elements("LINE"))
135
                {
136
                    try
137
                    {
138
                        Line line = new Line()
139
                        {
140
                            UID = item.Element("UID").Value,
141
                            STARTPOINT = item.Element("STARTPOINT").Value,
142
                            ENDPOINT = item.Element("ENDPOINT").Value,
143
                            TYPE = item.Element("TYPE").Value,
144
                            AREA = item.Element("AREA").Value
145
                        };
146
                        SetConnectors(item.Element("CONNECTORS"), line.CONNECTORS);
147

  
148
                        line.AfterSetting(this);
149
                    }
150
                    catch (Exception ex)
151
                    {
152
                        Log.WriteLine(ex);
153
                    }
154
                }
155
            }
156
            catch (Exception ex)
157
            {
158
                Log.WriteLine(ex);
159
            }
160
        }
161

  
162
        private void SetLineNumber(XElement node)
163
        {
164
            try
165
            {
166
                foreach (XElement item in node.Elements("LINE_NO"))
167
                {
168
                    try
169
                    {
170
                        LineNumber lineNumber = new LineNumber()
171
                        {
172
                            UID = item.Element("UID").Value,
173
                            TEXT = item.Element("TEXT").Value,
174
                            LOCATION = item.Element("LOCATION").Value,
175
                            ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
176
                            AREA = item.Element("AREA").Value,
177
                            LINENUMBERTYPE = LineNumber.LineNumberType.LineNumber,
178
                            NAME = "LineNumber",
179
                        };
180

  
181
                        if (item.Element("CONNLINE") != null)
182
                            lineNumber.CONNECTLINE = item.Element("CONNLINE").Value;
183
                        SetAttributes(item, lineNumber.ATTRIBUTES);
184
                        lineNumber.AfterSetting(this);
185
                    }
186
                    catch (Exception ex)
187
                    {
188
                        Log.WriteLine(ex);
189
                    }
190
                }
191
            }
192
            catch (Exception ex)
193
            {
194
                Log.WriteLine(ex);
195
            }
196
        }
197

  
198
        private void SetTrimLine(XElement node)
199
        {
200
            try
201
            {
202
                foreach (XElement item in node.Elements("LINE_NO"))
203
                {
204
                    try
205
                    {
206
                        LineNumber lineNumber = new LineNumber()
207
                        {
208
                            UID = item.Element("UID").Value,
209
                            TEXT = item.Element("TEXT").Value,
210
                            LOCATION = item.Element("LOCATION").Value,
211
                            ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
212
                            AREA = item.Element("AREA").Value,
213
                            LINENUMBERTYPE = LineNumber.LineNumberType.TrimLine,
214
                            NAME = "LineNumber",
215
                        };
216

  
217
                        if (item.Element("CONNLINE") != null)
218
                            lineNumber.CONNECTLINE = item.Element("CONNLINE").Value;
219
                        SetAttributes(item, lineNumber.ATTRIBUTES);
220
                        lineNumber.AfterSetting(this);
221
                    }
222
                    catch (Exception ex)
223
                    {
224
                        Log.WriteLine(ex);
225
                    }
226
                }
227
            }
228
            catch (Exception ex)
229
            {
230
                Log.WriteLine(ex);
231
            }
232
        }
233

  
234
        private void SetText(XElement node)
235
        {
236
            foreach (XElement item in node.Elements("ATTRIBUTE"))
237
            {
238
                try
239
                {
240
                    Text text = new Text()
241
                    {
242
                        UID = item.Element("UID").Value,
243
                        NAME = item.Element("NAME").Value,
244
                        LOCATION = item.Element("LOCATION").Value,
245
                        VALUE = item.Element("VALUE").Value,
246
                        ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
247
                        AREA = item.Element("AREA").Value,
248
                    };
249
                    text.AfterSetting(this);
250
                }
251
                catch (Exception ex)
252
                {
253
                    Log.WriteLine(ex);
254
                }
255
            }
256
        }
257

  
258
        private void SetNote(XElement node)
259
        {
260
            foreach (XElement item in node.Elements("ATTRIBUTE"))
261
            {
262
                try
263
                {
264
                    Text text = new Text()
265
                    {
266
                        UID = item.Element("UID").Value,
267
                        NAME = item.Element("NAME").Value,
268
                        LOCATION = item.Element("LOCATION").Value,
269
                        VALUE = item.Element("VALUE").Value,
270
                        ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
271
                        AREA = item.Element("AREA").Value,
272
                    };
273
                    text.AfterSetting(this);
274
                }
275
                catch (Exception ex)
276
                {
277
                    Log.WriteLine(ex);
278
                }
279
            }
280
        }
281

  
282
        private void SetSpecBreak(XElement item)
283
        {
284
            try
285
            {
286
                SpecBreak specBreak = new SpecBreak()
287
                {
288
                    UID = item.Element("UID").Value,
289
                    NAME = item.Element("NAME").Value,
290
                    TYPE = item.Element("TYPE").Value,
291
                    ORIGINALPOINT = item.Element("ORIGINALPOINT").Value,
292
                    CONNECTIONPOINT = item.Element("CONNECTIONPOINT").Value,
293
                    LOCATION = item.Element("LOCATION").Value,
294
                    SIZE = item.Element("SIZE").Value,
295
                    ANGLE = Convert.ToDouble(item.Element("ANGLE").Value),
296
                    PARENT = item.Element("PARENT").Value,
297
                    CHILD = item.Element("CHILD").Value,
298
                    HASINSTRUMENTLABEL = item.Element("HASINSTRUMENTLABEL").Value,
299
                    AREA = item.Element("AREA").Value
300
                };
301
                SetConnectors(item.Element("CONNECTORS"), specBreak.CONNECTORS);
302
                SetAttributes(item.Element("SYMBOLATTRIBUTES"), specBreak.ATTRIBUTES);
303

  
304
                specBreak.AfterSetting(this);
305
            }
306
            catch (Exception ex)
307
            {
308
                Log.WriteLine(ex);
309
            }
310
        }
311
        #endregion
312

  
313
        #region Connector, Association, Attribute
314
        private void SetConnectors(XElement node, List<Connector> connectors)
315
        {
316
            foreach (XElement item in node.Elements("CONNECTOR"))
317
            {
318
                try
319
                {
320
                    connectors.Add(new Connector()
321
                    {
322
                        CONNECTEDITEM = item.Element("CONNECTEDITEM").Value,
323
                        CONNECTPOINT = item.Element("CONNECTPOINT").Value,
324
                        SCENECONNECTPOINT = item.Element("SCENECONNECTPOINT").Value,
325
                    });
326
                }
327
                catch (Exception ex)
328
                {
329
                    Log.WriteLine(ex);
330
                }
331
            }
332
        }
333

  
334
        private void SetAssociations(XElement node, List<Association> associations)
335
        {
336
            foreach (XElement item in node.Elements("ASSOCIATION"))
337
            {
338
                try
339
                {
340
                    associations.Add(new Association()
341
                    {
342
                        TYPE = item.Attribute("TYPE").Value,
343
                        TYPE_VALUE = item.Value,
344
                    });
345
                }
346
                catch (Exception ex)
347
                {
348
                    Log.WriteLine(ex);
349
                }
350
            }
351
        }
352

  
353
        private void SetAttributes(XElement node, List<ItemAttribute> attributes)
354
        {
355
            try
356
            {
357
                foreach (XElement item in node.Elements("ATTRIBUTE"))
358
                {
359
                    ItemAttribute attribute = new ItemAttribute()
360
                    {
361
                        UID = item.Attribute("UID").Value,
362
                        Length = item.Attribute("Length").Value,
363
                        Expression = item.Attribute("Expression").Value,
364
                        DisplayAttribute = item.Attribute("DisplayAttribute").Value,
365
                        AttributeType = item.Attribute("AttributeType").Value,
366
                        Attribute = item.Attribute("Attribute").Value,
367
                        AttrAt = item.Attribute("AttrAt").Value,
368
                        VALUE = item.Value,
369
                    };
370
                    attribute.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDAttributeMappingName(attribute.Attribute, AttributeMapping);
371
                    attributes.Add(attribute);
372
                }
373
            }
374
            catch (Exception ex)
375
            {
376
                Log.WriteLine(ex);
377
            }
378
        }
379
        #endregion
380

  
381

  
382
        public bool Init()
383
        {
384
            return ReMapping();
385
        }
386

  
387
        private bool ReMapping()
388
        {
389
            bool result = true;
390
            foreach (Symbol item in SYMBOLS)
391
            {
392
                item.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDSymbolMappingName(item.PARENT, SymbolMapping);
393
                if (string.IsNullOrEmpty(item.SPPIDMAPPINGNAME))
394
                {
395
                    Log.WriteLine("Fail Mapping" + item.UID + "/" + item.PARENT);
396
                    result = false;
397
                }
398

  
399
                foreach (SymbolChild child in item.CHILD_LIST)
400
                {
401
                    child.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDSymbolMappingName(child.Name, SymbolMapping);
402
                    if (string.IsNullOrEmpty(child.SPPIDMAPPINGNAME))
403
                    {
404
                        Log.WriteLine("Fail Mapping" + child.Name);
405
                        result = false;
406
                    }
407
                }
408

  
409
                foreach (ItemAttribute attribute in item.ATTRIBUTES)
410
                    attribute.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDAttributeMappingName(attribute.Attribute, AttributeMapping);
411
            }
412

  
413
            foreach (Line item in LINES)
414
            {
415
                item.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDSymbolMappingName(item.TYPE, SymbolMapping);
416
                if (string.IsNullOrEmpty(item.SPPIDMAPPINGNAME))
417
                {
418
                    Log.WriteLine("Fail Mapping" + item.UID + "/" + item.TYPE);
419
                    result = false;
420
                }
421

  
422
                foreach (ItemAttribute attribute in item.ATTRIBUTES)
423
                    attribute.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDAttributeMappingName(attribute.Attribute, AttributeMapping);
424
            }
425

  
426
            foreach (LineNumber item in LINENUMBERS)
427
            {
428
                item.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDSymbolMappingName(LineNumber.LineNumberSymbolPath, SymbolMapping);
429
                if (string.IsNullOrEmpty(item.SPPIDMAPPINGNAME))
430
                {
431
                    Log.WriteLine("Fail Mapping" + item.UID + "/" + item.NAME);
432
                    result = false;
433
                }
434

  
435
                foreach (ItemAttribute attribute in item.ATTRIBUTES)
436
                    attribute.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDAttributeMappingName(attribute.Attribute, AttributeMapping);
437
            }
438

  
439
            foreach (Text item in TEXTS)
440
            {
441
                item.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDSymbolMappingName(item.NAME, SymbolMapping);
442
                if (string.IsNullOrEmpty(item.SPPIDMAPPINGNAME))
443
                {
444
                    Log.WriteLine("Fail Mapping" + item.UID + "/" + item.NAME);
445
                    result = false;
446
                }
447

  
448
                foreach (ItemAttribute attribute in item.ATTRIBUTES)
449
                    attribute.SPPIDMAPPINGNAME = SPPIDUtill.GetSPPIDAttributeMappingName(attribute.Attribute, AttributeMapping);
450
            }
451

  
452
            return result;
453
        }
454

  
455
        #endregion
456

  
457
        #endregion
458

  
459
        #region Grouping Source
460
        private void SetGrouping()
461
        {
462
            try
463
            {
464
                // Line 기준으로 묶음
465
                foreach (Line item in LINES)
466
                    if (!item.GROUPING)
467
                        SetGroupingByItem(item);
468
                // End
469

  
470
                // Symbol 기준으로 묶음
471
                foreach (Symbol item in SYMBOLS)
472
                    if (!item.GROUPING)
473
                        SetGroupingByItem(item);
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)