프로젝트

일반

사용자정보

개정판 a4aac5fe

IDa4aac5fec9a068c9ad997de56ee9f899e756017e
상위 b627aa5a
하위 0fbefec6

김태성이(가) 일년 이상 전에 추가함

issue #0000 삼성전자 수정

Change-Id: Ie6b0b820b213f73cc2830c74532f90f3ac6ebafd

차이점 보기:

FileUploadWevService/FileUpload.asmx.cs
1 1
using KCOMDataModel.DataModel;
2
using SvgNet;
3
using SvgNet.Elements;
4
using SvgNet.Interfaces;
2 5
using System;
3 6
using System.Collections.Generic;
4 7
using System.Configuration;
5 8
using System.Drawing;
9
using System.Drawing.Drawing2D;
6 10
using System.IO;
7 11
using System.Linq;
12
using System.Text;
8 13
using System.Web;
9 14
using System.Web.Services;
10 15

  
......
75 80
            return result;
76 81
        }
77 82

  
83
        [WebMethod]
84
        //public string Run(string ProjectNo, string VPNo, string UserID, string FileName, byte[] imageBytes)
85
        public string RunSymbol(string ProjectNo, string VPNo, string UserID, string FileName, byte[] f)
86
        {
87
            string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
88
            KCOMEntities entity = new KCOMEntities(sConnString);
89

  
90
            /// 사용자가 Comment한 이미지 URL를 생성한다.
91

  
92
            var item = entity.PROPERTIES.Where(data => data.TYPE == "SystemInfo" && data.PROPERTY == "Url").FirstOrDefault();
93
            string result = "";
94
            if (item != null)
95
            {
96
                FileName = FileName.Replace(".png", ".svg");
97

  
98
                result = string.Format(@"{0}/UserData/{1}/{2}/{3}", item.VALUE, ProjectNo, UserID, FileName);
99
            }
100
            else
101
            {
102
                throw new Exception("SystemInfo 정보가 없습니다.");
103
            }
104

  
105
            try
106
            {
107
                var TileSourceProperty = entity.PROPERTIES.Where(data => data.TYPE == "TileSorceStorage" && data.PROPERTY == ProjectNo).FirstOrDefault();
108
                if (TileSourceProperty == null)
109
                {
110
                    throw new Exception("TileSourceStorage 정보가 없습니다.");
111
                }
112
                /// 실제 이미지를 저장할 위치
113
                string DirectoryPath = string.Format(Path.Combine(TileSourceProperty.VALUE, "UserData", ProjectNo, UserID));
114
                DirectoryInfo directoryInfo_ = new DirectoryInfo(DirectoryPath);
115

  
116
                if (!directoryInfo_.Exists)
117
                {
118
                    directoryInfo_.Create();
119
                }
120
     
121
                using (MemoryStream ms = new MemoryStream(f))
122
                {
123
                    using (var image = Image.FromStream(ms))
124
                    {
125
                        using (var ig = new SvgGraphics(Color.Transparent))
126
                        {
127
                            ig.PixelOffsetMode = PixelOffsetMode.HighSpeed;
128
                            ig.DrawImage(image, 0, 0);
129
                            GraphicsContainer cnt = ig.BeginContainer();
130
                            ig.EndContainer(cnt);
131

  
132
                            string s = ig.WriteSVGString();
133
                            string tempFile = Path.Combine(directoryInfo_.FullName, FileName);
134
                            var tw = new StreamWriter(tempFile, false);
135
                            tw.Write(s);
136
                            tw.Close();
137
                            tw.Dispose();
138
                            ig.Dispose();
139
                        }
140
                    }
141
                }
142
            }
143
            catch (Exception ex)
144
            {
145
                result = ex.ToString();
146
            }
147

  
148
            return result;
149
        }
150

  
151

  
152

  
153
        [WebMethod]
154
        public string ServerMapPathTest(string uri)
155
        {
156
            return GetFilePath(uri);
157
        }
158

  
159
        private string GetFilePath(string fileUri)
