프로젝트

일반

사용자정보

개정판 3b938959

ID3b9389598593358f5f751e2d612ec6bb3960a522
상위 a8aec13a
하위 5639752b

김태성이(가) 11달 전에 추가함

issue #000000 검색 수정

Change-Id: I7ac25e17a0b62f753c52f52b8a77b73bb3bbe2bf

차이점 보기:

DownloadManager/DownloadManager.csproj
33 33
    <Optimize>false</Optimize>
34 34
    <DefineConstants>TRACE;DEBUG;_XACNA_TEST</DefineConstants>
35 35
  </PropertyGroup>
36
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_DIG|AnyCPU'">
37
    <DebugSymbols>true</DebugSymbols>
38
    <OutputPath>bin\Debug_DIG\</OutputPath>
39
    <DefineConstants>TRACE;DEBUG;_XACNA_TEST</DefineConstants>
40
    <PlatformTarget>AnyCPU</PlatformTarget>
41
    <LangVersion>7.3</LangVersion>
42
  </PropertyGroup>
43
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_DIG|x64'">
44
    <DebugSymbols>true</DebugSymbols>
45
    <OutputPath>bin\x64\Debug_DIG\</OutputPath>
46
    <PlatformTarget>AnyCPU</PlatformTarget>
47
    <LangVersion>7.3</LangVersion>
48
    <Prefer32Bit>true</Prefer32Bit>
49
  </PropertyGroup>
36 50
  <ItemGroup>
37 51
    <Reference Include="ConfigParser, Version=0.3.4.3, Culture=neutral, processorArchitecture=MSIL">
38 52
      <HintPath>..\packages\Salaros.ConfigParser.0.3.4\lib\net45\ConfigParser.dll</HintPath>