160
        {
161
            string filePath = null;
162

  
163
            try
164
            {
165
                string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
166
                KCOMEntities entity = new KCOMEntities(sConnString);
167

  
168
                var sysinfo = entity.PROPERTIES.Where(data => data.TYPE == "SystemInfo" && data.PROPERTY == "Url").FirstOrDefault();
169

  
170
                filePath = HttpContext.Current.Server.MapPath(new Uri(fileUri.Replace(sysinfo.VALUE, $"{ "Http://" + HttpContext.Current.Request.Url.Authority}")).LocalPath);
171
            }
172
            catch (Exception ex)
173
            {
174
                throw;
175
            }
176

  
177
            return filePath;
178
        }
179

  
180

  
181
        [WebMethod]
182
        public string SymbolRegen()
183
        {
184
            string result = "";
185

  
186
            try
187
            {
188
                StringBuilder sb = new StringBuilder();
189

  
190
                string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
191
                KCOMEntities entity = new KCOMEntities(sConnString);
192

  
193
                var sysinfo = entity.PROPERTIES.Where(data => data.TYPE == "SystemInfo" && data.PROPERTY == "Url").FirstOrDefault();
194

  
195
                foreach (var symbol in entity.SYMBOL_PRIVATE.Where(x => !x.IMAGE_URL.EndsWith(".svg")))
196
                {
197
                    //if (symbol.IMAGE_URL.StartsWith(sysinfo.VALUE))
198
                    //{
199
                    //    symbol.IMAGE_URL = symbol.IMAGE_URL.Replace(sysinfo.VALUE, "");
200
                    //}
201

  
202
                    if (symbol.IMAGE_URL.EndsWith(".png") || symbol.IMAGE_URL.EndsWith(".jpg"))
203
                    {
204
                        var filePath = GetFilePath(symbol.IMAGE_URL);
205

  
206
                        symbol.IMAGE_URL = symbol.IMAGE_URL.Replace(".png", ".svg").Replace(".jpg", ".svg");
207

  
208
                        using (var image = Image.FromFile(filePath))
209
                        {
210
                            using (var ig = new SvgGraphics(Color.Transparent))
211
                            {
212
                                ig.SmoothingMode = SmoothingMode.HighSpeed;
213
                                ig.DrawImage(image, 0, 0);
214
                                GraphicsContainer cnt = ig.BeginContainer();
215
                                ig.EndContainer(cnt);
216

  
217
                                string s = ig.WriteSVGString();
218
                                string svgFile = filePath.Replace(".png", ".svg").Replace(".jpg", ".svg");
219

  
220
                                var tw = new StreamWriter(svgFile, false);
221
                                tw.Write(s);
222
                                tw.Close();
223
                                tw.Dispose();
224
                                ig.Dispose();
225
                            }
226
                        }
227
                    }
228
                }
229

  
230
                foreach (var symbol in entity.SYMBOL_PUBLIC.Where(x => !x.IMAGE_URL.EndsWith(".svg") ))
231
                {
232
                    //if (symbol.IMAGE_URL.StartsWith(sysinfo.VALUE))
233
                    //{
234
                    //    symbol.IMAGE_URL = symbol.IMAGE_URL.Replace(sysinfo.VALUE, "");
235
                    //}
236

  
237
                    if (symbol.IMAGE_URL.EndsWith(".png") || symbol.IMAGE_URL.EndsWith(".jpg"))
238
                    {
239
                        var filePath = GetFilePath(symbol.IMAGE_URL);
240

  
241
                        symbol.IMAGE_URL = symbol.IMAGE_URL.Replace(".png", ".svg").Replace(".jpg", ".svg");
242

  
243
                        using (var image = Image.FromFile(filePath))
244
                        {
245
                            using (var ig = new SvgGraphics(Color.Transparent))
246
                            {
247
                                ig.DrawImage(image, 0, 0);
248
                                GraphicsContainer cnt = ig.BeginContainer();
249
                                ig.EndContainer(cnt);
250

  
251
                                string s = ig.WriteSVGString();
252
                                string svgFile = filePath.Replace(".png", ".svg").Replace(".jpg", ".svg");
253

  
254
                                var tw = new StreamWriter(svgFile, false);
255
                                tw.Write(s);
256
                                tw.Close();
257
                                tw.Dispose();
258
                                ig.Dispose();
259
                            }
260
                        }
261
                    }
262
                }
263

  
264
                entity.SaveChanges();
265

  
266
                result = "OK";
267
            }
268
            catch (Exception)
269
            {
270
                throw;
271
            }
272
            return result;
273
        }
274

  
275

  
78 276
        public Image Converter(string base64String)
79 277
        {
80 278
            byte[] imageBytes = Convert.FromBase64String(base64String);
FileUploadWevService/FileUploadWevService.csproj
90 90
      <Name>KCOMDataModel</Name>
91 91
    </ProjectReference>
92 92
  </ItemGroup>
93
  <ItemGroup>
94
    <PackageReference Include="SvgNet">
95
      <Version>3.3.2</Version>
96
    </PackageReference>
97
  </ItemGroup>
93 98
  <PropertyGroup>
94 99
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
95 100
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
IIpc/WcfServer.cs
31 31
            {
32 32
                this.server.OnThumbnailReceived(new IpcThumbnailEventArgs(pageno,path, isLast));
33 33
            }
34

  
34 35
        }
35 36

  
36 37
        private readonly ServiceHost host;
......
136 137

  
137 138
        public void Stop()
138 139
        {
139
            this.host.Close();
140
            this.host.Abort();
140 141
        }
141 142

  
142 143
        void IDisposable.Dispose()
KCOM.sln
5 5
MinimumVisualStudioVersion = 10.0.40219.1
6 6
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KCOM", "KCOM\KCOM.csproj", "{9F7C22A1-065C-4203-A570-F9EEA08F2344}"
7 7
	ProjectSection(ProjectDependencies) = postProject
8
		{8A7E6629-886E-4F39-A8C5-EE24589891A8} = {8A7E6629-886E-4F39-A8C5-EE24589891A8}
8 9
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B} = {E1AEB641-7B2B-4231-8518-2E4CF79AA64B}
9 10
		{F026B592-11B9-410C-B4FF-384E511A4666} = {F026B592-11B9-410C-B4FF-384E511A4666}
10 11
	EndProjectSection
......
149 150
EndProject
150 151
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataBaseMarge", "DataBaseMerge\DataBaseMarge.csproj", "{2D0475BD-FC6A-4E18-A7DA-9650C5189CC7}"
151 152
EndProject
153
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MarkupDataParse", "MarkupDataParse\MarkupDataParse.csproj", "{C8BB3E31-C512-4B87-B78F-6042A02594B0}"
154
EndProject
155
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MarkupDataParseTest", "MarkupDataParseTest\MarkupDataParseTest.csproj", "{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}"
156
EndProject
152 157
Global
153 158
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
154 159
		Daelim_RemoteTest|Any CPU = Daelim_RemoteTest|Any CPU
......
3680 3685
		{2D0475BD-FC6A-4E18-A7DA-9650C5189CC7}.Release|x64.Build.0 = Release|Any CPU
3681 3686
		{2D0475BD-FC6A-4E18-A7DA-9650C5189CC7}.Release|x86.ActiveCfg = Release|Any CPU
3682 3687
		{2D0475BD-FC6A-4E18-A7DA-9650C5189CC7}.Release|x86.Build.0 = Release|Any CPU
3688
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|Any CPU.ActiveCfg = Debug|Any CPU
3689
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|Any CPU.Build.0 = Debug|Any CPU
3690
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|x64.ActiveCfg = Debug|Any CPU
3691
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|x64.Build.0 = Debug|Any CPU
3692
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|x86.ActiveCfg = Debug|Any CPU
3693
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Daelim_RemoteTest|x86.Build.0 = Debug|Any CPU
3694
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|Any CPU.ActiveCfg = Debug|Any CPU
3695
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|Any CPU.Build.0 = Debug|Any CPU
3696
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|x64.ActiveCfg = Debug|Any CPU
3697
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|x64.Build.0 = Debug|Any CPU
3698
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|x86.ActiveCfg = Debug|Any CPU
3699
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_CadExport|x86.Build.0 = Debug|Any CPU
3700
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|Any CPU.ActiveCfg = Debug|Any CPU
3701
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|Any CPU.Build.0 = Debug|Any CPU
3702
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|x64.ActiveCfg = Debug|Any CPU
3703
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|x64.Build.0 = Debug|Any CPU
3704
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|x86.ActiveCfg = Debug|Any CPU
3705
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_Daelim|x86.Build.0 = Debug|Any CPU
3706
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|Any CPU.ActiveCfg = Debug|Any CPU
3707
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|Any CPU.Build.0 = Debug|Any CPU
3708
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|x64.ActiveCfg = Debug|Any CPU
3709
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|x64.Build.0 = Debug|Any CPU
3710
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|x86.ActiveCfg = Debug|Any CPU
3711
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_DevDoftech|x86.Build.0 = Debug|Any CPU
3712
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|Any CPU.ActiveCfg = Debug|Any CPU
3713
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|Any CPU.Build.0 = Debug|Any CPU
3714
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|x64.ActiveCfg = Debug|Any CPU
3715
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|x64.Build.0 = Debug|Any CPU
3716
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|x86.ActiveCfg = Debug|Any CPU
3717
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_HyoSung|x86.Build.0 = Debug|Any CPU
3718
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|Any CPU.ActiveCfg = Debug|Any CPU
3719
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|Any CPU.Build.0 = Debug|Any CPU
3720
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|x64.ActiveCfg = Debug|Any CPU
3721
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|x64.Build.0 = Debug|Any CPU
3722
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|x86.ActiveCfg = Debug|Any CPU
3723
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SEC|x86.Build.0 = Debug|Any CPU
3724
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|Any CPU.ActiveCfg = Debug|Any CPU
3725
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|Any CPU.Build.0 = Debug|Any CPU
3726
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|x64.ActiveCfg = Debug|Any CPU
3727
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|x64.Build.0 = Debug|Any CPU
3728
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|x86.ActiveCfg = Debug|Any CPU
3729
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug_SNI|x86.Build.0 = Debug|Any CPU
3730
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3731
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
3732
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|x64.ActiveCfg = Debug|Any CPU
3733
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|x64.Build.0 = Debug|Any CPU
3734
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|x86.ActiveCfg = Debug|Any CPU
3735
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Debug|x86.Build.0 = Debug|Any CPU
3736
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|Any CPU.ActiveCfg = Debug|Any CPU
3737
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|Any CPU.Build.0 = Debug|Any CPU
3738
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|x64.ActiveCfg = Debug|Any CPU
3739
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|x64.Build.0 = Debug|Any CPU
3740
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|x86.ActiveCfg = Debug|Any CPU
3741
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_BSENG|x86.Build.0 = Debug|Any CPU
3742
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|Any CPU.ActiveCfg = Debug|Any CPU
3743
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|Any CPU.Build.0 = Debug|Any CPU
3744
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|x64.ActiveCfg = Debug|Any CPU
3745
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|x64.Build.0 = Debug|Any CPU
3746
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|x86.ActiveCfg = Debug|Any CPU
3747
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Daelim|x86.Build.0 = Debug|Any CPU
3748
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|Any CPU.ActiveCfg = Debug|Any CPU
3749
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|Any CPU.Build.0 = Debug|Any CPU
3750
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|x64.ActiveCfg = Debug|Any CPU
3751
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|x64.Build.0 = Debug|Any CPU
3752
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|x86.ActiveCfg = Debug|Any CPU
3753
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Demo|x86.Build.0 = Debug|Any CPU
3754
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|Any CPU.ActiveCfg = Debug|Any CPU
3755
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|Any CPU.Build.0 = Debug|Any CPU
3756
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|x64.ActiveCfg = Debug|Any CPU
3757
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|x64.Build.0 = Debug|Any CPU
3758
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|x86.ActiveCfg = Debug|Any CPU
3759
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung_X86|x86.Build.0 = Debug|Any CPU
3760
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|Any CPU.ActiveCfg = Debug|Any CPU
3761
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|Any CPU.Build.0 = Debug|Any CPU
3762
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|x64.ActiveCfg = Debug|Any CPU
3763
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|x64.Build.0 = Debug|Any CPU
3764
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|x86.ActiveCfg = Debug|Any CPU
3765
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_Hyosung|x86.Build.0 = Debug|Any CPU
3766
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|Any CPU.ActiveCfg = Debug|Any CPU
3767
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|Any CPU.Build.0 = Debug|Any CPU
3768
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|x64.ActiveCfg = Debug|Any CPU
3769
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|x64.Build.0 = Debug|Any CPU
3770
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|x86.ActiveCfg = Debug|Any CPU
3771
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.DeployWeb_SNI|x86.Build.0 = Debug|Any CPU
3772
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|Any CPU.ActiveCfg = Release|Any CPU
3773
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|Any CPU.Build.0 = Release|Any CPU
3774
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|x64.ActiveCfg = Release|Any CPU
3775
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|x64.Build.0 = Release|Any CPU
3776
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|x86.ActiveCfg = Release|Any CPU
3777
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_Default|x86.Build.0 = Release|Any CPU
3778
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|Any CPU.ActiveCfg = Release|Any CPU
3779
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|Any CPU.Build.0 = Release|Any CPU
3780
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|x64.ActiveCfg = Release|Any CPU
3781
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|x64.Build.0 = Release|Any CPU
3782
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|x86.ActiveCfg = Release|Any CPU
3783
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release_PEMSS|x86.Build.0 = Release|Any CPU
3784
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
3785
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|Any CPU.Build.0 = Release|Any CPU
3786
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|x64.ActiveCfg = Release|Any CPU
3787
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|x64.Build.0 = Release|Any CPU
3788
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|x86.ActiveCfg = Release|Any CPU
3789
		{C8BB3E31-C512-4B87-B78F-6042A02594B0}.Release|x86.Build.0 = Release|Any CPU
3790
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|Any CPU.ActiveCfg = Debug|Any CPU
3791
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|Any CPU.Build.0 = Debug|Any CPU
3792
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|x64.ActiveCfg = Debug|Any CPU
3793
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|x64.Build.0 = Debug|Any CPU
3794
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|x86.ActiveCfg = Debug|Any CPU
3795
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Daelim_RemoteTest|x86.Build.0 = Debug|Any CPU
3796
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|Any CPU.ActiveCfg = Debug|Any CPU
3797
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|Any CPU.Build.0 = Debug|Any CPU
3798
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|x64.ActiveCfg = Debug|Any CPU
3799
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|x64.Build.0 = Debug|Any CPU
3800
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|x86.ActiveCfg = Debug|Any CPU
3801
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_CadExport|x86.Build.0 = Debug|Any CPU
3802
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|Any CPU.ActiveCfg = Debug|Any CPU
3803
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|Any CPU.Build.0 = Debug|Any CPU
3804
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|x64.ActiveCfg = Debug|Any CPU
3805
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|x64.Build.0 = Debug|Any CPU
3806
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|x86.ActiveCfg = Debug|Any CPU
3807
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_Daelim|x86.Build.0 = Debug|Any CPU
3808
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|Any CPU.ActiveCfg = Debug|Any CPU
3809
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|Any CPU.Build.0 = Debug|Any CPU
3810
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|x64.ActiveCfg = Debug|Any CPU
3811
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|x64.Build.0 = Debug|Any CPU
3812
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|x86.ActiveCfg = Debug|Any CPU
3813
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_DevDoftech|x86.Build.0 = Debug|Any CPU
3814
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|Any CPU.ActiveCfg = Debug|Any CPU
3815
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|Any CPU.Build.0 = Debug|Any CPU
3816
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|x64.ActiveCfg = Debug|Any CPU
3817
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|x64.Build.0 = Debug|Any CPU
3818
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|x86.ActiveCfg = Debug|Any CPU
3819
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_HyoSung|x86.Build.0 = Debug|Any CPU
3820
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|Any CPU.ActiveCfg = Debug|Any CPU
3821
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|Any CPU.Build.0 = Debug|Any CPU
3822
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|x64.ActiveCfg = Debug|Any CPU
3823
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|x64.Build.0 = Debug|Any CPU
3824
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|x86.ActiveCfg = Debug|Any CPU
3825
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SEC|x86.Build.0 = Debug|Any CPU
3826
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|Any CPU.ActiveCfg = Debug|Any CPU
3827
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|Any CPU.Build.0 = Debug|Any CPU
3828
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|x64.ActiveCfg = Debug|Any CPU
3829
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|x64.Build.0 = Debug|Any CPU
3830
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|x86.ActiveCfg = Debug|Any CPU
3831
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug_SNI|x86.Build.0 = Debug|Any CPU
3832
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3833
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|Any CPU.Build.0 = Debug|Any CPU
3834
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|x64.ActiveCfg = Debug|Any CPU
3835
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|x64.Build.0 = Debug|Any CPU
3836
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|x86.ActiveCfg = Debug|Any CPU
3837
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Debug|x86.Build.0 = Debug|Any CPU
3838
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|Any CPU.ActiveCfg = Debug|Any CPU
3839
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|Any CPU.Build.0 = Debug|Any CPU
3840
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|x64.ActiveCfg = Debug|Any CPU
3841
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|x64.Build.0 = Debug|Any CPU
3842
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|x86.ActiveCfg = Debug|Any CPU
3843
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_BSENG|x86.Build.0 = Debug|Any CPU
3844
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|Any CPU.ActiveCfg = Debug|Any CPU
3845
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|Any CPU.Build.0 = Debug|Any CPU
3846
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|x64.ActiveCfg = Debug|Any CPU
3847
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|x64.Build.0 = Debug|Any CPU
3848
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|x86.ActiveCfg = Debug|Any CPU
3849
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Daelim|x86.Build.0 = Debug|Any CPU
3850
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|Any CPU.ActiveCfg = Debug|Any CPU
3851
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|Any CPU.Build.0 = Debug|Any CPU
3852
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|x64.ActiveCfg = Debug|Any CPU
3853
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|x64.Build.0 = Debug|Any CPU
3854
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|x86.ActiveCfg = Debug|Any CPU
3855
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Demo|x86.Build.0 = Debug|Any CPU
3856
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|Any CPU.ActiveCfg = Debug|Any CPU
3857
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|Any CPU.Build.0 = Debug|Any CPU
3858
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|x64.ActiveCfg = Debug|Any CPU
3859
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|x64.Build.0 = Debug|Any CPU
3860
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|x86.ActiveCfg = Debug|Any CPU
3861
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung_X86|x86.Build.0 = Debug|Any CPU
3862
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|Any CPU.ActiveCfg = Debug|Any CPU
3863
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|Any CPU.Build.0 = Debug|Any CPU
3864
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|x64.ActiveCfg = Debug|Any CPU
3865
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|x64.Build.0 = Debug|Any CPU
3866
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|x86.ActiveCfg = Debug|Any CPU
3867
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_Hyosung|x86.Build.0 = Debug|Any CPU
3868
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|Any CPU.ActiveCfg = Debug|Any CPU
3869
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|Any CPU.Build.0 = Debug|Any CPU
3870
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|x64.ActiveCfg = Debug|Any CPU
3871
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|x64.Build.0 = Debug|Any CPU
3872
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|x86.ActiveCfg = Debug|Any CPU
3873
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.DeployWeb_SNI|x86.Build.0 = Debug|Any CPU
3874
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|Any CPU.ActiveCfg = Release|Any CPU
3875
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|Any CPU.Build.0 = Release|Any CPU
3876
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|x64.ActiveCfg = Release|Any CPU
3877
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|x64.Build.0 = Release|Any CPU
3878
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|x86.ActiveCfg = Release|Any CPU
3879
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_Default|x86.Build.0 = Release|Any CPU
3880
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|Any CPU.ActiveCfg = Release|Any CPU
3881
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|Any CPU.Build.0 = Release|Any CPU
3882
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|x64.ActiveCfg = Release|Any CPU
3883
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|x64.Build.0 = Release|Any CPU
3884
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|x86.ActiveCfg = Release|Any CPU
3885
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release_PEMSS|x86.Build.0 = Release|Any CPU
3886
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|Any CPU.ActiveCfg = Release|Any CPU
3887
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|Any CPU.Build.0 = Release|Any CPU
3888
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|x64.ActiveCfg = Release|Any CPU
3889
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|x64.Build.0 = Release|Any CPU
3890
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|x86.ActiveCfg = Release|Any CPU
3891
		{374DFA4F-DAA3-4A7D-B260-D4CC747B0836}.Release|x86.Build.0 = Release|Any CPU
3683 3892
	EndGlobalSection
3684 3893
	GlobalSection(SolutionProperties) = preSolution
3685 3894
		HideSolutionNode = FALSE
KCOM/Common/Converter/SvgImageConverter.cs
1
using Svg2Xaml;
1
using SharpVectors.Converters;
2
using SharpVectors.Dom.Utils;
2 3
using System;
3 4
using System.Collections.Generic;
5
using System.ComponentModel;
4 6
using System.Globalization;
7
using System.IO;
5 8
using System.Linq;
6 9
using System.Text;
7 10
using System.Threading.Tasks;
8 11
using System.Windows.Controls;
9 12
using System.Windows.Data;
13
using System.Windows.Markup;
10 14
using System.Windows.Media;
11 15
using System.Windows.Media.Imaging;
12 16

  
13 17
namespace KCOM.Common.Converter
14 18
{
15
    class SvgImageConverter : IValueConverter
19
    public class SvgImageConverter : SvgImageBase,IValueConverter
16 20
    {
21
        #region Private Fields
22

  
23
        private Uri _baseUri;
24
        private readonly UriTypeConverter _uriConverter;
25

  
26
        #endregion
27

  
28
        public SvgImageConverter()
29
        {
30
            _uriConverter = new UriTypeConverter();
31
        }
17 32

  
18 33
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
19 34
        {
20
            if(value == null)
35
            try
21 36
            {
22
                return null;
23
            }
37
                if (string.IsNullOrWhiteSpace(_appName))
38
                {
39
                    if (this.IsDesignMode() || LicenseManager.UsageMode == LicenseUsageMode.Designtime)
40
                    {
41
                        this.GetAppName();
42
                    }
43
                }
24 44

  
25
            //var uri = string.Format("pack://application:,,,/images/{0}{1}.png", values); // for example
26
            var uri = value.ToString();
45
                Uri inputUri = null;
46
                if (parameter != null)
47
                {
48
                    inputUri = this.ResolveUri(parameter.ToString());
49
                }
50
                else if (value != null)
51
                {
52
                    inputUri = _uriConverter.ConvertFrom(value) as Uri;
53
                    if (inputUri == null)
54
                    {
55
                        inputUri = this.ResolveUri(value.ToString());
56
                    }
57
                    else if (!inputUri.IsAbsoluteUri)
58
                    {
59
                        inputUri = this.ResolveUri(value.ToString());
60
                    }
61
                }
27 62

  
28
            Image img = new Image();
29
            if (uri.Contains(".svg"))
30
            {
31
                byte[] imageData = null;
32
                DrawingImage image = null;
33
                using (System.Net.WebClient web = new System.Net.WebClient())
63
                if (inputUri == null)
34 64
                {
35
                    imageData = web.DownloadData(new Uri(uri));
36
                    System.IO.Stream stream = new System.IO.MemoryStream(imageData);
37
                    image = SvgReader.Load(stream);
65
                    return null;
38 66
                }
39
                img.Source = image;
67
                var svgSource = inputUri.IsAbsoluteUri ? inputUri : new Uri(_baseUri, inputUri);
40 68

  
69
                if (svgSource.ToString().EndsWith(".svg"))
70
                {
71
                    return this.GetImage(svgSource);
72
                }
73
                else
74
                {
75
                    return new BitmapImage(new Uri(value.ToString()));
76
                }
77
                
41 78
            }
42
            else
79
            catch
43 80
            {
44
                img.Source = new BitmapImage(new Uri(uri));
81
                //throw; #82
45 82
            }
46

  
47
            //return new BitmapImage(new Uri(uri));
48
            return img.Source;
83
            return null;
49 84
        }
50 85

  
51 86
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
52 87
        {
53 88
            throw new NotImplementedException();
54 89
        }
90

  
91
        public override object ProvideValue(IServiceProvider serviceProvider)
92
        {
93
            var uriContext = serviceProvider.GetService(typeof(IUriContext)) as IUriContext;
94
            if (uriContext != null)
95
            {
96
                _baseUri = uriContext.BaseUri;
97
            }
98

  
99
            return this;
100
        }
101

  
102

  
103
        #region Private Methods
104

  
105
        /// <summary>
106
        /// Converts the SVG source file to <see cref="Uri"/>
107
        /// </summary>
108
        /// <param name="inputParameter">
109
        /// Object that can provide services for the markup extension.
110
        /// </param>
111
        /// <returns>
112
        /// Returns the valid <see cref="Uri"/> of the SVG source path if
113
        /// successful; otherwise, it returns <see langword="null"/>.
114
        /// </returns>
115
        private Uri ResolveUri(string inputParameter)
116
        {
117
            if (string.IsNullOrWhiteSpace(inputParameter))
118
            {
119
                return null;
120
            }
121
            if (string.IsNullOrWhiteSpace(_appName))
122
            {
123
                this.GetAppName();
124
            }
125
            var comparer = StringComparison.OrdinalIgnoreCase;
126

  
127
            Uri svgSource;
128
            if (Uri.TryCreate(inputParameter, UriKind.RelativeOrAbsolute, out svgSource))
129
            {
130
                if (svgSource.IsAbsoluteUri)
131
                {
132
                    return svgSource;
133
                }
134
                // Try getting a local file in the same directory....
135
                string svgPath = inputParameter;
136
                if (inputParameter[0] == '\\' || inputParameter[0] == '/')
137
                {
138
                    svgPath = inputParameter.Substring(1);
139
                }
140
                svgPath = svgPath.Replace('/', '\\');
141

  
142
                var assembly = this.GetExecutingAssembly();
143
                if (assembly != null)
144
                {
145
                    string localFile = PathUtils.Combine(assembly, svgPath);
146

  
147
                    if (File.Exists(localFile))
148
                    {
149
                        return new Uri(localFile);
150
                    }
151
                }
152

  
153
                // Try getting it as resource file...
154
                var inputUri = _uriConverter.ConvertFrom(inputParameter) as Uri;
155
                if (inputUri != null)
156
                {
157
                    if (inputUri.IsAbsoluteUri)
158
                    {
159
                        return inputUri;
160
                    }
161
                    if (_baseUri != null)
162
                    {
163
                        var validUri = new Uri(_baseUri, inputUri);
164
                        if (validUri.IsAbsoluteUri)
165
                        {
166
                            if (validUri.IsFile && File.Exists(validUri.LocalPath))
167
                            {
168
                                return validUri;
169
                            }
170
                        }
171
                    }
172
                }
173

  
174
                string asmName = _appName;
175
                if (string.IsNullOrWhiteSpace(asmName) && assembly != null)
176
                {
177
                    // It should not be the SharpVectors.Converters.Wpf.dll, which contains this extension...
178
                    string tempName = assembly.GetName().Name;
179
                    if (!string.Equals("SharpVectors.Converters.Wpf", tempName, comparer)
180
                        && !string.Equals("WpfSurface", tempName, comparer))
181
                    {
182
                        asmName = tempName;
183
                    }
184
                }
185

  
186
                svgPath = inputParameter;
187
                if (inputParameter.StartsWith("/", comparer))
188
                {
189
                    svgPath = svgPath.TrimStart('/');
190
                }
191

  
192
                // A little hack to display preview in design mode
193
                if (this.IsDesignMode() && !string.IsNullOrWhiteSpace(_appName))
194
                {
195
                    //string uriDesign = string.Format("/{0};component/{1}", _appName, svgPath);
196
                    //return new Uri(uriDesign, UriKind.Relative);
197

  
198
                    // The relative path is not working with the Converter...
199
                    string uriDesign = string.Format("pack://application:,,,/{0};component/{1}",
200
                        _appName, svgPath);
201

  
202
                    return new Uri(uriDesign);
203
                }
204

  
205
                string uriString = string.Format("pack://application:,,,/{0};component/{1}",
206
                    asmName, svgPath);
207

  
208
                return new Uri(uriString);
209
            }
210

  
211
            return null;
212
        }
213

  
214
        #endregion
55 215
    }
56 216
}
KCOM/Controls/Sample.xaml.cs
190 190

  
191 191
            this.PageCount = PageList.Count();
192 192

  
193
#if !_SEC
193 194
            string endpoint = Common.Commons.shortGuid() + "Thumbnail";
194 195

  
195 196
            IIpc.WcfServer wcfServer = new IIpc.WcfServer(endpoint);
......
199 200
            DownloadProcess.ThumbnailDownloader(endpoint,ViewerDataModel.Instance.IsAdmin, this._DefaultUri, tempStoragePath, "jpg", this.PageCount);
200 201

  
201 202
            DownloadProcess.ProcessMonitor(ViewerDataModel.Instance.IsAdmin, tempStoragePath, App.PageStorage.LocalStorage,Common.ViewerDataModel.Instance.OriginalTempFile);
202

  
203
#endif
203 204
            App.splashScreen.Close();
204 205

  
205 206
        }
......
218 219
                if(e.IsLast)
219 220
                {
220 221
                    (sender as IIpc.IIpcServer).IpcThumbnailReceived -= WcfServer_IpcThumbnailReceived;
221
                    //(sender as IIpc.IIpcServer).Stop();
222
                    (sender as IIpc.IIpcServer).Stop();
222 223
                }
223 224

  
224 225
                //if (e.PageNo > 2 && ImgListbox.Items.Count > 0)
......
558 559
        {
559 560
            Logger.sendCheckLog("SetCommentList", 1);
560 561
            Logger.sendCheckLog("SetCommentList_기존 Comment 색상 제거", 1);
561
            #region 기존 색상 제거 작업
562
#region 기존 색상 제거 작업
562 563

  
563 564
            foreach (var item in this._thumbnailItems)
564 565
            {
......
567 568
                    item.DisplayColorItems.Clear();
568 569
                }
569 570
            }
570
            #endregion
571
#endregion
571 572

  
572 573
            Logger.sendCheckLog("SetCommentList_delItem select 및 remove", 1);
573 574
            List<UsersCommentPagesMember> _delItem = new List<UsersCommentPagesMember>();
KCOM/Controls/Symbol.xaml
1
<UserControl x:Class="KCOM.Controls.Symbol"
2
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
5
             xmlns:common="clr-namespace:KCOM.Common"
6
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
7
             xmlns:WrapPanel ="clr-namespace:KCOM.WrapPanel"
8
             xmlns:local="clr-namespace:KCOM.Controls"
9
              xmlns:ZoomAndPan="clr-namespace:ZoomAndPan;assembly=ZoomAndPan"
10
      	     xmlns:telerikDragDrop="clr-namespace:Telerik.Windows.DragDrop;assembly=Telerik.Windows.Controls"
11
             	 xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
12
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
13
             xmlns:converter="clr-namespace:KCOM.Common.Converter"
14
             xmlns:Behaviors="clr-namespace:KCOM.Behaviors"
15
             mc:Ignorable="d" Background="#f5f5f5"
16
             d:DesignHeight="900" d:DesignWidth="300">
1
<UserControl
2
    x:Class="KCOM.Controls.Symbol"
3
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5
    xmlns:Behaviors="clr-namespace:KCOM.Behaviors"
6
    xmlns:WrapPanel="[WrapPanel ]clr-namespace:KCOM.WrapPanel"
7
    xmlns:ZoomAndPan="clr-namespace:ZoomAndPan;assembly=ZoomAndPan"
8
    xmlns:common="clr-namespace:KCOM.Common"
9
    xmlns:converter="clr-namespace:KCOM.Common.Converter"
10
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
11
    xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
12
    xmlns:local="clr-namespace:KCOM.Controls"
13
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
14
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
15
    xmlns:telerikDragDrop="clr-namespace:Telerik.Windows.DragDrop;assembly=Telerik.Windows.Controls"
16
    d:DesignHeight="900"
17
    d:DesignWidth="300"
18
    Background="#f5f5f5"
19
    mc:Ignorable="d">
17 20
    <UserControl.Resources>
18
        <converter:SvgImageConverter x:Key="SvgImageConverter"/>
19
        <Style x:Key="CustomDragVisualStyle2" TargetType="telerik:DragVisual" BasedOn="{StaticResource DragVisualStyle}">
21
        <converter:SvgImageConverter x:Key="SvgImageConverter" />
22
        <Style
23
            x:Key="CustomDragVisualStyle2"
24
            BasedOn="{StaticResource DragVisualStyle}"
25
            TargetType="telerik:DragVisual">
20 26
            <Setter Property="Background" Value="Transparent" />
21 27
            <Setter Property="BorderThickness" Value="0" />
22
            <Setter Property="Margin"  Value="0" />
23
            <Setter Property="Padding"  Value="0" />
28
            <Setter Property="Margin" Value="0" />
29
            <Setter Property="Padding" Value="0" />
24 30
        </Style>
25
        <Style TargetType="telerik:RadListBoxItem" BasedOn="{StaticResource RadListBoxItemStyle}">
26
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True"/>
31
        <Style BasedOn="{StaticResource RadListBoxItemStyle}" TargetType="telerik:RadListBoxItem">
32
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
27 33
            <!--<Setter Property="telerik:TouchManager.DragStartTrigger" Value="TapHoldAndMove"/>-->
28 34
        </Style>
29 35
        <DataTemplate x:Key="SymbolTemplate_Private">
30
            <StackPanel MouseLeftButtonDown="Move_Symbol" AllowDrop="False" MouseLeave="StackPanel_MouseLeave" MouseUp="StackPanel_MouseUp" ToolTipService.ToolTip="{Binding Name}">
36
            <StackPanel
37
                AllowDrop="False"
38
                MouseLeave="StackPanel_MouseLeave"
39
                MouseLeftButtonDown="Move_Symbol"
40
                MouseUp="StackPanel_MouseUp"
41
                ToolTipService.ToolTip="{Binding Name}">
31 42
                <Grid>
32 43
                    <StackPanel>
33 44
                        <!--<Border Background="#FF1FA3EB">-->
34 45
                        <Border Background="#FF2A579A">
35
                            <TextBox MaxWidth="200"
36
                                    Background="#FF2A579A"
37
                                    HorizontalAlignment="Center"
38
                                    VerticalAlignment="Center"
39
                                    Foreground="White"
40
                                    Text="{Binding Name}" 
41
                                    x:Name="symbolName"          
42
                                    BorderBrush="#FF2A579A"
43
                                    KeyDown="OnKeyDownHandler"/>
46
                            <TextBox
47
                                x:Name="symbolName"
48
                                MaxWidth="200"
49
                                HorizontalAlignment="Center"
50
                                VerticalAlignment="Center"
51
                                Background="#FF2A579A"
52
                                BorderBrush="#FF2A579A"
53
                                Foreground="White"
54
                                KeyDown="OnKeyDownHandler"
55
                                Text="{Binding Name}" />
44 56
                        </Border>
45
                        <Image Width="200"
57
                        <Image
58
                            x:Name="symbolImage"
59
                            Width="200"
46 60
                            Height="64"
47 61
                            Margin="3"
48 62
                            HorizontalAlignment="Center"
49
                               Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter},UpdateSourceTrigger=PropertyChanged}"
50
                            x:Name="symbolImage"/>
63
                            Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}, UpdateSourceTrigger=PropertyChanged}" />
51 64
                    </StackPanel>
52
                    <Rectangle Opacity="0.7"
53
                            Stroke="#ff6c6d6d"
54
                            StrokeThickness="1" />
65
                    <Rectangle
66
                        Opacity="0.7"
67
                        Stroke="#ff6c6d6d"
68
                        StrokeThickness="1" />
55 69
                </Grid>
56 70
            </StackPanel>
57 71
        </DataTemplate>
58 72
    </UserControl.Resources>
59
    <Grid  Margin="10">
60
        <telerik:RadTabControl BorderThickness="0" x:Name="RadTab" telerik:StyleManager.Theme="Office2016"  HeaderBackground="#f5f5f5" FontSize="10" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
61
                               ScrollViewer.HorizontalScrollBarVisibility ="Disabled" SelectedIndex="0" PreviewSelectionChanged="RadTabControl_PreviewSelectionChanged">
73
    <Grid Margin="10">
74
        <telerik:RadTabControl
75
            x:Name="RadTab"
76
            HorizontalAlignment="Stretch"
77
            HorizontalContentAlignment="Stretch"
78
            telerik:StyleManager.Theme="Office2016"
79
            BorderThickness="0"