FileUploadWevService/FileUpload.asmx.cs
124 124
                    {
125 125
                        using (var ig = new SvgGraphics(Color.Transparent))
126 126
                        {
127
                            ig.PixelOffsetMode = PixelOffsetMode.HighSpeed;
127
                            //ig.PixelOffsetMode = PixelOffsetMode.HighSpeed;
128
                            ig.CompositingQuality = CompositingQuality.HighSpeed;
129
                            
128 130
                            ig.DrawImage(image, 0, 0);
129 131
                            GraphicsContainer cnt = ig.BeginContainer();
130 132
                            ig.EndContainer(cnt);
FileUploadWevService/FileUploadWevService.csproj
16 16
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
17 17
    <UseIISExpress>true</UseIISExpress>
18 18
    <Use64BitIISExpress />
19
    <IISExpressSSLPort>
20
    </IISExpressSSLPort>
19
    <IISExpressSSLPort>44393</IISExpressSSLPort>
21 20
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
22 21
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
23 22
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
......
110 109
          <AutoAssignPort>True</AutoAssignPort>
111 110
          <DevelopmentServerPort>50657</DevelopmentServerPort>
112 111
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
113
          <IISUrl>http://localhost:44301/ImageUpload/</IISUrl>
112
          <IISUrl>https://localhost:44393/</IISUrl>
114 113
          <NTLMAuthentication>False</NTLMAuthentication>
115 114
          <UseCustomServer>False</UseCustomServer>
116 115
          <CustomServerUrl>
FileUploadWevService/Web.config
15 15
  <system.web>
16 16
    <compilation debug="true" targetFramework="4.6.1"/>
17 17
    <pages controlRenderingCompatibilityVersion="4.0"/>
18
	  <httpModules>
18
	  <!--<httpModules>
19 19
		  <clear/>
20 20
		  <remove name="ServiceRedirector"/>
21
	  </httpModules>
21
	  </httpModules>-->
22 22
  </system.web>
23
  <system.webServer>
23
  <!--<system.webServer>
24 24
	  <modules>
25 25
	    <remove name="ServiceRedirector"/>
26 26
	  </modules>
27
  </system.webServer>
27
  </system.webServer>-->
28 28
</configuration>
INI/MARKUS.ini
3 3
[External]
4 4
IP=125.129.196.207
5 5
[BaseClientAddress]
6
URL=http://localhost:44301
6
URL=https://localhost:44301
7 7
[HubAddress]
8 8
URL=http://192.168.0.67:5100/
9 9
[UpdateVer64]
INI/MARKUS_DIG_DEBUG.ini
1
#DIG Project DEBUG
2

  
3 1
[Internal]
4
IP=192.168.0.67:8977
2
IP=localhost
5 3
[External]
6
IP=192.168.0.67:8977
4
IP=125.129.196.207
7 5
[BaseClientAddress]
8
URL=http://192.168.0.67:8977
6
URL=https://localhost:44393
9 7
[HubAddress]
10
URL=http://192.168.0.67:8977/
8
URL=http://192.168.0.67:5100/
11 9
[UpdateVer64]
12
URL=http://192.168.0.67:8977/TileSource/Version/version_x64.xml
10
URL=http://192.168.0.67:5977/TileSource/Version/version_x64.xml
13 11
[UpdateVer86]
14
URL=http://192.168.0.67:8977/TileSource/Version/version_x86.xml
12
URL=http://192.168.0.67:5977/TileSource/Version/version_x86.xml
15 13
[excelFilePath]
16
URL=http://192.168.0.67:8977/TileSource/Check_Test/CheckList_T.xlsx
14
URL=http://192.168.0.67:5977/TileSource/Check_Test/CheckList_T.xlsx
17 15
[KCOM_Get_FinalImage_Get_PdfImage]
18
URL=http://192.168.0.67:8977/Get_FInalImage/Get_PdfImage.asmx
16
URL=http://192.168.0.67:5977/Get_FInalImage/Get_PdfImage.asmx
19 17
[KCOM_kr_co_devdoftech_cloud_FileUpload]
20
URL=http://192.168.0.67:8977/ImageUpload/FileUpload.asmx
18
URL=https://localhost:44393/ImageUpload/FileUpload.asmx
21 19
[mainServerImageWebPath]
22
URL=http://192.168.0.67:8977/TileSource/{0}_Tile/{1}/{2}/{3}.png
20
URL=https://localhost:44393/TileSource/{0}_Tile/{1}/{2}/{3}.png
23 21
[subServerImageWebPath]
24
URL=http://192.168.0.67:8977/TileSource/{0}_Tile/{1}/{2}/{3}.png
22
URL=https://localhost:44393/TileSource/{0}_Tile/{1}/{2}/{3}.png
25 23
[Debug_BaseClientAddress]
26
URL=http://192.168.0.67:8977
24
URL=http://192.168.0.67:5979
27 25
[HOST_DOMAIN]
28 26
DOMAIN=
29 27
[GetConversionStateFailed]
......
38 36
NAME=DAELIM
39 37
[PortForwarding]
40 38
HUB=5100:5100
41
RESOURCE=8977:8977
39
RESOURCE=5977:5977
42 40
BASE=5979:5979
43 41
[GetImageResourceFailed]
44 42
MSG=7ZW064u5IOusuOyEnOydmCB7MH0gUGFnZSBDb252ZXJ06rCAIOygleyDgeyggeydtOyngCDslYrsirXri4jri6QuIOq0gOumrOyekOyXkOqyjCDrrLjsnZjtlbQg7KO87IS47JqULg==
43

  
44

  
45
[COMMON]
46
IsDocumentHistory = false
KCOM.sln
2107 2107
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DevDoftech|x86.Build.0 = Debug|Any CPU
2108 2108
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|Any CPU.ActiveCfg = Debug|Any CPU
2109 2109
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|Any CPU.Build.0 = Debug|Any CPU
2110
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x64.ActiveCfg = Debug|Any CPU
2111
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x64.Build.0 = Debug|Any CPU
2110
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x64.ActiveCfg = Debug_DIG|Any CPU
2111
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x64.Build.0 = Debug_DIG|Any CPU
2112 2112
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x86.ActiveCfg = Debug|Any CPU
2113 2113
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_DIG|x86.Build.0 = Debug|Any CPU
2114 2114
		{E1AEB641-7B2B-4231-8518-2E4CF79AA64B}.Debug_HyoSung|Any CPU.ActiveCfg = Debug|Any CPU
KCOM/App.xaml.cs
277 277
                //httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
278 278
                //System.ServiceModel.Channels.CustomBinding binding = new System.ServiceModel.Channels.CustomBinding(reliableSession, httpTransport);
279 279
                #endregion
280
#elif CUSTOM_BINDING
280
#elif _CUSTOM_BINDING
281 281
                #region custombinding
282 282
                var customBinding = new System.ServiceModel.Channels.CustomBinding()
283 283
                {
......
287 287
                    SendTimeout = new TimeSpan(0, 30, 0),
288 288
                };
289 289

  
290
                var messageEncoding = new WcfExtensions.ServiceModel.Channels.CompressionBindingElement();
291
                messageEncoding.Level = WcfExtensions.ServiceModel.Channels.CompressionLevel.Maximum;
290
                //var messageEncoding = new WcfExtensions.ServiceModel.Channels.CompressionBindingElement();
291
                //messageEncoding.Level = WcfExtensions.ServiceModel.Channels.CompressionLevel.Maximum;
292 292

  
293
                var httpTranport = new System.ServiceModel.Channels.HttpTransportBindingElement
293
                var httpTranport = new System.ServiceModel.Channels.HttpsTransportBindingElement
294 294
                {
295 295
                    MaxBufferPoolSize = Int32.MaxValue,
296 296
                    MaxBufferSize = Int32.MaxValue,
......
300 300
                    //ProxyAddress = new Uri("Http://127.0.0.1:8888")
301 301
                };
302 302

  
303

  
304 303
                customBinding.CreateBindingElements();
305
                customBinding.Elements.Add(messageEncoding);
304
                //customBinding.Elements.Add(messageEncoding);
306 305
                customBinding.Elements.Add(httpTranport);
306
           
307

  
308
                _binding = customBinding;
309
                #endregion
310

  
311
#elif CUSTOM_BINDING
312
                #region custombinding
313
                var customBinding = new System.ServiceModel.Channels.CustomBinding()
314
                {
315
                    OpenTimeout = new TimeSpan(0, 30, 0),
316
                    ReceiveTimeout = new TimeSpan(0, 30, 0),
317
                    CloseTimeout = new TimeSpan(0, 30, 0),
318
                    SendTimeout = new TimeSpan(0, 30, 0),
319
                };
320

  
321
                //var messageEncoding = new WcfExtensions.ServiceModel.Channels.CompressionBindingElement();
322
                //messageEncoding.Level = WcfExtensions.ServiceModel.Channels.CompressionLevel.Maximum;
323

  
324
                var httpTranport = new System.ServiceModel.Channels.HttpsTransportBindingElement
325
                {
326
                    MaxBufferPoolSize = Int32.MaxValue,
327
                    MaxBufferSize = Int32.MaxValue,
328
                    MaxReceivedMessageSize = Int32.MaxValue,
329
                    RequestInitializationTimeout = new TimeSpan(0, 30, 0),
330
                    //UseDefaultWebProxy = false,
331
                    //ProxyAddress = new Uri("Http://127.0.0.1:8888")
332
                };
333

  
334
                customBinding.CreateBindingElements();
307 335

  
336
                var reliableSession = new System.ServiceModel.Channels.ReliableSessionBindingElement();
337
                
338
                var encoding = new System.ServiceModel.Channels.TextMessageEncodingBindingElement
339
                {
340
                    MaxReadPoolSize = Int32.MaxValue,
341
                    MaxWritePoolSize = Int32.MaxValue,
342
                    MessageVersion = System.ServiceModel.Channels.MessageVersion.Soap12WSAddressing10,
343
                    WriteEncoding = System.Text.Encoding.UTF8,
344
                    ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas
345
                    {
346
                        MaxArrayLength = Int32.MaxValue,
347
                        MaxBytesPerRead = Int32.MaxValue,
348
                        MaxDepth = Int32.MaxValue,
349
                        MaxNameTableCharCount = Int32.MaxValue,
350
                        MaxStringContentLength = Int32.MaxValue
351
                    }
352
                };
353
                //reliableSession.Ordered = true; // Set other properties as needed
354
                customBinding.Elements.Add(reliableSession);
355
                //customBinding.Elements.Add(messageEncoding);
356
                //customBinding.Elements.Add(encoding);
357
                customBinding.Elements.Add(httpTranport);
308 358

  
309 359
                _binding = customBinding;
310 360
                #endregion
......
333 383
                //basicHttpBinding.CreateBindingElements().Add(reliableSession);
334 384

  
335 385
                //_binding = basicHttpBinding;
336
  #endregion
386
                #endregion
337 387
#endif
338 388

  
339 389
                //Support.SetLicense();
......
366 416
#if BASIC_BINDING
367 417
                _EndPoint = new EndpointAddress(string.Format("{0}/ServiceDeepView.svc", BaseAddress));
368 418
#elif CUSTOM_BINDING
369
                _EndPoint = new EndpointAddress(string.Format("{0}/ServiceDeepView.svc/GZIP", BaseAddress));
419
                _EndPoint = new EndpointAddress(string.Format("{0}/ServiceDeepView.svc", BaseAddress));
420

  
370 421
#else
371 422
                _EndPoint = new EndpointAddress(string.Format("{0}/ServiceDeepView.svc", BaseAddress));
372 423
#endif
......
470 521

  
471 522
            for (int i = 1; i < ISplashMessage.SplashMessageCnt; i++)
472 523
            {
473
                await Task.Delay(3);
524
                await Task.Delay(1);
474 525
                await splashScreen.Dispatcher.InvokeAsync(() => splashScreen.Progress = i * value);
475 526
            }
476 527

  
KCOM/Common/Check_Uri.cs
10 10
    {
11 11
        public static void UriCheck(string uristring)
12 12
        {
13
            if (!(Uri.TryCreate(uristring, UriKind.Absolute, out Uri uri) && uri.Scheme == Uri.UriSchemeHttp))
13
            if (!(Uri.TryCreate(uristring, UriKind.Absolute, out Uri uri) && (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)))
14 14
            {
15 15
                throw new Exception();
16 16
            }           
......
18 18

  
19 19
        public static bool isUri(string uristring)
20 20
        {
21
            if (!(Uri.TryCreate(uristring, UriKind.Absolute, out Uri uri) && uri.Scheme == Uri.UriSchemeHttp))
21
            if (!(Uri.TryCreate(uristring, UriKind.Absolute, out Uri uri) && (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)))
22 22
            {
23 23
                return false;
24 24
            }
KCOM/Common/Converter/SvgImageConverter.cs
32 32

  
33 33
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
34 34
        {
35
            ImageSource imageSource = null;
36

  
35 37
            try
36 38
            {
37 39
                if (string.IsNullOrWhiteSpace(_appName))
......
68 70

  
69 71
                if (svgSource.ToString().EndsWith(".svg"))
70 72
                {
71
                    return this.GetImage(svgSource);
73
                    //SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(svgSource.ToString());
74

  
75
                    //return (DrawingImage)svgImage.ProvideValue(null);
76
                    //var context = TaskScheduler.FromCurrentSynchronizationContext();
77

  
78
                    //var task = Task.Factory.StartNew<SharpVectors.Converters.SvgImageExtension>(() =>
79
                    //{
80
                    //    return new SharpVectors.Converters.SvgImageExtension(svgSource.ToString());
81

  
82
                    //},TaskCreationOptions.RunContinuationsAsynchronously).ContinueWith((x)=>
83
                    //{
84
                    //    return (DrawingImage)x.Result.ProvideValue(null);
85
                    //},context);
86

  
87
                    //imageSource = task.Result;
88

  
89
                    imageSource = this.GetImage(svgSource); 
90
                    //return this.GetImage(svgSource);
72 91
                }
73 92
                else
74 93
                {
75
                    return new BitmapImage(new Uri(value.ToString()));
94
                    imageSource = new BitmapImage(new Uri(value.ToString()));
76 95
                }
77 96

  
78 97
            }
......
80 99
            {
81 100
                //throw; #82
82 101
            }
83
            return null;
102

  
103
            return imageSource;
84 104
        }
85 105

  
86 106
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
KCOM/Common/DataSaveTask.cs
1 1
using System;
2 2
using System.Collections.Generic;
3 3
using System.Linq;
4
using System.ServiceModel.Security;
4 5
using System.Text;
5 6
using System.Threading.Tasks;
6 7
using System.Windows.Input;
......
44 45
            if (DeepViewTaskClient == null)
45 46
            {
46 47
                DeepViewTaskClient = new ServiceDeepViewClient(App._binding, App._EndPoint);
48
                //DeepViewTaskClient.ClientCredentials.ServiceCertificate.SslCertificateAuthentication = new X509ServiceCertificateAuthentication();
49
                //DeepViewTaskClient.ClientCredentials.ServiceCertificate.SslCertificateAuthentication.CertificateValidationMode = X509CertificateValidationMode.None;
47 50
            }
48 51

  
49 52
            this.Interval = new TimeSpan(0,0,10);
KCOM/Common/MathHelper.cs
86 86
        {
87 87
            return new Rect(points.ToArray()[0],points.ToArray()[3]);
88 88
        }
89

  
90
        public static Rect CombineRects(List<Rect> rects)
91
        {
92
            if (rects == null || rects.Count == 0)
93
                throw new ArgumentException("Rect list must not be null or empty.");
94

  
95
            if (rects.Count == 1)
96
                return rects[0];
97

  
98
            // 초기화를 위해 첫 번째 Rect를 사용합니다.
99
            double minX = rects[0].Left;
100
            double minY = rects[0].Top;
101
            double maxX = rects[0].Right;
102
            double maxY = rects[0].Bottom;
103

  
104
            // 모든 Rect를 반복하면서 최소 및 최대 좌표를 찾습니다.
105
            foreach (Rect rect in rects)
106
            {
107
                minX = Math.Min(minX, rect.Left);
108
                minY = Math.Min(minY, rect.Top);
109
                maxX = Math.Max(maxX, rect.Right);
110
                maxY = Math.Max(maxY, rect.Bottom);
111
            }
112

  
113
            // 계산된 최소 및 최대 좌표를 사용하여 새로운 Rect를 생성합니다.
114
            double width = maxX - minX;
115
            double height = maxY - minY;
116
            return new Rect(minX, minY, width, height);
117
        }
89 118
    }
90 119
}
KCOM/Controls/SearchPanel.xaml.cs
174 174
                extractor.OCRMode = Bytescout.PDFExtractor.OCRMode.Off;
175 175
                //extractor.OCRLanguage = "eng";
176 176
                //extractor.OCRLanguageDataFolder = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "tessdata");
177

  
178
                extractor.OCRResolution = 300;
177
                
178
                extractor.OCRResolution = 100;
179 179

  
180 180
                //ocrAnalyzer.OCRLanguage = "eng";
181 181
                //ocrAnalyzer.OCRLanguageDataFolder = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "tessdata");
......
431 431

  
432 432
                var width = Convert.ToDouble(Common.ViewerDataModel.Instance.Document_Info[item.PageNo - 1].PAGE_WIDTH);
433 433
                var height = Convert.ToDouble(Common.ViewerDataModel.Instance.Document_Info[item.PageNo - 1].PAGE_HEIGHT);
434
                
434 435
                var widthScale = width / Convert.ToDouble(extractor.GetPageRect_Width(item.PageNo - 1));
435 436
                var heightScale = height / Convert.ToDouble(extractor.GetPageRect_Height(item.PageNo - 1));
436 437

  
......
449 450
                    Width = ( item.searchResult.Width * widthScale *7),
450 451
                    Height = (item.searchResult.Height * heightScale *7)
451 452
                });
453

  
454
                //extractor.SavePageTextToFile(item.PageNo - 1, @"C:\Users\kts\AppData\Local\Temp\MARKUS\savepageText\text.txt");
455
                //extractor.SavePreprocessedPagePreview(item.PageNo - 1, $"C:\\Users\\kts\\AppData\\Local\\Temp\\MARKUS\\savepageText\\{(item.PageNo - 1).ToString()}.png");
452 456
            });