80
            FontSize="10"
81
            HeaderBackground="#f5f5f5"
82
            PreviewSelectionChanged="RadTabControl_PreviewSelectionChanged"
83
            ScrollViewer.HorizontalScrollBarVisibility="Disabled"
84
            SelectedIndex="0">
62 85

  
63
            <telerik:RadTabItem Header="Private" FontSize="10" FontWeight="Bold" HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
86
            <telerik:RadTabItem
87
                FontSize="10"
88
                FontWeight="Bold"
89
                Header="Private"
90
                HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
64 91
                <Grid>
65 92
                    <Grid.RowDefinitions>
66
                        <RowDefinition Height="Auto"/>
67
                        <RowDefinition Height="Auto"/>
68
                        <RowDefinition Height="*"/>
93
                        <RowDefinition Height="Auto" />
94
                        <RowDefinition Height="Auto" />
95
                        <RowDefinition Height="*" />
69 96
                    </Grid.RowDefinitions>
70 97

  
71 98
                    <StackPanel Grid.Row="0" Orientation="Vertical">
72 99
                        <Grid Margin="0,10">
73 100
                            <Grid.ColumnDefinitions>
74
                                <ColumnDefinition Width="3*"/>
75
                                <ColumnDefinition Width="3*"/>
76
                                <ColumnDefinition Width="3*"/>
77
                                <ColumnDefinition Width="3*"/>
101
                                <ColumnDefinition Width="3*" />
102
                                <ColumnDefinition Width="3*" />
103
                                <ColumnDefinition Width="3*" />
104
                                <ColumnDefinition Width="3*" />
78 105
                            </Grid.ColumnDefinitions>
79
                            <Button Content="Place"     Grid.Column="0" Click="Place_Symbol"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
80
                            <Button Content="Capture"  Grid.Column="1" Click="Image_Place_Register"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
81
                            <Button Content="Register"  Grid.Column="2" Click="Create_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
106
                            <Button
107
                                Grid.Column="0"
108
                                Margin="5,0,0,0"
109
                                Padding="5"
110
                                Background="#3d3d3d"
111
                                Click="Place_Symbol"
112
                                Content="Place"
113
                                FontWeight="Normal"
114
                                Foreground="White" />
115
                            <Button
116
                                Grid.Column="1"
117
                                Margin="5,0,0,0"
118
                                Padding="5"
119
                                Background="#3d3d3d"
120
                                Click="Image_Place_Register"
121
                                Content="Capture"
122
                                FontWeight="Normal"
123
                                Foreground="White" />
124
                            <Button
125
                                Grid.Column="2"
126
                                Margin="5,0,0,0"
127
                                Padding="5"
128
                                Background="#3d3d3d"