453 457
        }
454 458
    }
KCOM/Controls/Symbol.xaml
60 60
                            Height="64"
61 61
                            Margin="3"
62 62
                            HorizontalAlignment="Center"
63
                            Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}, UpdateSourceTrigger=PropertyChanged}" />
63
                            Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}, IsAsync=True}" />
64 64
                    </StackPanel>
65 65
                    <Rectangle
66 66
                        Opacity="0.7"
KCOM/Controls/Symbol.xaml.cs
120 120
                foreach (var item in symbol_Private)
121 121
                {
122 122
                    Custom.Name = item.NAME;
123
                    Custom.ImageUri = CommonLib.Common.IPReplace(item.IMAGE_URL, App.isExternal);
123
                    Custom.ImageUri = CommonLib.Common.IPReplace(item.IMAGE_URL.Replace("//","/").Replace(":/", "://"), App.isExternal);
124 124
                    Custom.ID = item.ID;
125 125
                    Custom_List.Add(Custom);
126 126
                    Custom = new Symbol_Custom();
......
154 154
                foreach (var item in symbol_Public)
155 155
                {
156 156
                    Custom.Name = item.NAME;
157
                    Custom.ImageUri = CommonLib.Common.IPReplace(item.IMAGE_URL, App.isExternal);
157
                    Custom.ImageUri = CommonLib.Common.IPReplace(item.IMAGE_URL.Replace("//", "/").Replace(":/", "://"), App.isExternal);
158 158
                    Custom.ID = item.ID;
159 159
                    Custom_List.Add(Custom);
160 160
                    Custom = new Symbol_Custom();
......
164 164
            }
165 165
        }
166 166

  
167
        public async Task<PngBitmapEncoder> symImageAsync(string data,double PageAngle)
167
        public async Task<PngBitmapEncoder> symImageAsync_old(string data,double PageAngle)
168 168
        {
169 169

  
170 170
            Canvas _canvas = new Canvas();
......
214 214

  
215 215
        }
216 216

  
217
        public async Task<PngBitmapEncoder> symImageAsync(string data, double PageAngle)
218
        {
219

  
220
            Canvas _canvas = new Canvas();
221
            _canvas.Background = Brushes.White;
222

  
223
            List<Rect> rects = new List<Rect>();
224

  
225
            finalItem.Members.ForEach(member =>
226
            {
227
                if(member?.DrawingData is MarkupToPDF.ICommentRect comment)
228
                {
229
                    rects.Add(comment.GetCommentRect());
230
                }
231
            });
232

  
233
            var rect = MathHelper.CombineRects(rects);
234

  
235
            _canvas.Width = rect.Width;
236
            _canvas.Height = rect.Height;
237

  
238
            await MarkupParser.ParseAsync(App.BaseAddress, App.ViewInfo.ProjectNO, data, _canvas, PageAngle, "#FFFF0000", "", ViewerDataModel.Instance.NewMarkupCancelToken());
239

  
240
            BitmapEncoder encoder = new PngBitmapEncoder();
241
            RenderTargetBitmap renderBitmap = new RenderTargetBitmap((int)rect.Width, (int)rect.Height, 96d, 96d, PixelFormats.Pbgra32);
242

  
243
            DrawingVisual dv = new DrawingVisual();
244
            //Window window = new Window();
245
            //window.Content = _canvas;
246
            //var result = window.ShowDialog();
247
            //if(result.GetValueOrDefault())
248
            //{
249

  
250
            //}
251

  
252
            _canvas.Measure(rect.Size);
253
            _canvas.Arrange(new Rect(new System.Windows.Point { X = -rect.X + 35, Y = -rect.Y + 35 }, new Point(rect.Width + 35, rect.Height + 35)));
254

  
255
            using (DrawingContext ctx = dv.RenderOpen())
256
            {
257
                VisualBrush vb = new VisualBrush(_canvas);
258
                ctx.DrawRectangle(vb, null, new Rect(new System.Windows.Point { X = -rect.X, Y = -rect.Y }, new Point(rect.Width, rect.Height)));
259
            }
260
            Window window2 = new Window();
261
            window2.Content = _canvas;
262
            var result2 = window2.ShowDialog();
263
            if (result2.GetValueOrDefault())
264
            {
265

  
266
            }
267
            try
268
            {
269
                renderBitmap.Render(dv);
270

  
271
                GC.Collect();
272
                GC.WaitForPendingFinalizers();
273
                GC.Collect();
274
                //bitmap.Render(controlToConvert);
275
                // encode png data
276
                PngBitmapEncoder pngEncoder = new PngBitmapEncoder();
277
                // puch rendered bitmap into it
278
                pngEncoder.Interlace = PngInterlaceOption.Off;
279
                pngEncoder.Frames.Add(BitmapFrame.Create(renderBitmap));
280
                return pngEncoder;
281

  
282
            }
283
            catch //(Exception ex)
284
            {
285
                return null;
286
            }
287

  
288
        }
289

  
217 290
        public void DialogMessage_Alert(string content, string header)