129
                                Click="Create_Symbol"
130
                                Content="Register"
131
                                FontWeight="Normal"
132
                                Foreground="White" />
82 133
                            <!-- <Button Content="Rename"    Grid.Column="2" Click="Rename_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/> -->
83
                            
84
                            <Button Content="Remove"    Grid.Column="3" Click="Remove_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
134

  
135
                            <Button
136
                                Grid.Column="3"
137
                                Margin="5,0,0,0"
138
                                Padding="5"
139
                                Background="#3d3d3d"
140
                                Click="Remove_Symbol"
141
                                Content="Remove"
142
                                FontWeight="Normal"
143
                                Foreground="White" />
85 144
                        </Grid>
86 145
                        <Grid Margin="0,0,0,10">
87 146
                            <Grid.ColumnDefinitions>
88
                                <ColumnDefinition Width="*"/>
147
                                <ColumnDefinition Width="*" />
89 148
                            </Grid.ColumnDefinitions>
90
                            <TextBlock Text="[Tip : Double Click]" Grid.Column="0" FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Right"/>
149
                            <TextBlock
150
                                Grid.Column="0"
151
                                HorizontalAlignment="Right"
152
                                VerticalAlignment="Center"
153
                                FontSize="10"
154
                                Text="[Tip : Double Click]" />
91 155
                        </Grid>
92 156
                    </StackPanel>
93
                    <ScrollViewer x:Name="ScView" Grid.Row="2" >
94
                        <telerik:RadListBox x:Name="lstSymbolPrivate" Background="#f5f5f5" FontWeight="Normal"
95
                                 ItemTemplate="{StaticResource SymbolTemplate_Private}" 
96
                                 MouseDown="lstSymbolPrivate_MouseDown" 
97
                                 PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
98
                                 MouseLeave="lstSymbolPrivate_MouseLeave" AllowDrop="False"
99
                                 PreviewMouseWheel ="lstSymbolPrivate_PreviewMouseWheel">
157
                    <ScrollViewer x:Name="ScView" Grid.Row="2">
158
                        <telerik:RadListBox
159
                            x:Name="lstSymbolPrivate"
160
                            AllowDrop="False"
161
                            Background="#f5f5f5"
162
                            FontWeight="Normal"
163
                            ItemTemplate="{StaticResource SymbolTemplate_Private}"
164
                            MouseDown="lstSymbolPrivate_MouseDown"
165
                            MouseLeave="lstSymbolPrivate_MouseLeave"
166
                            PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
167
                            PreviewMouseWheel="lstSymbolPrivate_PreviewMouseWheel">
100 168
                            <!--<telerik:RadListBox.DragDropBehavior>
101 169
                                <telerik:ListBoxDragDropBehavior AllowReorder="True" />
102 170
                            </telerik:RadListBox.DragDropBehavior>-->
......
106 174
                                        <DataTemplate>
107 175
                                            <Grid Width="80">
108 176
                                                <Image
109
                                            Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter}}"
110
                                            HorizontalAlignment="Left"/>
177
                                                    HorizontalAlignment="Left"
178
                                                    Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}}"
179
                                                    Stretch="UniformToFill" />
111 180
                                            </Grid>
112 181
                                        </DataTemplate>
113 182
                                    </Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
......
118 187
                </Grid>
119 188
            </telerik:RadTabItem>
120 189

  
121
            <telerik:RadTabItem Header="Public" FontWeight="Bold" FontSize="10" HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}" >
190
            <telerik:RadTabItem
191
                FontSize="10"
192
                FontWeight="Bold"
193
                Header="Public"
194
                HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
122 195
                <Grid>
123 196
                    <Grid.RowDefinitions>
124
                        <RowDefinition Height="Auto"/>
125
                        <RowDefinition Height="*"/>
197
                        <RowDefinition Height="Auto" />
198
                        <RowDefinition Height="*" />
126 199
                    </Grid.RowDefinitions>
127 200

  
128 201
                    <StackPanel Grid.Row="0" Orientation="Vertical">
129 202
                        <Grid Margin="0,10">
130 203
                            <Grid.ColumnDefinitions>
131
                                <ColumnDefinition Width="1*"/>
132
                                <ColumnDefinition Width="3*"/>
204
                                <ColumnDefinition Width="1*" />
205
                                <ColumnDefinition Width="3*" />
133 206
                            </Grid.ColumnDefinitions>
134 207

  
135
                            <TextBlock FontWeight="Normal" VerticalAlignment="Center">Department</TextBlock>
136
                            <telerik:RadComboBox FontWeight="Normal" EmptyText="ALL" Grid.Column="1"  HorizontalAlignment="Stretch" Margin="5" DropDownWidth="*" Background="White" BorderBrush="#d6d6d6" x:Name="deptlist"
137
                                                  ClearSelectionButtonVisibility="Visible" ClearSelectionButtonContent="Show All" SelectionChanged="deptlist_SelectionChanged"/>
208
                            <TextBlock VerticalAlignment="Center" FontWeight="Normal">Department</TextBlock>
209
                            <telerik:RadComboBox
210
                                x:Name="deptlist"
211
                                Grid.Column="1"
212
                                Margin="5"
213
                                HorizontalAlignment="Stretch"
214
                                Background="White"
215
                                BorderBrush="#d6d6d6"
216
                                ClearSelectionButtonContent="Show All"
217
                                ClearSelectionButtonVisibility="Visible"
218
                                DropDownWidth="*"
219
                                EmptyText="ALL"
220
                                FontWeight="Normal"
221
                                SelectionChanged="deptlist_SelectionChanged" />
138 222

  
139 223
                        </Grid>
140 224

  
141 225
                        <Grid Margin="0,0">
142 226
                            <Grid.ColumnDefinitions>
143
                                <ColumnDefinition Width="3*"/>
144
                                <ColumnDefinition Width="3*"/>
145
                                <ColumnDefinition Width="3*"/>
146
                                <ColumnDefinition Width="3*"/>
227
                                <ColumnDefinition Width="3*" />
228
                                <ColumnDefinition Width="3*" />
229
                                <ColumnDefinition Width="3*" />
230
                                <ColumnDefinition Width="3*" />
147 231
                            </Grid.ColumnDefinitions>
148
                            <Button Content="Place" Click="Place_Symbol_Public" Grid.Column="0"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
149
                            <Button Content="Capture"  Grid.Column="1" Click="Image_Place_Register"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
150
                            <Button Content="Register" Grid.Column="2" Click="Create_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>                            
232
                            <Button
233
                                Grid.Column="0"
234
                                Margin="5,0,0,0"
235
                                Padding="5"
236
                                Background="#3d3d3d"
237
                                Click="Place_Symbol_Public"
238
                                Content="Place"
239
                                FontWeight="Normal"
240
                                Foreground="White" />
241
                            <Button
242
                                Grid.Column="1"
243
                                Margin="5,0,0,0"
244
                                Padding="5"
245
                                Background="#3d3d3d"
246
                                Click="Image_Place_Register"
247
                                Content="Capture"
248
                                FontWeight="Normal"
249
                                Foreground="White" />
250
                            <Button
251
                                Grid.Column="2"
252
                                Margin="5,0,0,0"
253
                                Padding="5"
254
                                Background="#3d3d3d"
255
                                Click="Create_Symbol"
256
                                Content="Register"
257
                                FontWeight="Normal"
258
                                Foreground="White" />
151 259
                            <!--<Button Content="Rename" Grid.Column="2" Click="Rename_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>-->
152
                            <Button Content="Remove" Grid.Column="3" Click="Remove_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5"  Background="#3d3d3d" Foreground="White"/>
260
                            <Button
261
                                Grid.Column="3"
262
                                Margin="5,0,0,0"
263
                                Padding="5"
264
                                Background="#3d3d3d"
265
                                Click="Remove_Symbol_Public"
266
                                Content="Remove"
267
                                FontWeight="Normal"
268
                                Foreground="White" />
153 269
                        </Grid>
154 270
                        <Grid Margin="0,10">
155 271
                            <Grid.ColumnDefinitions>
156
                                <ColumnDefinition Width="*"/>
272
                                <ColumnDefinition Width="*" />
157 273
                            </Grid.ColumnDefinitions>
158
                            <TextBlock Text="[Tip : Double Click]" Grid.Column="0" FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Right"/>
274
                            <TextBlock
275
                                Grid.Column="0"
276
                                HorizontalAlignment="Right"
277
                                VerticalAlignment="Center"
278
                                FontSize="10"
279
                                Text="[Tip : Double Click]" />
159 280
                        </Grid>
160 281
                    </StackPanel>
161
                    <ScrollViewer x:Name="ScView_Public" Grid.Row="2" >
162
                        <telerik:RadListBox x:Name="lstSymbolPublic" Background="#f5f5f5" FontWeight="Normal"