218 291
        {
219 292
            App.splashScreen.Close();
......
291 364
                {
292 365
                    if (args.DialogResult.Value)
293 366
                    {
294
                        PngBitmapEncoder _Encoder = await symImageAsync(data,ViewerDataModel.Instance.MarkupAngle);
367
                        PngBitmapEncoder _Encoder = null;
368
                        
369
                        if (finalItem.Members.Any(x=> x.DrawingData is MarkupToPDF.ICommentRect comment))
370
                        {
371
                            _Encoder = await symImageAsync(data, ViewerDataModel.Instance.MarkupAngle);
372
                        }
373
                        else
374
                        {
375
                            _Encoder = await symImageAsync_old(data, ViewerDataModel.Instance.MarkupAngle);
376
                        }
295 377

  
296 378
                        System.IO.MemoryStream fs = new System.IO.MemoryStream();
297 379
                        _Encoder.Save(fs);
KCOM/KCOM.csproj
58 58
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
59 59
    <DebugSymbols>true</DebugSymbols>
60 60
    <OutputPath>bin\x64\Debug\</OutputPath>
61
    <DefineConstants>TRACE;DEBUG;_CUSTOM_BINDING;BASIC_BINDING</DefineConstants>
61
    <DefineConstants>TRACE;DEBUG;CUSTOM_BINDING;_BASIC_BINDING</DefineConstants>
62 62
    <DebugType>full</DebugType>
63 63
    <PlatformTarget>x64</PlatformTarget>
64 64
    <ErrorReport>prompt</ErrorReport>
......
442 442
    <Prefer32Bit>true</Prefer32Bit>
443 443
  </PropertyGroup>
444 444
  <ItemGroup>
445
    <Reference Include="Bytescout.PDFExtractor, Version=9.2.0.3293, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
446
      <SpecificVersion>False</SpecificVersion>
447
      <HintPath>..\packages\PDFExtractorSDK\FULL\net4.00\Bytescout.PDFExtractor.dll</HintPath>
445
    <Reference Include="Bytescout.PDFExtractor, Version=9.0.0.3095, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
446
      <HintPath>..\packages\Bytescout.PDFExtractor.9.0.0.3095\lib\net40\Bytescout.PDFExtractor.dll</HintPath>
448 447
    </Reference>
449
    <Reference Include="Bytescout.PDFExtractor.OCRExtension, Version=9.2.0.3293, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
450
      <SpecificVersion>False</SpecificVersion>
451
      <HintPath>..\packages\PDFExtractorSDK\FULL\net4.00\Bytescout.PDFExtractor.OCRExtension.dll</HintPath>
448
    <Reference Include="Bytescout.PDFExtractor.OCRExtension, Version=9.0.0.3095, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
449
      <HintPath>..\packages\Bytescout.PDFExtractor.9.0.0.3095\lib\net40\Bytescout.PDFExtractor.OCRExtension.dll</HintPath>
452 450
    </Reference>
453 451
    <Reference Include="ConfigParser, Version=0.3.4.3, Culture=neutral, processorArchitecture=MSIL">
454 452
      <HintPath>..\packages\Salaros.ConfigParser.0.3.4\lib\net45\ConfigParser.dll</HintPath>
......
469 467
    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
470 468
      <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
471 469
    </Reference>
472
    <Reference Include="SharpVectors.Converters.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=b532964b8548be77, processorArchitecture=MSIL">
473
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Converters.Wpf.dll</HintPath>
470
    <Reference Include="SharpVectors.Converters.Wpf, Version=1.8.4.0, Culture=neutral, PublicKeyToken=b532964b8548be77, processorArchitecture=MSIL">
471
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Converters.Wpf.dll</HintPath>
474 472
    </Reference>
475
    <Reference Include="SharpVectors.Core, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7407205e337c98ef, processorArchitecture=MSIL">
476
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Core.dll</HintPath>
473
    <Reference Include="SharpVectors.Core, Version=1.8.4.0, Culture=neutral, PublicKeyToken=7407205e337c98ef, processorArchitecture=MSIL">
474
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Core.dll</HintPath>
477 475
    </Reference>
478
    <Reference Include="SharpVectors.Css, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7a46e3f532fdb787, processorArchitecture=MSIL">
479
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Css.dll</HintPath>
476
    <Reference Include="SharpVectors.Css, Version=1.8.4.0, Culture=neutral, PublicKeyToken=7a46e3f532fdb787, processorArchitecture=MSIL">
477
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Css.dll</HintPath>
480 478
    </Reference>
481
    <Reference Include="SharpVectors.Dom, Version=1.8.1.0, Culture=neutral, PublicKeyToken=517340b6277b1a7a, processorArchitecture=MSIL">
482
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Dom.dll</HintPath>
479
    <Reference Include="SharpVectors.Dom, Version=1.8.4.0, Culture=neutral, PublicKeyToken=517340b6277b1a7a, processorArchitecture=MSIL">
480
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Dom.dll</HintPath>
483 481
    </Reference>
484
    <Reference Include="SharpVectors.Model, Version=1.8.1.0, Culture=neutral, PublicKeyToken=2236cfc76b505845, processorArchitecture=MSIL">
485
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Model.dll</HintPath>
482
    <Reference Include="SharpVectors.Model, Version=1.8.4.0, Culture=neutral, PublicKeyToken=2236cfc76b505845, processorArchitecture=MSIL">
483
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Model.dll</HintPath>
486 484
    </Reference>
487
    <Reference Include="SharpVectors.Rendering.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d0902381100df30e, processorArchitecture=MSIL">
488
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Rendering.Wpf.dll</HintPath>
485
    <Reference Include="SharpVectors.Rendering.Wpf, Version=1.8.4.0, Culture=neutral, PublicKeyToken=d0902381100df30e, processorArchitecture=MSIL">
486
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Rendering.Wpf.dll</HintPath>
489 487
    </Reference>
490
    <Reference Include="SharpVectors.Runtime.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d16e717f0a981fb9, processorArchitecture=MSIL">
491
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Runtime.Wpf.dll</HintPath>
488
    <Reference Include="SharpVectors.Runtime.Wpf, Version=1.8.4.0, Culture=neutral, PublicKeyToken=d16e717f0a981fb9, processorArchitecture=MSIL">
489
      <HintPath>..\packages\SharpVectors.Wpf.1.8.4\lib\net46\SharpVectors.Runtime.Wpf.dll</HintPath>
492 490
    </Reference>
493 491
    <Reference Include="System" />
494 492
    <Reference Include="System.ComponentModel.DataAnnotations" />
......
497 495
    <Reference Include="System.Data.Entity" />
498 496
    <Reference Include="System.Drawing" />
499 497
    <Reference Include="System.EnterpriseServices" />
498
    <Reference Include="System.IdentityModel" />
500 499
    <Reference Include="System.Management" />
501 500
    <Reference Include="System.Net" />
502 501
    <Reference Include="System.Net.Http" />
......
1086 1085
      <SubType>Designer</SubType>
1087 1086
    </None>
1088 1087
    <Resource Include="Resources\mayqueen.ttf" />
1089
    <None Include="tessdata\deu.traineddata">
1090
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
1091
    </None>
1092
    <None Include="tessdata\eng.traineddata">
1093
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
1094
    </None>
1095
    <None Include="tessdata\fra.traineddata">
1096
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
1097
    </None>
1098
    <None Include="tessdata\spa.traineddata">
1099
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
1100
    </None>
1088
    <None Include="tessdata\deu.traineddata" />
1089
    <None Include="tessdata\eng.traineddata" />
1090
    <None Include="tessdata\fra.traineddata" />
1091
    <None Include="tessdata\spa.traineddata" />
1101 1092
    <None Include="Web References\Get_FinalImage\Get_PdfImage.wsdl" />
1102 1093
    <None Include="Web References\Get_FinalImage\Reference.map">
1103 1094
      <Generator>MSDiscoCodeGenerator</Generator>
......
1509 1500
  <ItemGroup>
1510 1501
    <Resource Include="Resources\Images\MenuImage_New\rgb.png" />
1511 1502
  </ItemGroup>
1503
  <ItemGroup>
1504
    <Resource Include="Resources\Images\ExtImage\refresh.png" />
1505
  </ItemGroup>
1512 1506
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
1513 1507
  <Target Name="PostBuildMacros">
1514 1508
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
......
1527 1521

  
1528 1522
call $(SolutionDir)obfuscarBuild.Bat $(SolutionDir) $(TargetDir) $(ProjectDir)obfuscar.xml
1529 1523
xcopy /s "$(TargetDir)Obfuscator_Output" "$(TargetDir)" /Y /F
1524

  
1530 1525
rmdir "$(TargetDir)Obfuscator_Output" /s /q
1531 1526
rem rmdir "$(SolutionDir)Setup\Release_default\" /s /q
1532 1527

  
1533 1528
xcopy "$(TargetDir)" "$(SolutionDir)Setup\Release_default\" /S /Y /F 
1534 1529

  
1530
del "$(TargetDir)mapping.txt" /q
1535 1531
 cd $(SolutionDir)
1536 1532
 call "PublishSign.bat"
1537

  
1538 1533
 rem call "appCast_Daelim.bat" "@(VersionNumber)"
1539 1534
 call "appCast_DIG.bat" "@(VersionNumber)"
1540 1535
 rem call "appCast_DIG_DEBUG.bat" "@(VersionNumber)"
KCOM/KCOM.csproj.user
117 117
  </PropertyGroup>
118 118
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_DIG|x64'">
119 119
    <StartProgram>C:\Program Files\DOFTECH\MARKUS\KCOM.exe</StartProgram>
120
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjM0NzY5NDUxMTkiLCJiUGFydG5lciI6ZmFsc2UsIkNyZWF0ZUZpbmFsUERGUGVybWlzc2lvbiI6dHJ1ZSwiTmV3Q29tbWVudFBlcm1pc3Npb24iOnRydWUsIlByb2plY3ROTyI6IlRFU1QwMSIsIlVzZXJJRCI6IlRFU1QwMV80NyJ9</StartArguments>
120
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjI2NzAzNzYwNzQiLCJiUGFydG5lciI6ZmFsc2UsIkNyZWF0ZUZpbmFsUERGUGVybWlzc2lvbiI6dHJ1ZSwiTmV3Q29tbWVudFBlcm1pc3Npb24iOnRydWUsIlByb2plY3ROTyI6IlRFU1QwMSIsIlVzZXJJRCI6IlRFU1QwMV83NyJ9</StartArguments>
121 121
  </PropertyGroup>
122 122
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug_DIG|x86'">
123 123
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjExMDAwMTAyIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOiJ0cnVlIiwiTmV3Q29tbWVudFBlcm1pc3Npb24iOiJ0cnVlIiwiUHJvamVjdE5PIjoiMDAwMDAwIiwiVXNlcklEIjoiSmFtZXMiLCJNb2RlIjowfQ==/</StartArguments>
KCOM/MARKUS.ini
1 1
#DIG Project
2
http://ddcsmarkus.dig-airgas.com/ServiceDeepView.svc
2
https://ddcsmarkus.dig-airgas.com/ServiceDeepView.svc
3 3
[Internal]
4 4
IP=ddcsmarkus.dig-airgas.com
5 5
[External]
6 6
IP=ddcsmarkus.dig-airgas.com
7 7
[BaseClientAddress]
8
URL=http://ddcsmarkus.dig-airgas.com
8
URL=https://ddcsmarkus.dig-airgas.com
9 9
[HubAddress]
10
URL=http://ddcsmarkus.dig-airgas.com/
10
URL=https://ddcsmarkus.dig-airgas.com/
11 11
[UpdateVer64]
12
URL=http://ddcsmarkus.dig-airgas.com/TileSource/Version/version_x64.xml
12
URL=https://ddcsmarkus.dig-airgas.com/TileSource/Version/version_x64.xml
13 13
[UpdateVer86]
14
URL=http://ddcsmarkus.dig-airgas.com/TileSource/Version/version_x86.xml
14
URL=https://ddcsmarkus.dig-airgas.com/TileSource/Version/version_x86.xml
15 15
[excelFilePath]
16
URL=http://ddcsmarkus.dig-airgas.com/TileSource/Check_Test/CheckList_T.xlsx
16
URL=https://ddcsmarkus.dig-airgas.com/TileSource/Check_Test/CheckList_T.xlsx
17 17
[KCOM_Get_FinalImage_Get_PdfImage]
18
URL=http://ddcsmarkus.dig-airgas.com/Get_FInalImage/Get_PdfImage.asmx
18
URL=https://ddcsmarkus.dig-airgas.com/Get_FInalImage/Get_PdfImage.asmx
19 19
[KCOM_kr_co_devdoftech_cloud_FileUpload]
20
URL=http://ddcsmarkus.dig-airgas.com/ImageUpload/FileUpload.asmx
20
URL=https://ddcsmarkus.dig-airgas.com/ImageUpload/FileUpload.asmx
21 21
[mainServerImageWebPath]
22
URL=http://ddcsmarkus.dig-airgas.com/TileSource/{0}_Tile/{1}/{2}/{3}.png
22
URL=https://ddcsmarkus.dig-airgas.com/TileSource/{0}_Tile/{1}/{2}/{3}.png
23 23
[subServerImageWebPath]
24
URL=http://ddcsmarkus.dig-airgas.com/TileSource/{0}_Tile/{1}/{2}/{3}.png
24
URL=https://ddcsmarkus.dig-airgas.com/TileSource/{0}_Tile/{1}/{2}/{3}.png
25 25
[Debug_BaseClientAddress]
26
URL=http://ddcsmarkus.dig-airgas.com
26
URL=https://ddcsmarkus.dig-airgas.com
27 27
[HOST_DOMAIN]
28 28
DOMAIN=
29 29
[GetConversionStateFailed]
......
44 44
MSG=7ZW064u5IOusuOyEnOydmCB7MH0gUGFnZSBDb252ZXJ06rCAIOygleyDgeyggeydtOyngCDslYrsirXri4jri6QuIOq0gOumrOyekOyXkOqyjCDrrLjsnZjtlbQg7KO87IS47JqULg==
45 45

  
46 46
[DocumentDownloadPath]
47
url=FULL
47
url=http://10.10.130.10:8089/{0}
KCOM/Properties/AssemblyInfo.cs
51 51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52 52
// 지정되도록 할 수 있습니다.
53 53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("5.5.0.0")]
55
[assembly: AssemblyFileVersion("5.5.0.0")]
54
[assembly: AssemblyVersion("5.5.3.0")]
55
[assembly: AssemblyFileVersion("5.5.3.0")]
56 56
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
KCOM/Properties/app.manifest
47 47
       옵트인할 필요가 없습니다. 이 설정으로 옵트인하며 .NET Framework 4.6을 대상으로 하는 
48 48
       Windows Forms 응용 프로그램은 app.config에서 'EnableWindowsFormsHighDpiAutoResizing' 설정도 'true'로 지정합니다. -->
49 49
  
50
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
50
  <!--<application xmlns="urn:schemas-microsoft-com:asm.v3">
51 51
    <windowsSettings>
52 52
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
53 53
    </windowsSettings>
54
  </application>
54
  </application>-->
55 55
  
56 56
  <!-- Windows 공용 컨트롤 및 대화 상자의 테마 사용(Windows XP 이상) -->
57 57
  <!--
KCOM/Services/BaseServices.cs
17 17
using MarkupToPDF.Controls.Parsing;
18 18
using Telerik.Windows.Data;
19 19
using System.Web;
20
using System.ServiceModel.Security;
20 21

  
21 22
namespace KCOM.Views
22 23
{
......
26 27
        public ServiceDeepViewClient BaseClient;
27 28
        public KcomService.ServiceDeepViewClient BaseTaskClient
28 29
        {
29
            get {return new KcomService.ServiceDeepViewClient(App._binding, App._EndPoint); }
30
            get {
31
                var service = new KcomService.ServiceDeepViewClient(App._binding, App._EndPoint);
32
                return service;
33
            }
30 34
        }
31 35

  
32 36
        public ViewInfo _ViewInfo;
KCOM/app.config
121 121
      </wsHttpBinding>
122 122
    </bindings>
123 123
    <client>
124
      <endpoint address="http://localhost:44301/ServiceDeepView.svc"
125
        binding="basicHttpBinding" bindingConfiguration="DeepViewPoint1"
126
        contract="KcomService.ServiceDeepView" name="DeepViewPoint1" />
127
      <endpoint address="http://localhost:44301/ServiceDeepView.svc"
128
        binding="basicHttpBinding" bindingConfiguration="DeepViewPoint"
129
        contract="ServiceDeepView.ServiceDeepView" name="DeepViewPoint" />
130
      <endpoint address="http://localhost:44301/ServiceDeepView.svc/GZIP"
131
        binding="wsHttpBinding" bindingConfiguration="MarkusAPIgzip"
132
        contract="ServiceDeepView.ServiceDeepView" name="MarkusAPIgzip" />
124
      <endpoint address="http://localhost:44301/ServiceDeepView.svc" binding="basicHttpBinding" bindingConfiguration="DeepViewPoint1" contract="KcomService.ServiceDeepView" name="DeepViewPoint1" />
125
      <endpoint address="http://localhost:44301/ServiceDeepView.svc" binding="basicHttpBinding" bindingConfiguration="DeepViewPoint" contract="ServiceDeepView.ServiceDeepView" name="DeepViewPoint" />
126
      <endpoint address="http://localhost:44301/ServiceDeepView.svc/GZIP" binding="wsHttpBinding" bindingConfiguration="MarkusAPIgzip" contract="ServiceDeepView.ServiceDeepView" name="MarkusAPIgzip" />
133 127
    </client>
134 128
  </system.serviceModel>
135 129
  <applicationSettings>
KCOM/obfuscar.xml
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<Obfuscator>
3 3
  <Var name="InPath" value="." />
4
	<Var name="LogFile" value="." />
4 5
  <Var name="OutPath" value=".\Obfuscator_Output"/>
5 6
	<Var name="HideStrings" value="true" />
6 7
	<Var name="HidePrivateApi" value="true" />
KCOM/packages.config
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<packages>
3
  <package id="Bytescout.PDFExtractor" version="9.0.0.3095" targetFramework="net40" />
3
  <package id="Bytescout.PDFExtractor" version="9.0.0.3095" targetFramework="net461" />
4 4
  <package id="EntityFramework" version="6.2.0" targetFramework="net45" />
5 5
  <package id="ICSharpCode.SharpZipLib.dll" version="0.85.4.369" targetFramework="net40" />
6 6
  <package id="log4net" version="2.0.8" targetFramework="net45" />
......
10 10
  <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" />
11 11
  <package id="Obfuscar" version="2.2.29" targetFramework="net461" developmentDependency="true" />
12 12
  <package id="Salaros.ConfigParser" version="0.3.4" targetFramework="net461" />
13
  <package id="SharpVectors.Wpf" version="1.8.1" targetFramework="net461" />
13
  <package id="SharpVectors.Wpf" version="1.8.4" targetFramework="net461" />
14 14
  <package id="System.Windows.Interactivity.WPF" version="2.0.20525" targetFramework="net40" />
15 15
  <package id="ToggleSwitch" version="1.1.2" targetFramework="net40" />
16 16
  <package id="WCFExtensions" version="1.0.0" targetFramework="net461" />
KCOM_API/KCOM_API.csproj
18 18
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
19 19
    <UseIISExpress>true</UseIISExpress>
20 20
    <Use64BitIISExpress>true</Use64BitIISExpress>
21
    <IISExpressSSLPort>
22
    </IISExpressSSLPort>
21
    <IISExpressSSLPort>44302</IISExpressSSLPort>
23 22
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
24 23
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
25 24
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
......
56 55
    <PlatformTarget>x64</PlatformTarget>
57 56
  </PropertyGroup>
58 57
  <ItemGroup>
58
    <Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
59
      <HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
60
    </Reference>
59 61
    <Reference Include="Markus.ImageCompare, Version=1.8.1.0, Culture=neutral, processorArchitecture=MSIL">
60 62
      <HintPath>..\packages\Markus.Image.ImageCompare.1.8.1\lib\net461\Markus.ImageCompare.dll</HintPath>
61 63
    </Reference>
......
105 107
    <Content Include="Default.aspx" />
106 108
    <Content Include="HtmlPage1.html" />
107 109
    <Content Include="MarkusService.svc" />
110
    <Content Include="UserData\000000\doftech\3122B88A43BE674C62BA1A24474BC777.svg" />
111
    <Content Include="UserData\000000\doftech\59796CB155465B1BEDC4B526C98F86BF.svg" />
108 112
    <Content Include="Web.config">
109 113
      <SubType>Designer</SubType>
110 114
    </Content>
......
224 228
  </ItemGroup>
225 229
  <ItemGroup>
226 230
    <Folder Include="TileSource\000000_Tile\40000\4000005\" />
231
    <Folder Include="UserData\000000\user1\" />
227 232
  </ItemGroup>
228 233
  <PropertyGroup>
229 234
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
......
629 634
          <AutoAssignPort>True</AutoAssignPort>
630 635
          <DevelopmentServerPort>13009</DevelopmentServerPort>
631 636
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
632
          <IISUrl>http://localhost:44301/</IISUrl>
637
          <IISUrl>https://localhost:44393/</IISUrl>
633 638
          <NTLMAuthentication>False</NTLMAuthentication>
634 639
          <UseCustomServer>False</UseCustomServer>
635 640
          <CustomServerUrl>
KCOM_API/MarkusService.svc.cs
1 1
using KCOMDataModel.DataModel;
2
using log4net;
3
using Newtonsoft.Json.Linq;
2 4
using System;
3 5
using System.Collections.Generic;
4 6
using System.Configuration;
......
15 17
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
16 18
    public class MarkusService : System.Web.Services.WebService
17 19
    {
20
        protected ILog logger = LogManager.GetLogger(typeof(MarkusService));
21

  
18 22
        [WebGet(UriTemplate = "AddMember?UserId={UserId}&Name={Name}&Company={Company}&Department={Department}&Position={Position}&email={email}", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
19 23
        [OperationContract]
20 24
        public AddMemberResults AddMember(string UserId,string Name, string Company, string Department,string Position,string email)
......
97 101

  
98 102
            return results;
99 103
        }
104

  
105
        [WebGet(UriTemplate = "ConvertRun?rev_No={rev_No}&document_No={document_No}&document_Name={document_Name}&group_No={group_No}&prj_No={prj_No}&document_Id={document_Id}&document_Url={document_Url}", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
106
        [OperationContract]
107
        public string ConvertRun(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
108
        {
109
            string _result = null;
110
            try
111
            {
112
                logger.Info($"Conversion Web Service ConvertRun call rev_No :{rev_No} document_No : {document_No}  document_Name : {document_Name}  group_No : {group_No}  prj_No : {prj_No}  document_Id : {document_Id}  document_Url : {document_Url}");
113
                
114
                string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
115
                using (KCOMEntities deepViewEntity = new KCOMEntities(sConnString))
116
                {
117
                    //_result = ConnectStringBuilder.DeepViewConnectionString().ToString();
118
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber && DateTime.Parse(r.RUN_DATETIME)<= DateTime.Now);
119
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber);
120
                    var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO != null);
121

  
122
                    if (_RunProjects.Count() > 0)
123
                    {
124
                        _result = SendKcom(rev_No, document_No, document_Name, group_No, prj_No, document_Id, document_Url);
125
                    }
126
                    else
127
                    {
128
                        _result = false.ToString();
129
                    }
130
                }
131
            }
132
            catch (Exception ex)
133
            {
134
                logger.Error($"Conversion Web Service ConvertRun Error rev_No :{rev_No} document_No : {document_No}  document_Name : {document_Name}  group_No : {group_No}  prj_No : {prj_No}  document_Id : {document_Id}  document_Url : {document_Url}", ex);
135
                _result = ex.Message.ToString();
136
            }
137
            return _result;
138
        }
139

  
140

  
141
        private string SendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
142
        {
143
            string result = false.ToString();
144

  
145
            //string _id = GetGuid(0, GuidGenerator.GetUniqueGuid()).ToString();
146
            string _id = shortGuid();
147
            string _doc_id = ((UInt32)document_Id.GetHashCode()).ToString();
148

  
149
            string sCIConnString = ConfigurationManager.ConnectionStrings["CIConnectionString"].ConnectionString;
150
            using (CIEntities _kcomEntity = new CIEntities(sCIConnString))
151
            {
152
                if (string.IsNullOrEmpty(group_No))
153
                {
154
                    group_No = "0";
155
                }
156
                if (!document_Url.Contains("http%3a%2f%2f"))
157
                {
158
                    document_Url = Base64Decode(document_Url);
159
                    document_Url = System.Net.WebUtility.UrlEncode(document_Url);
160
                }
161
                document_Name = Base64DecodeFromStr(document_Name);
162

  
163
                var doc = _kcomEntity.DOCUMENT_ITEM.Where(d => d.PROJECT_NO == prj_No && d.ID == document_Id).FirstOrDefault();
164
                if (doc != null)
165
                {
166
                    doc.DOCUMENT_ID = _doc_id;
167
                    doc.REVISION = rev_No;
168
                    doc.GROUP_NO = group_No;
169
                    doc.DOCUMENT_NO = document_No;
170
                    doc.DOCUMENT_NAME = document_Name;
171
                    doc.ORIGINAL_FILE = document_Url;
172
                }
173
                else
174
                {
175
                    _kcomEntity.AddToDOCUMENT_ITEM(new DOCUMENT_ITEM
176
                    {
177
                        ID = document_Id,
178
                        REVISION = rev_No,
179
                        DOCUMENT_NO = document_No,
180
                        DOCUMENT_NAME = document_Name,
181
                        GROUP_NO = group_No,
182
                        ORIGINAL_FILE = document_Url,
183
                        DOCUMENT_ID = _doc_id,
184
                        PROJECT_NO = prj_No,
185
                    });
186
                }
187

  
188
                _kcomEntity.SaveChanges();
189

  
190
                string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
191
                using (KCOMEntities _entity = new KCOMEntities(sConnString))
192
                {
193
                    _entity.AddToCONVERTER_DOC(new CONVERTER_DOC
194
                    {
195
                        ID = _id,
196
                        CREATE_DATETIME = DateTime.Now,
197
                        DOCUMENT_URL = document_Url,
198
                        PROJECT_NO = prj_No,
199
                        DOCUMENT_ID = _doc_id,
200
                    });
201

  
202
                    _entity.SaveChanges();
203
                }
204
            }
205

  
206

  
207
            try
208
            {
209
                System.Net.WebClient client = new System.Net.WebClient();
210
                var convertResult = client.DownloadString($"{Properties.Settings.Default.CovnertService}/Rest/ConvertAdd?ProjectNo={prj_No}&ConvertID={_id}");
211

  
212
                JObject jObject = JObject.Parse(convertResult, new JsonLoadSettings());
213
                result = jObject["ConvertAddResult"].ToString();
214
            }
215
            catch (Exception ex)
216
            {
217
                logger.Error("Conversion Web Service SendKcom Error", ex);
218
                result = $"Markus V3 Connect Error {ex.Message}";
219
            }
220

  
221

  
222
            return result;
223
        }
224

  
225
        public string Base64DecodeFromStr(string data)
226
        {
227
            try
228
            {
229
                System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
230
                System.Text.Decoder utf8Decode = encoder.GetDecoder();
231

  
232
                byte[] todecode_byte = Convert.FromBase64String(data);
233

  
234
                int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
235

  
236
                char[] decoded_char = new char[charCount];
237

  
238
                utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
239

  
240
                string result = new String(decoded_char);
241

  
242
                return result;
243
            }
244
            catch (Exception)
245
            {
246
                return data;
247
            }
248
        }
249

  
250
        public string Base64Decode(string data)
251
        {
252
            try
253
            {
254
                if (data.Contains("http://"))
255
                {
256
                    return data;
257
                }
258
                else
259
                {
260
                    System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
261
                    System.Text.Decoder utf8Decode = encoder.GetDecoder();
262

  
263
                    byte[] todecode_byte = Convert.FromBase64String(data);
264

  
265
                    int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
266

  
267
                    char[] decoded_char = new char[charCount];
268

  
269
                    utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
270

  
271
                    string result = new String(decoded_char);
272

  
273
                    return result;
274
                }
275

  
276

  
277
            }
278

  
279
            catch (Exception e)
280
            {
281
                throw new Exception("Error in Base64Decode: " + e.Message);
282
            }
283
        }
284
        public string shortGuid()
285
        {
286
            byte[] bytes = new byte[16];
287
            using (var provider = System.Security.Cryptography.RandomNumberGenerator.Create())
288
            {
289
                provider.GetBytes(bytes);
290
            }
291

  
292
            var guid = new Guid(bytes);
293

  
294
            return Convert.ToBase64String(guid.ToByteArray())
295
                .Substring(0, 10)
296
                .Replace("/", "")
297
                .Replace("+", "") + DateTime.UtcNow.Ticks.ToString("x");
298
        }
299

  
100 300
    }
101 301
}
KCOM_API/Properties/Settings.Designer.cs
34 34
        
35 35
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
36 36
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
37
        [global::System.Configuration.DefaultSettingValueAttribute("V3")]
38
        public string CLIENT_VERSION {
37
        [global::System.Configuration.DefaultSettingValueAttribute("http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png")]
38
        public string TileSoucePath {
39 39
            get {
40
                return ((string)(this["CLIENT_VERSION"]));
40
                return ((string)(this["TileSoucePath"]));
41 41
            }
42 42
        }
43 43
        
44 44
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
45 45
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
46
        [global::System.Configuration.DefaultSettingValueAttribute("http://10.10.130.12:8977/TileSource/{0}_Tile/{1}/{2}/{3}.png")]
47
        public string TileSoucePath {
46
        [global::System.Configuration.DefaultSettingValueAttribute("http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png")]
47
        public string TileSoucePath_SUB {
48 48
            get {
49
                return ((string)(this["TileSoucePath"]));
49
                return ((string)(this["TileSoucePath_SUB"]));
50 50
            }
51 51
        }
52 52
        
53 53
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
54 54
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
55
        [global::System.Configuration.DefaultSettingValueAttribute("http://10.10.130.12:8977/TileSource/{0}_Tile/{1}/{2}/{3}.png")]
56
        public string TileSoucePath_SUB {
55
        [global::System.Configuration.DefaultSettingValueAttribute("V3")]
56
        public string CLIENT_VERSION {
57 57
            get {
58
                return ((string)(this["TileSoucePath_SUB"]));
58
                return ((string)(this["CLIENT_VERSION"]));
59
            }
60
        }
61
        
62
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
63
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64
        [global::System.Configuration.DefaultSettingValueAttribute("http://localhost:9101/StationService")]
65
        public string CovnertService {
66
            get {
67
                return ((string)(this["CovnertService"]));
59 68
            }
60 69
        }
61 70
        
62 71
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
63 72
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64
        [global::System.Configuration.DefaultSettingValueAttribute("tcp://localhost:9092/remFinalPDF")]
73
        [global::System.Configuration.DefaultSettingValueAttribute("tcp://localhost:7707/remFinalPDF")]
65 74
        public string FinalService {
66 75
            get {
67 76
                return ((string)(this["FinalService"]));
KCOM_API/Properties/Settings.settings
14 14
    <Setting Name="CLIENT_VERSION" Type="System.String" Scope="Application">
15 15
      <Value Profile="(Default)">V3</Value>
16 16
    </Setting>
17
    <Setting Name="CovnertService" Type="System.String" Scope="Application">
18
      <Value Profile="(Default)">http://localhost:9101/StationService</Value>
19
    </Setting>
17 20
    <Setting Name="FinalService" Type="System.String" Scope="Application">
18 21
      <Value Profile="(Default)">tcp://localhost:7707/remFinalPDF</Value>
19 22
    </Setting>
KCOM_API/Web.Debug.config
11 11
  <applicationSettings  xdt:Transform="Replace">
12 12
    <KCOM_API.Properties.Settings>
13 13
      <setting name="TileSoucePath" serializeAs="String">
14
        <value>http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png</value>
14
        <value>https://localhost:44301/TileSource/{0}_Tile/{1}/{2}/{3}.png</value>
15 15
      </setting>
16 16
      <setting name="TileSoucePath_SUB" serializeAs="String">
17
        <value>http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png</value>
17
        <value>https://localhost:44301/TileSource/{0}_Tile/{1}/{2}/{3}.png</value>
18 18
      </setting>
19 19
      <setting name="IsProjectNoPass" serializeAs="String">
20 20
        <value>True</value>
KCOM_API/Web.config
73 73
		  <add name="ServiceRedirector" type="KCOM_API.ServiceRedirector"/>
74 74
	  </httpModules>-->
75 75
  </system.web>
76
  <system.webServer>
77
	  <!--<modules>
76
  <!--<system.webServer>
77
	  --><!--<modules>
78 78
		  <add name="SessionEndModule" type="Markus.AddressModule"/>
79
	  </modules>-->
79
	  </modules>--><!--
80 80
	  <handlers>
81 81
		  <add name="ImageHandler1" type="Markus.ImageHandler" verb="*" path="Authenticate"/>
82 82
		  <add name="ImageHandler2" type="Markus.ImageHandler" verb="*" path="*.png"/>
......
84 84
		  <add name="ImageHandler4" type="Markus.ImageHandler" verb="*" path="*.pdf"/>
85 85
	  </handlers>
86 86
		<validation validateIntegratedModeConfiguration="false"/>
87
  </system.webServer>
87
  </system.webServer>-->
88 88
  <system.serviceModel>
89
	<protocolMapping>
89
	<!--<protocolMapping>
90 90
   <remove scheme="http"/>
91 91
   <add scheme="http" binding="basicHttpBinding" bindingConfiguration="LargeBuffer"/>
92
 </protocolMapping>-->
93
<protocolMapping>
94
   <add scheme="https" binding="customBinding" bindingConfiguration="CustomHttpsBinding"/>
92 95
 </protocolMapping>
93 96
 <diagnostics wmiProviderEnabled="true" performanceCounters="All">
94 97
   <messageLogging logEntireMessage="true" logKnownPii="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"/>
......
113 116
        </behavior>
114 117
      </endpointBehaviors>
115 118
      <serviceBehaviors>
116
        <behavior name="KCOM_API.SilverlightServiceBehavior">
117
          <serviceMetadata httpGetEnabled="true"/>
118
          <serviceDebug includeExceptionDetailInFaults="false"/>
119
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
120
        </behavior>
121
        <behavior name="">
119
        <behavior name="ServiceBehavior">
122 120
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
123
          <serviceDebug includeExceptionDetailInFaults="false"/>
121
          <serviceDebug includeExceptionDetailInFaults="true"/>
122
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
123
		<!--local https test용--> 
124
		<!--<serviceCredentials>
125
			 <clientCertificate>
126
            <authentication certificateValidationMode="PeerOrChainTrust" trustedStoreLocation="LocalMachine"/>
127
            </clientCertificate>
128
            <serviceCertificate findValue="ServerCert" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="My"/>
129
		</serviceCredentials>-->
124 130
        </behavior>
125 131
      </serviceBehaviors>
126 132
    </behaviors>
127
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
133
	  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
128 134
    <bindings>
129 135
      <basicHttpBinding>
130 136
        <binding name="LargeBuffer" closeTimeout="00:30:00" openTimeout="00:30:00" receiveTimeout="04:30:00" sendTimeout="04:30:00" maxBufferSize="2147483647"
......
134 140
        </binding>
135 141
      </basicHttpBinding>
136 142
      <customBinding>
137
        <binding name="customCompressionBinding">
138
          <WcfExtension level="Fast"/>
139
          <httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" requestInitializationTimeout="00:03:00" maxBufferSize="2147483647"/>
143
        <binding name="CustomHttpsBinding" closeTimeout="00:30:00" openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00">
144
          <reliableSession/>
145
          <httpsTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" requestInitializationTimeout="00:30:00" maxBufferSize="2147483647"/>
140 146
        </binding>
141 147
      </customBinding>
142 148
    </bindings>
143 149
    <services>
144
      <service behaviorConfiguration="KCOM_API.SilverlightServiceBehavior" name="KCOM_API.ServiceDeepView">
150
      <service behaviorConfiguration="ServiceBehavior" name="KCOM_API.ServiceDeepView">
145 151
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeBuffer" name="DeepViewPoint" contract="KCOM_API.ServiceDeepView"/>
146
        <endpoint address="GZIP" binding="customBinding" bindingConfiguration="customCompressionBinding" name="MarkusAPIgzip"
147
          contract="KCOM_API.ServiceDeepView"/>
152
        <endpoint address="" binding="customBinding" bindingConfiguration="CustomHttpsBinding" name="HTTPSMarkusAPI" contract="KCOM_API.ServiceDeepView"/>
148 153
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
154
        <!--<host>
155
          <baseAddresses>
156
            <add baseAddress="https://localhost:44301/ServiceDeepView.svc"/>
157
          </baseAddresses>
158
        </host>-->
149 159
      </service>
150
      <service name="KCOM_API.MarkusService">
160
      <service name="KCOM_API.MarkusService" behaviorConfiguration="ServiceBehavior">
151 161
        <endpoint address="Rest" behaviorConfiguration="WebHttpBehavior" binding="webHttpBinding" bindingConfiguration="" name="MarkusServiceWebEndPoint"
152 162
          contract="KCOM_API.MarkusService"/>
153 163
        <endpoint binding="basicHttpBinding" bindingConfiguration="" name="MarkusServiceEndPoint" contract="KCOM_API.MarkusService"/>
KCOM_API/packages.config
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<packages>
3
  <package id="log4net" version="2.0.8" targetFramework="net461" />
3 4
  <package id="Markus.Image.ImageCompare" version="1.8.1" targetFramework="net461" />
4 5
  <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net461" />
5 6
  <package id="Obfuscar" version="2.2.29" targetFramework="net461" developmentDependency="true" />
License/License.csproj
16 16
    <WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
17 17
    <UseIISExpress>true</UseIISExpress>
18 18
    <Use64BitIISExpress />
19
    <IISExpressSSLPort />
20
    <IISExpressAnonymousAuthentication />
21
    <IISExpressWindowsAuthentication />
22
    <IISExpressUseClassicPipelineMode />
19
    <IISExpressSSLPort>44393</IISExpressSSLPort>
20
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
21
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
22
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
23 23
    <UseGlobalApplicationHostFile />
24 24
  </PropertyGroup>
25 25
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
MarkupToPDF/Controls/Text/ArrowTextControl.cs
17 17

  
18 18
namespace MarkupToPDF.Controls.Text
19 19
{
20
    public class ArrowTextControl : CommentUserInfo, IDisposable, INotifyPropertyChanged, IPath, ITextControl, IMarkupControlData
20
    public class ArrowTextControl : CommentUserInfo, IDisposable, INotifyPropertyChanged, IPath, ITextControl, IMarkupControlData,ICommentRect
21 21
    {
22 22
        private const string PART_ArrowPath = "PART_ArrowPath";
23 23
        private const string PART_TextBox = "PART_ArrowTextBox";
......
1957 1957
            }
1958 1958
        }
1959 1959

  
1960
        public Rect GetCommentRect()
1961
        {
1962
            Rect rect = new Rect();
1963

  
1964
            rect.Location = new Point();
1965
            rect.Size = new Size();
1966

  
1967
            List<Point> points = new List<Point>();
1968

  
1969
            points.AddRange(this.PointSet);
1970

  
1971
            var boxTopleft = new Point(Canvas.GetTop(Base_TextBox), Canvas.GetLeft(Base_TextBox));
1972
            points.Add(boxTopleft);
1973

  
1974
            var boxBottomRight =new Point(boxTopleft.X + Base_TextBox.ActualWidth, boxTopleft.Y + Base_TextBox.ActualHeight);
1975
            points.Add(boxBottomRight);
1976

  
1977
            rect = CommentMath.CalculateBoundingRect(points);
1978

  
1979
            return rect;
1980
        }
1981

  
1960 1982
        public event PropertyChangedEventHandler PropertyChanged; 
1961 1983
        #endregion
1962 1984
    }
MarkupToPDF/MarkupToPDF.csproj
357 357
    <Reference Include="WindowsBase" />
358 358
  </ItemGroup>
359 359
  <ItemGroup>
360
    <Compile Include="Common\CommentMath.cs" />
360 361
    <Compile Include="Common\CommentUserInfo.cs" />
361 362
    <Compile Include="Common\GetUserSign.cs" />
362 363
    <Compile Include="Common\StringToFont.cs" />
......
408 409
    <Compile Include="Controls\Shape\TriControl.cs" />
409 410
    <Compile Include="Controls\Text\ArrowTextControl.cs" />
410 411
    <Compile Include="Controls\Text\TextControl.cs" />
412
    <Compile Include="ICommentRect.cs" />
411 413
    <Compile Include="Properties\AssemblyInfo.cs" />
412 414
    <Compile Include="Properties\Settings.Designer.cs">
413 415
      <AutoGen>True</AutoGen>
MarkusAutoUpdate/INI/Markus.AppUpdate_DEBUG.ini
3 3

  
4 4
[APP_CAST]
5 5
URI = http://localhost:44311/MarkusUpdate/appcast.xml
6

  
7

  
8
#daelim APP_CAST address
9
#[HOST_DOMAIN]
10
#DOMAIN=DAELIM.COM
11

  
12
#[APP_CAST]
13
#URI = http://172.20.120.141:5977/MarkusUpdate/appcast.xml
14
#EXTERNAL_URI = 203.226.6.165:5977
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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