163
                                 ItemTemplate="{StaticResource SymbolTemplate_Private}"   AllowDrop="False"
164
                                 MouseDown="lstSymbolPrivate_MouseDown"
165
                                 PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
166
                                 MouseLeave="lstSymbolPrivate_MouseLeave"
167
                                 PreviewMouseWheel ="lstSymbolPublic_PreviewMouseWheel">
282
                    <ScrollViewer x:Name="ScView_Public" Grid.Row="2">
283
                        <telerik:RadListBox
284
                            x:Name="lstSymbolPublic"
285
                            AllowDrop="False"
286
                            Background="#f5f5f5"
287
                            FontWeight="Normal"
288
                            ItemTemplate="{StaticResource SymbolTemplate_Private}"
289
                            MouseDown="lstSymbolPrivate_MouseDown"
290
                            MouseLeave="lstSymbolPrivate_MouseLeave"
291
                            PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
292
                            PreviewMouseWheel="lstSymbolPublic_PreviewMouseWheel">
168 293
                            <telerik:RadListBox.DragDropBehavior>
169 294
                                <telerik:ListBoxDragDropBehavior AllowReorder="True" />
170 295
                            </telerik:RadListBox.DragDropBehavior>
......
173 298
                                    <Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
174 299
                                        <DataTemplate>
175 300
                                            <Grid>
176
                                                <Image Width="80" x:Name="SymbolImage" Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter}}"/>
301
                                                <Image
302
                                                    x:Name="SymbolImage"
303
                                                    Width="80"
304
                                                    Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}}"
305
                                                    Stretch="Fill" />
177 306
                                            </Grid>
178 307
                                        </DataTemplate>
179 308
                                    </Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
KCOM/Controls/Symbol.xaml.cs
5 5
using KCOMDataModel.DataModel;
6 6
using MarkupToPDF.Common;
7 7
using MarkupToPDF.Controls.Parsing;
8
using Svg2Xaml;
9 8
using System;
10 9
using System.Collections.Generic;
11 10
using System.ComponentModel;
......
301 300
                        byte[] Img_byte = fs.ToArray();
302 301

  
303 302
                        kr.co.devdoftech.cloud.FileUpload fileUploader = App.FileUploader;
304
                        filename = fileUploader.Run(App.ViewInfo.ProjectNO, Common.ViewerDataModel.Instance.SystemMain.dzMainMenu._DocItem.DOCUMENT_NO, App.ViewInfo.UserID, Commons.shortGuid() + ".png", Img_byte);
303
                        filename = fileUploader.RunSymbol(App.ViewInfo.ProjectNO, Common.ViewerDataModel.Instance.SystemMain.dzMainMenu._DocItem.DOCUMENT_NO, App.ViewInfo.UserID, Commons.shortGuid() + ".png", Img_byte);
305 304
                        Check_Uri.UriCheck(filename);
306 305
                        if (RadTab.SelectedIndex == 0)
307 306
                        {
......
579 578
                    //img.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(Data_));
580 579
                    if (Data_.Contains(".svg"))
581 580
                    {
582
                        byte[] imageData = null;
583
                        DrawingImage image = null;
584
                        using (System.Net.WebClient web = new System.Net.WebClient())
585
                        {
586
                            imageData = web.DownloadData(new Uri(Data_));
587
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
588
                            image = SvgReader.Load(stream);
589
                        }
590
                        img.Source = image;
581
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(Data_);
582
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
591 583
                    }
592 584
                    else
593 585
                    {
KCOM/Events/Event_KeyEvent.cs
2 2
using KCOM.Events;
3 3
using MarkupToPDF.Common;
4 4
using MarkupToPDF.Controls.Parsing;
5
using Svg2Xaml;
6 5
using System;
7 6
using System.Collections.Generic;
8 7
using System.ComponentModel;
KCOM/Events/Implementation/TopMenuEvent.cs
4 4
using KCOM.Events;
5 5
using KCOMDataModel.DataModel;
6 6
using MarkupToPDF.Common;
7
using Svg2Xaml;
8 7
using System;
9 8
using System.Collections.Generic;
10 9
using System.Linq;
......
3176 3175
                    Image img = new Image();
3177 3176
                    if (filename.Contains(".svg"))
3178 3177
                    {
3179
                        byte[] imageData = null;
3180
                        DrawingImage image = null;
3181
                        using (System.Net.WebClient web = new System.Net.WebClient())
3182
                        {
3183
                            imageData = web.DownloadData(new Uri(filename));
3184
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
3185
                            image = SvgReader.Load(stream);
3186
                        }
3187
                        img.Source = image;
3178
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(filename);
3179
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
3188 3180
                    }
3189 3181
                    else
3190 3182
                    {
KCOM/Events/PasteCommand.cs
7 7
using Newtonsoft.Json.Converters;
8 8
using Newtonsoft.Json.Linq;
9 9
using Newtonsoft.Json.Serialization;
10
using Svg2Xaml;
11 10
using System;
12 11
using System.Collections;
13 12
using System.Collections.Generic;
......
174 173
                    System.Windows.Controls.Image img = new System.Windows.Controls.Image();
175 174
                    if (filename.Contains(".svg"))
176 175
                    {
177
                        byte[] imageData = null;
178
                        DrawingImage image = null;
179
                        using (System.Net.WebClient web = new System.Net.WebClient())
180
                        {
181
                            imageData = web.DownloadData(new Uri(filename));
182
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
183
                            image = SvgReader.Load(stream);
184
                        }
185
                        img.Source = image;
176
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(filename);
177
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
186 178
                    }
187 179
                    else
188 180
                    {
KCOM/KCOM.csproj
420 420
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_SEC|x64'">
421 421
    <DebugSymbols>true</DebugSymbols>
422 422
    <OutputPath>bin\x64\Debug_SEC\</OutputPath>
423
    <DefineConstants>DEBUG;TRACE</DefineConstants>
423
    <DefineConstants>TRACE;DEBUG;_SEC</DefineConstants>
424 424
    <WarningLevel>3</WarningLevel>
425 425
    <DebugType>full</DebugType>
426 426
    <PlatformTarget>x64</PlatformTarget>
......
439 439
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
440 440
    <Prefer32Bit>true</Prefer32Bit>
441 441
  </PropertyGroup>
442
  <PropertyGroup>
443
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
444
  </PropertyGroup>
442 445
  <ItemGroup>
443 446
    <Reference Include="Bytescout.PDFExtractor, Version=9.2.0.3293, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
444 447
      <SpecificVersion>False</SpecificVersion>
......
467 470
    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
468 471
      <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
469 472
    </Reference>
470
    <Reference Include="Svg2Xaml, Version=0.3.0.5, Culture=neutral, processorArchitecture=MSIL">
471
      <HintPath>..\packages\Svg2Xaml.0.3.0.5\lib\net40\Svg2Xaml.dll</HintPath>
473
    <Reference Include="SharpVectors.Converters.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=b532964b8548be77, processorArchitecture=MSIL">
474
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Converters.Wpf.dll</HintPath>
475
    </Reference>
476
    <Reference Include="SharpVectors.Core, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7407205e337c98ef, processorArchitecture=MSIL">
477
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Core.dll</HintPath>
478
    </Reference>
479
    <Reference Include="SharpVectors.Css, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7a46e3f532fdb787, processorArchitecture=MSIL">
480
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Css.dll</HintPath>
481
    </Reference>
482
    <Reference Include="SharpVectors.Dom, Version=1.8.1.0, Culture=neutral, PublicKeyToken=517340b6277b1a7a, processorArchitecture=MSIL">
483
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Dom.dll</HintPath>
484
    </Reference>
485
    <Reference Include="SharpVectors.Model, Version=1.8.1.0, Culture=neutral, PublicKeyToken=2236cfc76b505845, processorArchitecture=MSIL">
486
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Model.dll</HintPath>
487
    </Reference>
488
    <Reference Include="SharpVectors.Rendering.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d0902381100df30e, processorArchitecture=MSIL">
489
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Rendering.Wpf.dll</HintPath>
490
    </Reference>
491
    <Reference Include="SharpVectors.Runtime.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d16e717f0a981fb9, processorArchitecture=MSIL">
492
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Runtime.Wpf.dll</HintPath>
472 493
    </Reference>
473 494
    <Reference Include="System" />
474 495
    <Reference Include="System.ComponentModel.DataAnnotations" />
......
497 518
    <Reference Include="System.Xaml">
498 519
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
499 520
    </Reference>
500
    <Reference Include="Telerik.Windows.Controls, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
501
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.dll</HintPath>
502
      <Private>True</Private>
521
    <Reference Include="Telerik.Windows.Controls, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
522
      <HintPath>..\packages\Telerik.Windows.Controls.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.dll</HintPath>
503 523
    </Reference>
504
    <Reference Include="Telerik.Windows.Controls.Docking, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
505
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.Docking.dll</HintPath>
506
      <Private>True</Private>
524
    <Reference Include="Telerik.Windows.Controls.Docking, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
525
      <HintPath>..\packages\Telerik.Windows.Controls.Docking.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.Docking.dll</HintPath>
507 526
    </Reference>
508
    <Reference Include="Telerik.Windows.Controls.GridView, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
509
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.GridView.dll</HintPath>
510
      <Private>True</Private>
527
    <Reference Include="Telerik.Windows.Controls.GridView, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
528
      <HintPath>..\packages\Telerik.Windows.Controls.GridView.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.GridView.dll</HintPath>
511 529
    </Reference>
512
    <Reference Include="Telerik.Windows.Controls.Input, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
513
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.Input.dll</HintPath>
514
      <Private>True</Private>
530
    <Reference Include="Telerik.Windows.Controls.Input, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
531
      <HintPath>..\packages\Telerik.Windows.Controls.Input.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.Input.dll</HintPath>
515 532
    </Reference>
516
    <Reference Include="Telerik.Windows.Controls.Navigation, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
517
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.Navigation.dll</HintPath>
518
      <Private>True</Private>
533
    <Reference Include="Telerik.Windows.Controls.Navigation, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
534
      <HintPath>..\packages\Telerik.Windows.Controls.Navigation.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.Navigation.dll</HintPath>
519 535
    </Reference>
520
    <Reference Include="Telerik.Windows.Controls.RibbonView, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
521
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Controls.RibbonView.dll</HintPath>
522
      <Private>True</Private>
536
    <Reference Include="Telerik.Windows.Controls.RibbonView, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
537
      <HintPath>..\packages\Telerik.Windows.Controls.RibbonView.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Controls.RibbonView.dll</HintPath>
523 538
    </Reference>
524
    <Reference Include="Telerik.Windows.Data, Version=2019.1.220.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
525
      <HintPath>..\lib\RCWPF\2019.1.220.40\Telerik.Windows.Data.dll</HintPath>
526
      <Private>True</Private>
539
    <Reference Include="Telerik.Windows.Data, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
540
      <HintPath>..\packages\Telerik.Windows.Data.for.Wpf.Xaml.2019.1.220\lib\net45\Telerik.Windows.Data.dll</HintPath>
527 541
    </Reference>
528
    <Reference Include="Telerik.Windows.Themes.VisualStudio2013, Version=2018.1.122.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
529
      <SpecificVersion>False</SpecificVersion>
530
      <HintPath>..\packages\Telerik.Windows.Themes.VisualStudio2013.dll</HintPath>
542
    <Reference Include="Telerik.Windows.Themes.VisualStudio2013, Version=2019.1.220.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
543
      <HintPath>..\packages\Telerik.Windows.Themes.VisualStudio2013.for.Wpf.2019.1.220\lib\net45\Telerik.Windows.Themes.VisualStudio2013.dll</HintPath>
531 544
    </Reference>
532 545
    <Reference Include="ToggleSwitch, Version=1.1.2.0, Culture=neutral, PublicKeyToken=8637099990568f75, processorArchitecture=MSIL">
533 546
      <HintPath>..\packages\ToggleSwitch.1.1.2\lib\net40-client\ToggleSwitch.dll</HintPath>
......
561 574
    <Compile Include="Common\Converter\enumStringColorConverter.cs" />
562 575
    <Compile Include="Common\Converter\enumStringConverter.cs" />
563 576
    <Compile Include="Common\Converter\PDFVisibleConverter.cs" />
564
    <Compile Include="Common\Converter\SvgConverter.cs" />
565 577
    <Compile Include="Common\Converter\SvgImageConverter.cs" />
566 578
    <Compile Include="Common\FileStreamToBase64.cs" />
567 579
    <Compile Include="Common\ImageAsyncHelper.cs" />
......
1059 1071
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
1060 1072
      <SubType>Designer</SubType>
1061 1073
    </None>
1074
    <None Include="Web References\kr.co.devdoftech.cloud\FileUpload.wsdl" />
1075
    <None Include="Web References\kr.co.devdoftech.cloud\Reference.map">
1076
      <Generator>MSDiscoCodeGenerator</Generator>
1077
      <LastGenOutput>Reference.cs</LastGenOutput>
1078
    </None>
1062 1079
    <Resource Include="Resources\mayqueen.ttf" />
1063 1080
    <None Include="tessdata\deu.traineddata">
1064 1081
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
......
1077 1094
      <Generator>MSDiscoCodeGenerator</Generator>
1078 1095
      <LastGenOutput>Reference.cs</LastGenOutput>
1079 1096
    </None>
1080
    <None Include="Web References\kr.co.devdoftech.cloud\FileUpload.wsdl" />
1081
    <None Include="Web References\kr.co.devdoftech.cloud\Reference.map">
1082
      <Generator>MSDiscoCodeGenerator</Generator>
1083
      <LastGenOutput>Reference.cs</LastGenOutput>
1084
    </None>
1085 1097
  </ItemGroup>
1086 1098
  <ItemGroup>
1087 1099
    <WCFMetadata Include="Connected Services\" />
......
1242 1254
      <CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
1243 1255
      <CachedSettingsPropName>KCOM_Get_FinalImage_Get_PdfImage</CachedSettingsPropName>
1244 1256
    </WebReferenceUrl>
1245
    <WebReferenceUrl Include="https://localhost:44301/ImageUpload/FileUpload.asmx">
1257
    <WebReferenceUrl Include="http://localhost:44301/ImageUpload/FileUpload.asmx">
1246 1258
      <UrlBehavior>Dynamic</UrlBehavior>
1247 1259
      <RelPath>Web References\kr.co.devdoftech.cloud\</RelPath>
1248
      <UpdateFromURL>https://localhost:44301/ImageUpload/FileUpload.asmx</UpdateFromURL>
1260
      <UpdateFromURL>http://localhost:44301/ImageUpload/FileUpload.asmx</UpdateFromURL>
1249 1261
      <ServiceLocationURL>
1250 1262
      </ServiceLocationURL>
1251 1263
      <CachedDynamicPropName>
......
1255 1267
    </WebReferenceUrl>
1256 1268
  </ItemGroup>
1257 1269
  <ItemGroup>
1258
    <None Include="Web References\kr.co.devdoftech.cloud\FileUpload.disco" />
1259
  </ItemGroup>
1260
  <ItemGroup>
1261 1270
    <Resource Include="Resources\Images\MenuImage_New\up-arrow.png" />
1262 1271
  </ItemGroup>
1263 1272
  <ItemGroup>
......
1480 1489
  <ItemGroup>
1481 1490
    <Resource Include="Resources\Images\ExtImage\blank.png" />
1482 1491
  </ItemGroup>
1492
  <ItemGroup>
1493
    <None Include="Web References\kr.co.devdoftech.cloud\FileUpload.disco" />
1494
  </ItemGroup>
1483 1495
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
1484 1496
  <Target Name="PostBuildMacros">
1485 1497
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
KCOM/KCOM.csproj.user
117 117
  </PropertyGroup>
118 118
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_SEC|x64'">
119 119
    <StartProgram>C:\Program Files\DOFTECH\MARKUS\KCOM.exe</StartProgram>
120
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IkpBMS1BLVBJRC0xNDAyIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOmZhbHNlLCJOZXdDb21tZW50UGVybWlzc2lvbiI6dHJ1ZSwiUHJvamVjdE5PIjoiQVBBTyIsIlVzZXJJRCI6ImRvZnRlY2gifQ==</StartArguments>
120
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IkpBMS1BLVBJRC0wMDAzIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOmZhbHNlLCJOZXdDb21tZW50UGVybWlzc2lvbiI6dHJ1ZSwiUHJvamVjdE5PIjoiQVBBTyIsIlVzZXJJRCI6ImRvZmFkbWluQGRvZnRlY2guY28ua3IiLCJNb2RlIjowfQ==</StartArguments>
121 121
  </PropertyGroup>
122 122
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_SEC|x86'">
123 123
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjExMDAwMTAyIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOiJ0cnVlIiwiTmV3Q29tbWVudFBlcm1pc3Npb24iOiJ0cnVlIiwiUHJvamVjdE5PIjoiMDAwMDAwIiwiVXNlcklEIjoiSmFtZXMiLCJNb2RlIjowfQ==/</StartArguments>
KCOM/Properties/AssemblyInfo.cs
51 51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52 52
// 지정되도록 할 수 있습니다.
53 53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("5.1.1.1")]
55
[assembly: AssemblyFileVersion("5.1.1.1")]
54
[assembly: AssemblyVersion("5.2.1.1")]
55
[assembly: AssemblyFileVersion("5.2.1.1")]
56 56
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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