프로젝트

일반

사용자정보

개정판 b42dd24d

IDb42dd24ddb89ae3b28024ec36780f58abfd055db
상위 a1e2ba68
하위 bae83c92

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

finalPDF 수정

Change-Id: Ic1c091379dcc59c6c7a0f42f275a4d57a9239229

차이점 보기:

DownloadManagerTest/DownloadManagerTest.csproj
34 34
    <DebugType>full</DebugType>
35 35
    <Optimize>false</Optimize>
36 36
    <OutputPath>bin\Debug\</OutputPath>
37
    <DefineConstants>DEBUG;TRACE</DefineConstants>
37
    <DefineConstants>TRACE;DEBUG;DOWNLOAD_TEST</DefineConstants>
38 38
    <ErrorReport>prompt</ErrorReport>
39 39
    <WarningLevel>4</WarningLevel>
40 40
    <Prefer32Bit>false</Prefer32Bit>
FileUploadWevService/FileUploadWevService.csproj
4 4
  <PropertyGroup>
5 5
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6 6
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7
    <ProductVersion></ProductVersion>
7
    <ProductVersion>
8
    </ProductVersion>
8 9
    <SchemaVersion>2.0</SchemaVersion>
9 10
    <ProjectGuid>{8A7E6629-886E-4F39-A8C5-EE24589891A8}</ProjectGuid>
10 11
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
......
15 16
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
16 17
    <UseIISExpress>true</UseIISExpress>
17 18
    <Use64BitIISExpress />
18
    <IISExpressSSLPort>44301</IISExpressSSLPort>
19
    <IISExpressSSLPort>
20
    </IISExpressSSLPort>
19 21
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
20 22
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
21 23
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
......
103 105
          <AutoAssignPort>True</AutoAssignPort>
104 106
          <DevelopmentServerPort>50657</DevelopmentServerPort>
105 107
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
106
          <IISUrl>https://localhost:44301/ImageUpload/</IISUrl>
108
          <IISUrl>http://localhost:44301/ImageUpload/</IISUrl>
107 109
          <NTLMAuthentication>False</NTLMAuthentication>
108 110
          <UseCustomServer>False</UseCustomServer>
109
          <CustomServerUrl></CustomServerUrl>
111
          <CustomServerUrl>
112
          </CustomServerUrl>
110 113
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
111 114
        </WebProjectProperties>
112 115
      </FlavorProperties>
FinalService/KCOM_FinalService/DatabaseLoadTest/App.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<configuration>
3
    <startup> 
4
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
5
    </startup>
6
</configuration>
FinalService/KCOM_FinalService/DatabaseLoadTest/DatabaseLoadTest.csproj
1
<?xml version="1.0" encoding="utf-8"?>
2
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4
  <PropertyGroup>
5
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7
    <ProjectGuid>{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}</ProjectGuid>
8
    <OutputType>Exe</OutputType>
9
    <RootNamespace>DatabaseLoadTest</RootNamespace>
10
    <AssemblyName>DatabaseLoadTest</AssemblyName>
11
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
12
    <FileAlignment>512</FileAlignment>
13
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
14
    <Deterministic>true</Deterministic>
15
    <TargetFrameworkProfile />
16
  </PropertyGroup>
17
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
18
    <PlatformTarget>x64</PlatformTarget>
19
    <DebugSymbols>true</DebugSymbols>
20
    <DebugType>full</DebugType>
21
    <Optimize>false</Optimize>
22
    <OutputPath>bin\Debug\</OutputPath>
23
    <DefineConstants>DEBUG;TRACE</DefineConstants>
24
    <ErrorReport>prompt</ErrorReport>
25
    <WarningLevel>4</WarningLevel>
26
  </PropertyGroup>
27
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28
    <PlatformTarget>AnyCPU</PlatformTarget>
29
    <DebugType>pdbonly</DebugType>
30
    <Optimize>true</Optimize>
31
    <OutputPath>bin\Release\</OutputPath>
32
    <DefineConstants>TRACE</DefineConstants>
33
    <ErrorReport>prompt</ErrorReport>
34
    <WarningLevel>4</WarningLevel>
35
  </PropertyGroup>
36
  <ItemGroup>
37
    <Reference Include="System" />
38
    <Reference Include="System.Core" />
39
    <Reference Include="System.Data.Entity" />
40
    <Reference Include="System.Xml.Linq" />
41
    <Reference Include="System.Data.DataSetExtensions" />
42
    <Reference Include="Microsoft.CSharp" />
43
    <Reference Include="System.Data" />
44
    <Reference Include="System.Net.Http" />
45
    <Reference Include="System.Xml" />
46
  </ItemGroup>
47
  <ItemGroup>
48
    <Compile Include="Program.cs" />
49
    <Compile Include="Properties\AssemblyInfo.cs" />
50
  </ItemGroup>
51
  <ItemGroup>
52
    <None Include="App.config" />
53
    <None Include="FinalService.ini">
54
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
55
    </None>
56
  </ItemGroup>
57
  <ItemGroup>
58
    <ProjectReference Include="..\KCOMDataModel\KCOMDataModel.csproj">
59
      <Project>{629dc8cd-d458-47ef-8f02-cd12c7001c3e}</Project>
60
      <Name>KCOMDataModel</Name>
61
    </ProjectReference>
62
  </ItemGroup>
63
  <ItemGroup>
64
    <PackageReference Include="EntityFramework">
65
      <Version>6.4.4</Version>
66
    </PackageReference>
67
    <PackageReference Include="EntityFramework.ko">
68
      <Version>6.2.0</Version>
69
    </PackageReference>
70
  </ItemGroup>
71
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
72
</Project>
FinalService/KCOM_FinalService/DatabaseLoadTest/FinalService.ini
1
[PDFMovePath]
2
URL=\\192.168.0.67\finalpdf\
3
[ApprovedImgPath]
4
URL=\\192.168.0.67\finalpdf\Approved.png
5
[CheckmarkImgPath]
6
URL=\\192.168.0.67\finalpdf\checkmark.png
7
[DebugSavePath]
8
URL=D:\\Develop\\Ensemble\\{0}_app\\VPCS_DOCLIB\\{1}\\{2}\\ToVendor\\
9
[DebugResultUrlPath]
10
URL=http://cloud.devdoftech.co.kr:5977/FinalPDF/{0}_app/VPCS_DOCLIB/{1}/{2}/ToVendor/{3}
11
[FinalServiceName]
12
NAME=FinalService
13
[UpLoadServiceUrl]
14
URL=
15
[ConnectionString]
16
STRING=EVCOYxwadMNh7qzjMvRTwOacwyFatXgWjx//sssrSKTsvMkdvpdBa3Sj3mmhwABTiweSqNnWYgsIxUWXaBe8XE8G1CLaux2zPbyBWvqxJruTX0H5MqABZSEXXG82XaGL
17
[MARKUS_API]
18
URL=http://www.devdoftech.co.kr:5979/ServiceDeepView.svc
FinalService/KCOM_FinalService/DatabaseLoadTest/Program.cs
1
using KCOMDataModel.DataModel;
2
using System;
3
using System.Collections.Generic;
4
using System.Linq;
5
using System.Text;
6
using System.Threading.Tasks;
7

  
8
namespace DatabaseLoadTest
9
{
10
    class Program
11
    {
12
        static void Main(string[] args)
13
        {
14
            try
15
            {
16

  
17
                using (KCOMEntities _entity = new KCOMEntities(KCOMDataModel.Common.ConnectStringBuilder.KCOMConnectionString().ToString()))
18
                {
19
                    var items = _entity.FINAL_PDF;
20

  
21
                    Console.WriteLine("FinalPDF Count : " + items.Count());
22

  
23
                    foreach (var item in items)
24
                    {
25
                        List<MARKUP_DATA> MarkupDataSet = null;
26
                        DOCINFO DocInfoItem = null;
27

  
28
                        using (CIEntities _ciEntity = new CIEntities(KCOMDataModel.Common.ConnectStringBuilder.ProjectCIConnectString("000000").ToString()))
29
                        {
30
                            DocInfoItem = _ciEntity.DOCINFO.Where(x => x.DOCUMENT_ID == item.DOCUMENT_ID).FirstOrDefault();
31

  
32
                            var markupinfoItem = DocInfoItem.MARKUP_INFO.Where(x => x.DOCINFO_ID == DocInfoItem.ID && x.CONSOLIDATE == 1 && x.AVOID_CONSOLIDATE == 0 && x.PART_CONSOLIDATE == 0).FirstOrDefault();
33

  
34
                            if (markupinfoItem.MARKUP_INFO_VERSION.Count > 0)
35
                            {
36
                                MarkupDataSet = markupinfoItem.MARKUP_INFO_VERSION.OrderBy(x => x.CREATE_DATE).LastOrDefault().MARKUP_DATA.ToList().OrderBy(x => x.PAGENUMBER).ToList();
37
                            }
38
                        }
39

  
40
                        List<MARKUP_DATA> MarkupDataSet2 = null;
41
                        DOCINFO DocInfoItem2 = null;
42
                        MARKUP_INFO MarkupInfoItem = null;
43

  
44
                        using (CIEntities _ciEntity = new CIEntities(KCOMDataModel.Common.ConnectStringBuilder.ProjectCIConnectString("000000").ToString()))
45
                        {
46
                            var _DOCINFO = _ciEntity.DOCINFO.Where(x => x.DOCUMENT_ID == item.DOCUMENT_ID);
47

  
48
                            if (_DOCINFO.Count() > 0)
49
                            {
50
                                DocInfoItem2 = _DOCINFO.First();
51

  
52
                                var infoItems = _ciEntity.MARKUP_INFO.Where(x => x.DOCINFO_ID == DocInfoItem.ID && x.CONSOLIDATE == 1 && x.AVOID_CONSOLIDATE == 0 && x.PART_CONSOLIDATE == 0);
53

  
54
                                if (infoItems.Count() == 0)
55
                                {
56
                                    throw new Exception("콘솔리데잇이 작업 요청 후에 수정 / 삭제 되었습니다");
57
                                }
58
                                else
59
                                {
60
                                    MarkupInfoItem = infoItems.First();
61

  
62
                                    var markupInfoVerItems = _ciEntity.MARKUP_INFO_VERSION.Where(x => x.MARKUPINFO_ID == MarkupInfoItem.ID).ToList();
63

  
64
                                    if (markupInfoVerItems.Count() > 0)
65
                                    {
66
                                        var markupInfoVerItem = markupInfoVerItems.OrderByDescending(x => x.CREATE_DATE).First();
67

  
68
                                        MarkupDataSet2 = _ciEntity.MARKUP_DATA.Where(x => x.MARKUPINFO_VERSION_ID == markupInfoVerItem.ID).OrderBy(d => d.PAGENUMBER).ToList();
69
                                    }
70
                                    else
71
                                    {
72
                                        throw new Exception("MARKUP_INFO_VERSION 이 존재 하지 않습니다");
73
                                    }
74
                                }
75
                            }
76
                        }
77

  
78

  
79
                        if (MarkupDataSet?.Count() != MarkupDataSet?.Count())
80
                        {
81
                            Console.WriteLine($"Document ID : {item.DOCUMENT_ID} Error");
82
                        }
83

  
84
                        System.Threading.Thread.Sleep(100);
85
                    }
86

  
87
                }
88
            }
89
            catch (Exception ex)
90
            {
91
                Console.WriteLine(ex.ToString());
92
            }
93
            Console.WriteLine("완료");
94
            Console.ReadLine();
95
        }
96

  
97
        static void Write(string Log)
98
        {
99

  
100
        }
101
    }
102
}
FinalService/KCOM_FinalService/DatabaseLoadTest/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Runtime.CompilerServices;
3
using System.Runtime.InteropServices;
4

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

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

  
22
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
23
[assembly: Guid("99e36dfb-0c2c-432d-bc33-7cf6d4b947c2")]
24

  
25
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
26
//
27
//      주 버전
28
//      부 버전 
29
//      빌드 번호
30
//      수정 버전
31
//
32
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
33
// 지정되도록 할 수 있습니다.
34
// [assembly: AssemblyVersion("1.0.*")]
35
[assembly: AssemblyVersion("1.0.0.0")]
36
[assembly: AssemblyFileVersion("1.0.0.0")]
FinalService/KCOM_FinalService/KCOM_FinalService.sln
35 35
EndProject
36 36
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UploadTest", "UploadTest\UploadTest.csproj", "{9F2A21D2-979E-4F9A-9BF1-F7460A80CF11}"
37 37
EndProject
38
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DatabaseLoadTest", "DatabaseLoadTest\DatabaseLoadTest.csproj", "{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}"
39
EndProject
38 40
Global
39 41
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
40 42
		Debug|Any CPU = Debug|Any CPU
......
205 207
		{9F2A21D2-979E-4F9A-9BF1-F7460A80CF11}.Release|x64.Build.0 = Release|Any CPU
206 208
		{9F2A21D2-979E-4F9A-9BF1-F7460A80CF11}.Release|x86.ActiveCfg = Release|Any CPU
207 209
		{9F2A21D2-979E-4F9A-9BF1-F7460A80CF11}.Release|x86.Build.0 = Release|Any CPU
210
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
211
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
212
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|x64.ActiveCfg = Debug|Any CPU
213
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|x64.Build.0 = Debug|Any CPU
214
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|x86.ActiveCfg = Debug|Any CPU
215
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Debug|x86.Build.0 = Debug|Any CPU
216
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
217
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|Any CPU.Build.0 = Release|Any CPU
218
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|x64.ActiveCfg = Release|Any CPU
219
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|x64.Build.0 = Release|Any CPU
220
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|x86.ActiveCfg = Release|Any CPU
221
		{99E36DFB-0C2C-432D-BC33-7CF6D4B947C2}.Release|x86.Build.0 = Release|Any CPU
208 222
	EndGlobalSection
209 223
	GlobalSection(SolutionProperties) = preSolution
210 224
		HideSolutionNode = FALSE
FinalService/KCOM_FinalService/KCOM_FinalService/KCOM_FinalService.csproj
107 107
    </Content>
108 108
    <None Include="Log.config">
109 109
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
110
      <SubType>Designer</SubType>
110 111
    </None>
111 112
    <None Include="packages.config" />
112 113
    <None Include="Properties\Settings.settings">
FinalService/KCOM_FinalService/KCOM_FinalService/Remoting/RemFinalPDFStation.cs
2 2
using KCOM_FinalService.Common;
3 3
using KCOMDataModel.Common;
4 4
using KCOMDataModel.DataModel;
5
using MarkupToPDF;
5 6
using System;
6 7
using System.Collections.Concurrent;
7 8
using System.Collections.Generic;
......
113 114
            IFinalPDF.Cache.Attach(this);
114 115
        }
115 116

  
116
        private void SetFinalState(string finalID, FinalStatus status)
117
        private void SetFinalState(string finalID, FinalStatus status,string log = null)
117 118
        {
118 119
            using (KCOMDataModel.DataModel.KCOMEntities _entity = new KCOMDataModel.DataModel.KCOMEntities(KCOMDataModel.Common.ConnectStringBuilder.KCOMConnectionString().ToString()))
119 120
            {
......
135 136
                        
136 137
                        finalList.First().END_DATETIME = DateTime.Now;
137 138
                    }
139
                    if(status == FinalStatus.PdfStamp)
140
                    {
141
                        if (!string.IsNullOrWhiteSpace(log))
142
                        {
143
                            var sb = new System.Text.StringBuilder();
144
                            sb.AppendLine(log);
145
                            sb.AppendLine(finalList.First().EXCEPTION);
146

  
147
                            finalList.First().EXCEPTION = log;
148
                        }
149
                    }
138 150

  
139 151
                    finalList.First().STATUS = (int)status;
140 152
                    _entity.SaveChanges();
......
215 227
                    /// 작업 수행
216 228
                    MarkupToPDF.MarkupToPDF _markuptoPDF = new MarkupToPDF.MarkupToPDF();
217 229
                    _markuptoPDF.FinalMakeError += new EventHandler<MarkupToPDF.MakeFinalErrorArgs>(_markuptoPDF_FinalMakeError);
230
                    _markuptoPDF.StatusChanged += new EventHandler<MarkupToPDF.StatusChangedEventArgs>(_markuptoPDF_StatusChange);
218 231
                    _markuptoPDF.EndFinal += new EventHandler<MarkupToPDF.EndFinalEventArgs>(_markuptoPDF_EndFinal);
219 232
                    Thread _stathread = new Thread(new ParameterizedThreadStart(_markuptoPDF.MakeFinalPDF))
220 233
                    {
......
230 243
                }
231 244
            });
232 245
        }
233

  
234 246
        /// <summary>
235 247
        /// callback for WebService
236 248
        /// </summary>
......
263 275
            return new FinalPDFResult();
264 276
        }
265 277

  
278

  
279
        private void _markuptoPDF_StatusChange(object sender, StatusChangedEventArgs e)
280
        {
281
            var _T = WorkingList.Where(t => t == (sender as MarkupToPDF.MarkupToPDF).FinalItem);
282

  
283
            if (_T.Count() > 0)
284
            {
285
                FINAL_PDF _item = _T.First();
286
                SetFinalState(_item.ID, FinalStatus.PdfStamp,e.Message);
287
                _Logger.Write($"PdfStamp Final ID : {_item.ID} message : {e.Message} ",LogLevel.Info);
288
            }
289
        }
290

  
266 291
        /// <summary>
267 292
        /// final pdf 종료
268 293
        /// </summary>
......
359 384
                        }
360 385

  
361 386
#if DEBUG
362
                        this.WaitingQueue.Enqueue(_item);
387
                        //this.WaitingQueue.Enqueue(_item);
363 388
#endif
364 389
                    }
390

  
391
                    (sender as MarkupToPDF.MarkupToPDF).FinalMakeError -= new EventHandler<MarkupToPDF.MakeFinalErrorArgs>(_markuptoPDF_FinalMakeError);
392
                    (sender as MarkupToPDF.MarkupToPDF).StatusChanged -= new EventHandler<MarkupToPDF.StatusChangedEventArgs>(_markuptoPDF_StatusChange);
393
                    (sender as MarkupToPDF.MarkupToPDF).EndFinal -= new EventHandler<MarkupToPDF.EndFinalEventArgs>(_markuptoPDF_EndFinal);
394
                    (sender as MarkupToPDF.MarkupToPDF).Dispose();
365 395
                }
366 396
                catch (Exception ex)
367 397
                {
......
371 401
                finally
372 402
                {
373 403
                    WorkingList.Remove(_T.First());
404

  
374 405
                }
375 406

  
376 407
                /// 대기중인 merged pdf가 있을 경우 merged pdf를 생성한다
......
446 477
            {
447 478
                FINAL_PDF _Item = _T.First();
448 479
                (sender as MarkupToPDF.MarkupToPDF).FinalMakeError -= new EventHandler<MarkupToPDF.MakeFinalErrorArgs>(_markuptoPDF_FinalMakeError);
480
                (sender as MarkupToPDF.MarkupToPDF).StatusChanged -= new EventHandler<MarkupToPDF.StatusChangedEventArgs>(_markuptoPDF_StatusChange);
449 481
                (sender as MarkupToPDF.MarkupToPDF).EndFinal -= new EventHandler<MarkupToPDF.EndFinalEventArgs>(_markuptoPDF_EndFinal);
450 482
                (sender as MarkupToPDF.MarkupToPDF).Dispose();
451 483
                WorkingList.Remove(_Item);
FinalService/KCOM_FinalService/KCOM_FinalService/app.config
1
<?xml version="1.0" encoding="utf-8"?>
1
<?xml version="1.0" encoding="utf-8"?>
2 2
<configuration>
3
    <configSections>
4
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
5
            <section name="KCOM_FinalService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
6
        </sectionGroup>
7
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
8
    </configSections>
3
  <configSections>
4
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
5
      <section name="KCOM_FinalService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
6
    </sectionGroup>
7
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
8
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
9
  </configSections>
9 10
  <log4net>
10 11
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
11
      <file type="log4net.Util.PatternString" value="%property{LogFilePath}"/>
12
      <datePattern value="yyyy-MM-dd.log"/>
13
      <appendToFile value="true"/>
14
      <rollingStyle value="Size"/>
15
      <maximumFileSize value="100KB"/>
16
      <maxSizeRollBackups value="100"/>
12
      <file type="log4net.Util.PatternString" value="%property{LogFilePath}" />
13
      <datePattern value="yyyy-MM-dd.log" />
14
      <appendToFile value="true" />
15
      <rollingStyle value="Size" />
16
      <maximumFileSize value="100KB" />
17
      <maxSizeRollBackups value="100" />
17 18
      <!-- Use -1 for unlimited-->
18
      <staticLogFileName value="true"/>
19
      <countDirection value="1"/>
19
      <staticLogFileName value="true" />
20
      <countDirection value="1" />
20 21
      <layout type="log4net.Layout.PatternLayout">
21 22
        <!--<header value="DATE          MESSAGE&#13;&#10;" /> -->
22
        <param name="ConversionPattern" value="%date %message %newline"/>
23
        <param name="ConversionPattern" value="%date %message %newline" />
23 24
      </layout>
24 25
    </appender>
25 26
    <root>
26
      <level value="ALL"/>
27
      <level value="ALL" />
27 28
    </root>
28 29
    <logger name="EventLogger" additivity="false">
29
      <level value="ALL"/>
30
      <appender-ref ref="RollingFileAppender"/>
30
      <level value="ALL" />
31
      <appender-ref ref="RollingFileAppender" />
31 32
    </logger>
32 33
  </log4net>
33

  
34
    <userSettings>
35
        <KCOM_FinalService.Properties.Settings>
36
            <setting name="RemotingPort" serializeAs="String">
37
                <value>9092</value>
38
            </setting>
39
            <setting name="MultipleFinalCount" serializeAs="String">
40
                <value>15</value>
41
            </setting>
42
            <setting name="NoticeTitleBase" serializeAs="String">
43
                <value>&lt;VPCS - Final PDF Creation Notice&gt; Slip No : ({SlipNo}) ({PoNo}) ({VendorName} , {VendorItemNo})</value>
44
            </setting>
45
            <setting name="OpenFinalPDFPageUrl" serializeAs="String">
46
                <value>finalpdf.daelim.com</value>
47
            </setting>
48
            <setting name="WorkflowLink" serializeAs="String">
49
                <value>http://esb-vpcs-new.daelimplant.com/ProjectPortal/UserControls/DaelimCI2/UserControls/Form/Workflow/VPC/default.aspx?TYPE={Status}&amp;WFTYPE=VPC&amp;ProjectName={ProjectNo}&amp;id={WorkflowID}&amp;bpartner={bPartner}&amp;USERID={userID}</value>
50
            </setting>
51
            <setting name="manyFinalMsg" serializeAs="String">
52
                <value>All final PDF (Slip no. {SlipNo}) files were created and published to server successfully.</value>
53
            </setting>
54
            <setting name="SingleFinalMsg" serializeAs="String">
55
                <value>Final PDF (Slip no. {SlipNo}) file was created and published to server successfully.</value>
56
            </setting>
57
            <setting name="NoticeSendDisplayID" serializeAs="String">
58
                <value>[PDFPublishAdmin]</value>
59
            </setting>
60
            <setting name="finalnoticehtmlPath" serializeAs="String">
61
                <value>D:\FinalPDF\HtmlFile\FinalPdfNotice.html</value>
62
            </setting>
63
            <setting name="finalnoticehtmlPath_TR" serializeAs="String">
64
                <value>D:\FinalPDF\HtmlFile\FinalPdfNotice_TR.html</value>
65
            </setting>
66
            <setting name="saveFileFolder" serializeAs="String">
67
                <value>D:\\Develop\\Ensemble\\{0}_app\\VPCS_DOCLIB\\{1}\\{2}\\ToVendor\\</value>
68
            </setting>
69
            <setting name="resultFileFolder" serializeAs="String">
70
                <value>http://cloud.devdoftech.co.kr:5977/FinalPDF/{0}_app/VPCS_DOCLIB/{1}/{2}/ToVendor/{3}</value>
71
            </setting>
72
        </KCOM_FinalService.Properties.Settings>
73
    </userSettings>
74
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration>
34
  <userSettings>
35
    <KCOM_FinalService.Properties.Settings>
36
      <setting name="RemotingPort" serializeAs="String">
37
        <value>9092</value>
38
      </setting>
39
      <setting name="MultipleFinalCount" serializeAs="String">
40
        <value>15</value>
41
      </setting>
42
      <setting name="NoticeTitleBase" serializeAs="String">
43
        <value>&lt;VPCS - Final PDF Creation Notice&gt; Slip No : ({SlipNo}) ({PoNo}) ({VendorName} , {VendorItemNo})</value>
44
      </setting>
45
      <setting name="OpenFinalPDFPageUrl" serializeAs="String">
46
        <value>finalpdf.daelim.com</value>
47
      </setting>
48
      <setting name="WorkflowLink" serializeAs="String">
49
        <value>http://esb-vpcs-new.daelimplant.com/ProjectPortal/UserControls/DaelimCI2/UserControls/Form/Workflow/VPC/default.aspx?TYPE={Status}&amp;WFTYPE=VPC&amp;ProjectName={ProjectNo}&amp;id={WorkflowID}&amp;bpartner={bPartner}&amp;USERID={userID}</value>
50
      </setting>
51
      <setting name="manyFinalMsg" serializeAs="String">
52
        <value>All final PDF (Slip no. {SlipNo}) files were created and published to server successfully.</value>
53
      </setting>
54
      <setting name="SingleFinalMsg" serializeAs="String">
55
        <value>Final PDF (Slip no. {SlipNo}) file was created and published to server successfully.</value>
56
      </setting>
57
      <setting name="NoticeSendDisplayID" serializeAs="String">
58
        <value>[PDFPublishAdmin]</value>
59
      </setting>
60
      <setting name="finalnoticehtmlPath" serializeAs="String">
61
        <value>D:\FinalPDF\HtmlFile\FinalPdfNotice.html</value>
62
      </setting>
63
      <setting name="finalnoticehtmlPath_TR" serializeAs="String">
64
        <value>D:\FinalPDF\HtmlFile\FinalPdfNotice_TR.html</value>
65
      </setting>
66
      <setting name="saveFileFolder" serializeAs="String">
67
        <value>D:\\Develop\\Ensemble\\{0}_app\\VPCS_DOCLIB\\{1}\\{2}\\ToVendor\\</value>
68
      </setting>
69
      <setting name="resultFileFolder" serializeAs="String">
70
        <value>http://cloud.devdoftech.co.kr:5977/FinalPDF/{0}_app/VPCS_DOCLIB/{1}/{2}/ToVendor/{3}</value>
71
      </setting>
72
    </KCOM_FinalService.Properties.Settings>
73
  </userSettings>
74
  <startup>
75
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
76
  </startup>
77
  <entityFramework>
78
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
79
  </entityFramework>
80
</configuration>
FinalService/KCOM_FinalService/KCOM_FinalServiceConsole/App.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<configuration />
FinalService/KCOM_FinalService/KCOM_FinalServiceConsole/KCOM_FinalServiceConsole.csproj
48 48
      <Project>{eb1de04a-d86e-4bf7-b095-f72207923c3b}</Project>
49 49
      <Name>Markus.Fonts</Name>
50 50
    </ProjectReference>
51
    <ProjectReference Include="..\CommonLib\CommonLib.csproj">
52
      <Project>{ee9aaabc-1678-43a4-878e-cedbb577cf01}</Project>
53
      <Name>CommonLib</Name>
54
    </ProjectReference>
55
    <ProjectReference Include="..\IFinalPDF\IFinalPDF.csproj">
56
      <Project>{784438BE-2074-41AE-A692-24E1A4A67FE3}</Project>
57
      <Name>IFinalPDF</Name>
58
    </ProjectReference>
51 59
    <ProjectReference Include="..\KCOMDataModel\KCOMDataModel.csproj">
52 60
      <Project>{629dc8cd-d458-47ef-8f02-cd12c7001c3e}</Project>
53 61
      <Name>KCOMDataModel</Name>
......
66 74
    </ProjectReference>
67 75
  </ItemGroup>
68 76
  <ItemGroup>
77
    <Reference Include="EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
78
      <HintPath>..\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll</HintPath>
79
    </Reference>
69 80
    <Reference Include="log4net, Version=2.0.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
70 81
      <HintPath>..\packages\log4net.2.0.11\lib\net45\log4net.dll</HintPath>
71 82
    </Reference>
72 83
    <Reference Include="System" />
84
    <Reference Include="System.ComponentModel.DataAnnotations" />
73 85
    <Reference Include="System.Configuration" />
86
    <Reference Include="System.Data" />
87
    <Reference Include="System.Data.DataSetExtensions" />
88
    <Reference Include="System.Data.Entity" />
89
    <Reference Include="System.Runtime.Remoting" />
74 90
    <Reference Include="System.ServiceProcess" />
75 91
    <Reference Include="System.Web" />
76 92
  </ItemGroup>
FinalService/KCOM_FinalService/KCOM_FinalServiceConsole/Program.cs
8 8
using log4net;
9 9
using KCOM_FinalService.Common;
10 10
using System.Runtime.InteropServices;
11
using System.Runtime.Remoting.Channels.Tcp;
12
using IFinalPDF;
11 13

  
12 14
namespace KCOM_FinalService.Console
13 15
{
......
33 35
        {
34 36
            SetConsoleCtrlHandler(Handler, true);
35 37

  
38
#if DEBUG
39
            sConnString = KCOMDataModel.Common.ConnectStringBuilder.KCOMConnectionString().ToString();
40

  
41
            timer = new System.Timers.Timer();
42
            timer.Interval = new TimeSpan(0, 0, 3).TotalMilliseconds;
43
            timer.Elapsed += Timer_Elapsed;
44
            //timer.Start();
45
#endif
46

  
47

  
36 48
            KCOM_FinalService.Program.Main(args);
37 49
        }
50
        static System.Timers.Timer timer;
51
        static  string sConnString;
52
        static bool flag;
53

  
54
        static int count;
55

  
56
        private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
57
        {
58
            FINAL_PDF fINAL_PDF;
59

  
60
            if (flag)
61
            {
62
                flag = false;
63

  
64
                fINAL_PDF= new FINAL_PDF()
65
                {
66
                    ID = CommonLib.Guid.shortGuid(),
67
                    PROJECT_NO = "000000",
68
                    DOCINFO_ID = "c8bc53f3-c35e-ed2e-3f46-3ed5f283625f",
69
                    DOCUMENT_ID = "30000071",
70
                    MARKUPINFO_ID = "stQAvNq1oZ8d90df431f7e5a1",
71
                    CREATE_USER_ID = "doftech",
72
                    TOTAL_PAGE = 1,
73
                    CREATE_DATETIME = DateTime.Now,
74
                    STATUS = (int)IFinalPDF.FinalStatus.Insert
75
                };
76
            }
77
            else
78
            {
79
                flag = true;
80
                fINAL_PDF = new FINAL_PDF()
81
                {
82
                    ID = CommonLib.Guid.shortGuid(),
83
                    PROJECT_NO = "000000",
84
                    DOCINFO_ID = "ad75e7a3-9cf7-7556-c98a-59563d436bd1",
85
                    DOCUMENT_ID = "30000131",
86
                    MARKUPINFO_ID = "MxlkRXDTnJ8d916a72ae2d7b9",
87
                    CREATE_USER_ID = "doftech",
88
                    TOTAL_PAGE = 90,
89
                    CREATE_DATETIME = DateTime.Now,
90
                    STATUS = (int)IFinalPDF.FinalStatus.Insert
91
                };
92
            }
93

  
94
            using (KCOMEntities _entity = new KCOMEntities(sConnString))
95
            {
96
                _entity.AddToFINAL_PDF(fINAL_PDF);
97
                _entity.SaveChanges();
98

  
99
                SetFinalPDF(fINAL_PDF.PROJECT_NO, fINAL_PDF.ID);
100
            };
101

  
102
            count++;
103

  
104
            if(count > 100)
105
            {
106
                timer.Stop();
107
            }
108
        }
109

  
110
        public static void SetFinalPDF(string ProjectNo, string _finalID)
111
        {
112
            RemFinalPDFObject remObj = null;
113
            TcpChannel chan = new TcpChannel();
114

  
115
            try
116
            {
117

  
118
                System.Runtime.Remoting.Channels.IChannel _ch = System.Runtime.Remoting.Channels.ChannelServices.GetChannel("tcp");
119

  
120
                if (_ch == null)
121
                {
122
                        string _ChanID = null;
123
                          _ChanID = chan.ChannelName;
124
                        System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(chan, false);
125
                }
126

  
127
                remObj = (RemFinalPDFObject)Activator.GetObject(typeof(RemFinalPDFObject), "tcp://localhost:9092/remFinalPDF");
128
                var result = remObj.SetFinalPDF(ProjectNo, _finalID);
129
            }
130
            catch (Exception ex)
131
            {
132
                throw ex;
133
            }
134
            finally
135
            {
136
                //remObj = null;
137
                //if (System.Runtime.Remoting.Channels.ChannelServices.GetChannel("tcp") != null)
138
                //    System.Runtime.Remoting.Channels.ChannelServices.UnregisterChannel(chan);
139

  
140
                //GC.Collect(2);
141
            }
142
        }
38 143

  
39 144

  
40 145
        private static bool Handler(CtrlType signal)
FinalService/KCOM_FinalService/KCOM_FinalServiceConsole/packages.config
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<packages>
3
  <package id="EntityFramework" version="5.0.0" targetFramework="net461" />
4
  <package id="EntityFramework.ko" version="5.0.0" targetFramework="net461" />
3 5
  <package id="log4net" version="2.0.11" targetFramework="net461" />
4 6
</packages>
FinalService/KCOM_FinalService/MarkupToPDF/Controls_PDF/DrawSet_Arrow.cs
38 38
                contentByte.LineTo(p1.X - dx * 3*lineSize + norm.X * 1*lineSize, p1.Y - dy * 3*lineSize + norm.Y * 1*lineSize);
39 39
                contentByte.LineTo(p1.X, p1.Y);
40 40
                contentByte.LineTo(p1.X - dx * 3*lineSize - norm.X * 1*lineSize, p1.Y - dy * 3*lineSize - norm.Y * 1*lineSize);
41

  
41
      
42 42
                contentByte.ClosePathFillStroke();
43 43
            }
44 44
            contentByte.RestoreState();
FinalService/KCOM_FinalService/MarkupToPDF/MarkupToPDF.cs
338 338

  
339 339
                    if (_DOCINFO.Count() > 0)
340 340
                    {
341
                        DocInfoItem = _DOCINFO.FirstOrDefault();
342
                        DocPageItem = DocInfoItem.DOCPAGE.ToList();
341
                        DocInfoItem = _DOCINFO.First();
342

  
343
                        DocPageItem = _entity.DOCPAGE.Where(x => x.DOCINFO_ID == DocInfoItem.ID).ToList();
343 344

  
344 345
                        PdfFilePathRoot = PdfFilePathRoot + @"\" + FinalPDF.PROJECT_NO + "_Tile" + @"\"
345 346
                                         + (FinalPDF.DOCUMENT_ID.All(char.IsDigit) ? (System.Convert.ToInt64(FinalPDF.DOCUMENT_ID) / 100).ToString() : FinalPDF.DOCUMENT_ID.Substring(0, 5))
346 347
                                         + @"\" + FinalPDF.DOCUMENT_ID + @"\";
347 348

  
348
                        MarkupInfoItem = DocInfoItem.MARKUP_INFO.Where(data => data.CONSOLIDATE == 1 && data.AVOID_CONSOLIDATE == 0 && data.PART_CONSOLIDATE == 0).FirstOrDefault();
349
                        var infoItems = _entity.MARKUP_INFO.Where(x=>x.DOCINFO_ID == DocInfoItem.ID && x.CONSOLIDATE == 1 && x.AVOID_CONSOLIDATE == 0 && x.PART_CONSOLIDATE == 0);
349 350

  
350
                        if (MarkupInfoItem == null)
351
                        if (infoItems.Count() == 0)
351 352
                        {
352 353
                            throw new Exception("콘솔리데잇이 작업 요청 후에 수정 / 삭제 되었습니다");
353 354
                        }
354 355
                        else
355 356
                        {
356
                            if (MarkupInfoItem.MARKUP_INFO_VERSION.Count > 0)
357
                            MarkupInfoItem = infoItems.First();
358

  
359
                            var markupInfoVerItems = _entity.MARKUP_INFO_VERSION.Where(x => x.MARKUPINFO_ID == MarkupInfoItem.ID).ToList();
360
                            
361
                            if (markupInfoVerItems.Count() > 0)
357 362
                            {
358
                                MarkupDataSet = MarkupInfoItem.MARKUP_INFO_VERSION.OrderBy(d => d.CREATE_DATE).LastOrDefault().MARKUP_DATA.ToList().OrderBy(d => d.PAGENUMBER).ToList();
363
                                var markupInfoVerItem = markupInfoVerItems.OrderByDescending(x => x.CREATE_DATE).First();
364

  
365
                                MarkupDataSet = _entity.MARKUP_DATA.Where(x=>x.MARKUPINFO_VERSION_ID == markupInfoVerItem.ID).OrderBy(d => d.PAGENUMBER).ToList();
359 366
                            }
360 367
                            else
361 368
                            {
......
559 566
        {
560 567
            if(StatusChanged != null)
561 568
            {
562
                var sb = new StringBuilder();
563
                sb.AppendLine(message);
569
                //var sb = new StringBuilder();
570
                //sb.AppendLine(message);
564 571

  
565
                StatusChanged(null, new StatusChangedEventArgs { CurrentPage = CurrentPage, Message = sb.ToString() });
572
                StatusChanged(this, new StatusChangedEventArgs { CurrentPage = CurrentPage, Message = message });
566 573
            }
567 574
        }
568 575

  
......
601 608

  
602 609
                        foreach (var data in MarkupDataSet)
603 610
                        {
604
                            StatusChange("MarkupDataSet", 0);
611
                            //StatusChange("MarkupDataSet", 0);
605 612

  
606 613
                            string userid = data.MARKUP_INFO_VERSION.MARKUP_INFO.USER_ID;
607 614

  
......
653 660
                            pdfStamper.SetFullCompression();
654 661
                            _SetColor = new SolidColorBrush(Colors.Red);
655 662

  
663
                            StringBuilder strLog = new StringBuilder();
664
                            int lastPageNo = 0;
665

  
666
                            strLog.Append($"Write {DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")} markup Count : {MarkupDataSet.Count()} / ");
667

  
656 668
                            foreach (var markupItem in MarkupDataSet)
657 669
                            {
658 670
                                /// 2020.11.13 김태성
......
663 675
                                {
664 676
                                    var currentPage = pageitems.First();
665 677
                                    pdfSize = pdfReader.GetPageSizeWithRotation(markupItem.PAGENUMBER);
678
                                    lastPageNo = markupItem.PAGENUMBER;
666 679
                                    //try
667 680
                                    //{
668
                        
681

  
669 682
                                    //}
670 683
                                    //catch (Exception ex)
671 684
                                    //{
......
704 717
                                    string[] markedData = markupItem.DATA.Split(delimiterChars, StringSplitOptions.RemoveEmptyEntries);
705 718

  
706 719
                                    PdfContentByte contentByte = pdfStamper.GetOverContent(markupItem.PAGENUMBER);
720
                                    strLog.Append($"{markupItem.PAGENUMBER}/");
707 721

  
708 722
                                    foreach (var data in markedData)
709 723
                                    {
......
1224 1238
                                        {
1225 1239
                                            StatusChange($"markupItem : {markupItem.ID}" + ex.ToString(), 0);
1226 1240
                                        }
1241
                                        finally
1242
                                        {
1243
                                            if(ControlT?.Name != null)
1244
                                            {
1245
                                                strLog.Append($"{ControlT.Name},");
1246
                                            }
1247
                                        }
1227 1248
                                    }
1249

  
1228 1250
                                }
1229 1251
                            }
1252

  
1253
                            if (StatusChanged != null)
1254
                            {
1255
                                StatusChanged(this, new StatusChangedEventArgs { CurrentPage = lastPageNo, Message = strLog.ToString() });
1256
                            }
1230 1257
                            //PdfFileSpecification pfs = PdfFileSpecification.FileEmbedded(pdfStamper.Writer, @"C:\Users\kts\Documents\업무\CARS\엑셀양식\F-000-5378-702_R2_계장 Cable Schedule Sample.xlsx", "F-000-5378-702_R2_계장 Cable Schedule Sample.xlsx", null);
1231 1258
                            //pdfStamper.AddFileAttachment("F-000-5378-702_R2_계장 Cable Schedule Sample.xlsx", pfs);
1232 1259

  
INI/MARKUS.ini
15 15
[KCOM_Get_FinalImage_Get_PdfImage]
16 16
URL=http://192.168.0.67:5977/Get_FInalImage/Get_PdfImage.asmx
17 17
[KCOM_kr_co_devdoftech_cloud_FileUpload]
18
URL=https://125.129.196.207:44301/ImageUpload/FileUpload.asmx
18
URL=http://125.129.196.207:44301/ImageUpload/FileUpload.asmx
19 19
[mainServerImageWebPath]
20 20
URL=http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
21 21
[subServerImageWebPath]
KCOM.sln
1854 1854
		{6F99238F-8CED-4794-9098-630798149D55}.DeployWeb_SNI|x86.ActiveCfg = Debug|Any CPU
1855 1855
		{6F99238F-8CED-4794-9098-630798149D55}.DeployWeb_SNI|x86.Build.0 = Debug|Any CPU
1856 1856
		{6F99238F-8CED-4794-9098-630798149D55}.Release_Default|Any CPU.ActiveCfg = Release|Any CPU
1857
		{6F99238F-8CED-4794-9098-630798149D55}.Release_Default|Any CPU.Build.0 = Release|Any CPU
1858 1857
		{6F99238F-8CED-4794-9098-630798149D55}.Release_Default|x64.ActiveCfg = Release|Any CPU
1859 1858
		{6F99238F-8CED-4794-9098-630798149D55}.Release_Default|x64.Build.0 = Release|Any CPU
1860 1859
		{6F99238F-8CED-4794-9098-630798149D55}.Release_Default|x86.ActiveCfg = Release|Any CPU
KCOM/Events/ConsolidateCommand.cs
8 8
using System.Collections.Generic;
9 9
using System.Linq;
10 10
using System.Text;
11
using System.Threading.Tasks;
11 12
using System.Windows.Controls;
12 13

  
13 14
namespace KCOM.Events
......
39 40
        /// </summary>
40 41
        /// <param name="UserState"></param>
41 42
        /// <param name="iPageNo"></param>
42
        public void Execute(List<MarkupInfoItem> InfoList, int iPageNo)
43
        public async Task<bool> Execute(List<MarkupInfoItem> InfoList, int iPageNo)
43 44
        {
45
            bool result = false; 
46

  
44 47
            try
45 48
            {
49
                SelectionSet.Instance.UnSelect(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu);
50
                // update mylist and gridview
51
                Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.UpdateMyMarkupList();
52

  
53
                await Common.ViewerDataModel.Instance.SystemMain.dzTopMenu.ExecuteSaveCommand(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu);
54

  
46 55
                ViewerDataModel.Instance.IsConsolidate = true;
47 56
                string sDocID = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu._DocInfo.ID;
48 57
                /// 현재 작업 내용을 저장
49
                Common.ViewerDataModel.Instance.SystemMain.dzTopMenu._SaveEvent(null, null);
58
                //Common.ViewerDataModel.Instance.SystemMain.dzTopMenu._SaveEvent(null, null);
59

  
60
          
50 61
                ViewerDataModel.Instance.IsConsolidate = false;
51 62

  
52 63
                //Logger.sendReqLog("Consolidate", App.ViewInfo.ProjectNO + "," + App.ViewInfo.UserID + "," + sDocID + "," + InfoList, 1);
53 64
                //Logger.sendResLog("Consolidate", Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.Consolidate(App.ViewInfo.ProjectNO, App.ViewInfo.UserID, sDocID, InfoList).ToString(), 1);
54 65

  
55
                var result = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.Consolidate(App.ViewInfo.ProjectNO, App.ViewInfo.UserID, sDocID, InfoList);
66
                result = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.Consolidate(App.ViewInfo.ProjectNO, App.ViewInfo.UserID, sDocID, InfoList);
56 67

  
57 68
                //Logger.sendReqLog("GetMarkupInfoItemsAsync", App.ViewInfo.ProjectNO + "," + sDocID, 1);
58 69
                Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMarkupInfoItemsAsync(App.ViewInfo.ProjectNO, sDocID);
......
64 75
                Common.ViewerDataModel.Instance.SystemMain.DialogMessage_Alert(string.Format("{0}", ex.StackTrace), "Alert");
65 76
                throw ex;
66 77
            }
78

  
79
            return result;
67 80
        }
68 81
    }
69 82
}
KCOM/Events/Implementation/TopMenuEvent.cs
25 25
using System.ComponentModel;
26 26
using System.Web;
27 27
using Markus.Fonts;
28
using System.Threading.Tasks;
28 29

  
29 30
namespace KCOM.Views
30 31
{
......
338 339
        ///  - unselect and update my markup list
339 340
        /// <param name="sender"></param>
340 341
        /// <param name="e"></param>
341
        public void _SaveEvent(object sender, RoutedEventArgs e)
342
        public bool _SaveEvent(object sender, RoutedEventArgs e)
342 343
        {
344
            bool result = false;
345

  
343 346
            var mainMenu = this.ParentOfType<MainWindow>().dzMainMenu;
344 347
            try
345 348
            {
......
366 369
                            if (!ViewerDataModel.Instance.IsConsolidate && (sender != null))
367 370
                            {
368 371
                                this.ParentOfType<MainWindow>().DialogMessage_Alert("Save is complete.", "Info");
372
                                
369 373
                            }
374

  
375
                            result = true;
370 376
                        }
371 377
                    }
372 378
                }
......
395 401
                }
396 402
                */
397 403
            }
404

  
405
            return result;
398 406
        }
399 407

  
400 408
        /// <summary>
401 409
        /// call save command
402 410
        /// </summary>
403 411
        /// <param name="menu"></param>
404
		private void ExecuteSaveCommand(MainMenu menu)
412
		public void ExecuteSaveCommand2(MainMenu menu)
405 413
        {
406 414
            if (menu.pageNavigator.CurrentPage != null)
407 415
            {
......
443 451
            }
444 452
        }
445 453

  
454
        public async Task<bool> ExecuteSaveCommand(MainMenu menu)
455
        {
456
            bool result = false;
457

  
458
            if (menu.pageNavigator.CurrentPage != null)
459
            {
460
                SaveCommand.Instance.Project_No = App.ViewInfo.ProjectNO;
461
                SaveCommand.Instance.document_id = App.ViewInfo.DocumentItemID;
462
                SaveCommand.Instance.user_id = App.ViewInfo.UserID;
463
                SaveCommand.Instance.page_no = menu.pageNavigator.CurrentPage.PageNumber;
464

  
465
                try
466
                {
467
                    if (ViewerDataModel.Instance.UndoDataList.Count > 0)
468
                    {
469
                        List<IKCOM.MarkupInfoItem> SelectedMarkupInfos = new List<IKCOM.MarkupInfoItem>();
470
                        foreach (var item in menu.gridViewMarkup.SelectedItems)
471
                        {
472
                            if ((item as IKCOM.MarkupInfoItem).UserID == App.ViewInfo.UserID)
473
                            {
474
                                SelectedMarkupInfos.Add(item as IKCOM.MarkupInfoItem);
475
                            }
476
                        }
477

  
478
                        result = await SaveCommand.Instance.Execute(SelectedMarkupInfos);
479
                    }
480
                    else
481
                    {
482
                        result = true;
483
                    }
484

  
485
                    if (ViewerDataModel.Instance.RotationDocs.Count > 0)
486
                    {
487
                        SaveCommand.Instance.PageAngleSave(App.ViewInfo.ProjectNO, ViewerDataModel.Instance.RotationDocs);
488
                    }
489
                }
490
                catch (Exception ex)
491
                {
492
                    this.ParentOfType<MainWindow>().dzMainMenu.DialogMessage_Alert(string.Format("세이브 실패:{0}", ex.Message), "Alert");
493
                    throw ex;
494
                }
495
            }
496
            else
497
            {
498
                System.Diagnostics.Debug.WriteLine("ExecuteSaveCommand Error - pageNavigator.CurrentPage null");
499
            }
500

  
501
            return result;
502
        }
503

  
446 504
        //강인구 추가
447 505
        public void Print_Start(string Type)
448 506
        {
KCOM/Events/SaveCommand.cs
9 9
using System.Collections.ObjectModel;
10 10
using System.Linq;
11 11
using System.Text;
12
using System.Threading.Tasks;
12 13
using System.Windows.Controls;
13 14

  
14 15
namespace KCOM.Events
......
72 73
        /// </summary>
73 74
        /// <param name="UserState"></param>
74 75
        /// <param name="iPageNo"></param>
75
        public async void Execute(ICollection<MarkupInfoItem> UserStates)
76
        public async Task<bool> Execute(ICollection<MarkupInfoItem> UserStates)
76 77
        {
78
            bool result = false;
79

  
77 80
            try
78 81
            {
79 82
                var mainmenu = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu;
......
98 101

  
99 102
                    var SaveResult = await client.SaveMarkupDataAsync(UserState, Project_No, document_id, user_id, markupdata);
100 103

  
104
                    result = SaveResult;
105

  
101 106
                    //Logger.sendResLog("SaveCommand.Instance.Execute" , $"SaveMarkupData Call Project : {Project_No} DocID :{document_id} User ID {user_id} result {SaveResult}",1);
102 107

  
103 108
                    mainmenu.MarkupitemViewUpdate(UserState.MarkupInfoID);
......
112 117
            {
113 118
                throw;
114 119
            }
120

  
121
            return result;
115 122
        }
116 123

  
117 124
        public void SymbolSave(string Name, string Url, string Data)
KCOM/Extensions/DownloadProcess.cs
102 102
                    CreateNoWindow = true,
103 103
                    ErrorDialog = false,
104 104
                    RedirectStandardError = false,
105
                    Arguments = $"{IIpc.ProcessTypeDefine.DEFINE_MONITOR} {isDebug} {Process.GetCurrentProcess().Id} {string.Join(" ",processId)} {thumbnailFolder} {tempFolder} {tempFile} {App.BaseAddress}"
105
#if DOWNLOAD_TEST
106
                    Arguments = $"{IIpc.ProcessTypeDefine.DEFINE_MONITOR} {isDebug} {Process.GetCurrentProcess().Id} {string.Join(" ",processId)} {thumbnailFolder} {tempFolder} {tempFile} {"http://localhost:44301"}"
107
#else
108
                                  Arguments = $"{IIpc.ProcessTypeDefine.DEFINE_MONITOR} {isDebug} {Process.GetCurrentProcess().Id} {string.Join(" ",processId)} {thumbnailFolder} {tempFolder} {tempFile} {App.BaseAddress}"
109
#endif
106 110
                };
107 111

  
108 112
                DownloadProcess.StartInfo = startInfo;
KCOM/KCOM.csproj
953 953
    <None Include="packages.config">
954 954
      <SubType>Designer</SubType>
955 955
    </None>
956
    <None Include="Properties\app.manifest" />
956
    <None Include="Properties\app.manifest">
957
      <SubType>Designer</SubType>
958
    </None>
957 959
    <None Include="Properties\DataSources\IKCOM.KCOM_SystemInfo.datasource" />
958 960
    <None Include="Properties\DataSources\IKCOM.MarkupInfoItem.datasource" />
959 961
    <None Include="Properties\DataSources\IKCOM.VersionInfo.datasource" />
......
1399 1401
 
1400 1402
 call "appCast_Daelim.bat" "@(VersionNumber)"
1401 1403
 call "appCast_HS.bat" "@(VersionNumber)"
1402
 call "appCast_SNI.bat" "@(VersionNumber)"
1403 1404
 call "appCast_Daelim_test.bat" "@(VersionNumber)"
1404 1405

  
1405 1406
rem call $(SolutionDir)obfuscarBuild.Bat $(SolutionDir) $(TargetDir) $(ProjectDir)obfuscar.xml
......
1467 1468
)
1468 1469
if $(ConfigurationName) == Debug_SNI (
1469 1470
     xcopy /s "$(ProjectDir)..\INI\MARKUS_SNI.ini" "$(TargetDir)MARKUS.*" /Y /F
1470
)</PreBuildEvent>
1471
)
1472

  
1473
 rem xcopy /s "$(ProjectDir)..\INI\MARKUS_Daelim.ini" "$(TargetDir)MARKUS.*" /Y /F</PreBuildEvent>
1471 1474
  </PropertyGroup>
1472 1475
  <Target Name="app_Release_config_AfterBuild" AfterTargets="AfterBuild" Condition="Exists('app.Release.$(Configuration).config')">
1473 1476
    <TransformXml Source="app.Release.config" Destination="$(OutputPath)app.Release.config" Transform="app.Release.$(Configuration).config" />
KCOM/KCOM.csproj.user
14 14
    <VerifyUploadedFiles>false</VerifyUploadedFiles>
15 15
  </PropertyGroup>
16 16
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
17
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjMwMDAwMDcxIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOnRydWUsIk5ld0NvbW1lbnRQZXJtaXNzaW9uIjp0cnVlLCJQcm9qZWN0Tk8iOiIwMDAwMDAiLCJVc2VySUQiOiJkb2Z0ZWNoIn0=</StartArguments>
17
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjMwMDAwMTMxIiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOnRydWUsIk5ld0NvbW1lbnRQZXJtaXNzaW9uIjp0cnVlLCJQcm9qZWN0Tk8iOiIwMDAwMDAiLCJVc2VySUQiOiJkb2Z0ZWNoIn0=</StartArguments>
18 18
  </PropertyGroup>
19 19
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
20 20
    <StartArguments>eyJEb2N1bWVudEl0ZW1JRCI6IjQwMDAwMTQ5IiwiYlBhcnRuZXIiOmZhbHNlLCJDcmVhdGVGaW5hbFBERlBlcm1pc3Npb24iOnRydWUsIk5ld0NvbW1lbnRQZXJtaXNzaW9uIjp0cnVlLCJQcm9qZWN0Tk8iOiIwMDAwMDAiLCJVc2VySUQiOiJhZG1pbiIsIk1vZGUiOjB9</StartArguments>
KCOM/MARKUS.ini
1
#DevDoftech ???? INI
2 1
[Internal]
3
IP=192.168.0.67
2
IP=www.devdoftech.co.kr
4 3
[External]
5
IP=192.168.0.67
4
IP=www.devdoftech.co.kr
6 5
[BaseClientAddress]
7
URL=http://192.168.0.67:5979
6
URL=http://www.devdoftech.co.kr:5979
8 7
[HubAddress]
9
URL=http://192.168.0.67:5100/
8
URL=http://www.devdoftech.co.kr:5100/
10 9
[UpdateVer64]
11
URL=http://192.168.0.67:5977/TileSource/Version/version_x64.xml
10
URL=http://www.devdoftech.co.kr:5977/TileSource/Version/version_x64.xml
12 11
[UpdateVer86]
13
URL=http://192.168.0.67:5977/TileSource/Version/version_x86.xml
12
URL=http://www.devdoftech.co.kr:5977/TileSource/Version/version_x86.xml
14 13
[excelFilePath]
15
URL=http://192.168.0.67:5977/TileSource/Check_Test/CheckList_T.xlsx
14
URL=http://www.devdoftech.co.kr:5977/TileSource/Check_Test/CheckList_T.xlsx
16 15
[KCOM_Get_FinalImage_Get_PdfImage]
17
URL=http://192.168.0.67:5977/Get_FInalImage/Get_PdfImage.asmx
16
URL=http://www.devdoftech.co.kr:5977/Get_FInalImage/Get_PdfImage.asmx
18 17
[KCOM_kr_co_devdoftech_cloud_FileUpload]
19
URL=http://192.168.0.67:5977/ImageUpload/FileUpload.asmx
18
URL=http://www.devdoftech.co.kr:5977/ImageUpload/FileUpload.asmx
20 19
[mainServerImageWebPath]
21
URL=http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
20
URL=http://www.devdoftech.co.kr:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
22 21
[subServerImageWebPath]
23
URL=http://192.168.0.67:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
22
URL=http://www.devdoftech.co.kr:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
24 23
[Debug_BaseClientAddress]
25
URL=http://192.168.0.67:5979
24
URL=http://www.devdoftech.co.kr:5979
26 25
[HOST_DOMAIN]
27 26
DOMAIN=
28 27
[GetConversionStateFailed]
KCOM/Properties/AssemblyInfo.cs
51 51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52 52
// 지정되도록 할 수 있습니다.
53 53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("3.4.1221.2")]
55
[assembly: AssemblyFileVersion("3.4.1221.2")]
54
[assembly: AssemblyVersion("3.5.2.2")]
55
[assembly: AssemblyFileVersion("3.5.2.2")]
56 56
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
KCOM/Properties/app.manifest
16 16
            이전 버전과의 호환성을 위해 응용 프로그램에 가상화가 필요한 경우
17 17
            이 요소를 제거합니다.
18 18
-->
19
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
19
		  <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
20 20
      </requestedPrivileges>
21 21
      <applicationRequestMinimum>
22 22
        <defaultAssemblyRequest permissionSetReference="Custom" />
KCOM/Views/MainMenu.xaml.cs
3676 3676
                                    string extension = System.IO.Path.GetExtension(filename).ToUpper();
3677 3677
                                    if (extension == ".PNG" || extension == ".JPEG" || extension == ".GIF" || extension == ".BMP" || extension == ".JPG" || extension == ".SVG")
3678 3678
                                    {
3679
                                        UriBuilder downloadUri = new UriBuilder(App.BaseAddress);
3680
                                        UriBuilder uri = new UriBuilder(filename);
3681
                                        uri.Host = downloadUri.Host;
3682
                                        uri.Port = downloadUri.Port;
3683

  
3679 3684
                                        Image img = new Image();
3680 3685
                                        if (filename.Contains(".svg"))
3681 3686
                                        {
......
3683 3688
                                            DrawingImage image = null;
3684 3689
                                            using (System.Net.WebClient web = new System.Net.WebClient())
3685 3690
                                            {
3686
                                                imageData = web.DownloadData(new Uri(filename));
3691
                                                imageData = web.DownloadData(uri.Uri);
3687 3692
                                                System.IO.Stream stream = new System.IO.MemoryStream(imageData);
3688 3693
                                                image = SvgReader.Load(stream);
3689 3694
                                            }
......
3691 3696
                                        }
3692 3697
                                        else
3693 3698
                                        {
3694
                                            img.Source = new BitmapImage(new Uri(filename));
3699
                                            img.Source = new BitmapImage(uri.Uri);
3695 3700
                                        }
3696 3701

  
3697 3702
                                        currentControl = new ImgControl
3698 3703
                                        {
3699 3704
                                            Background = new SolidColorBrush(Colors.Black),
3700 3705
                                            PointSet = new List<Point>(),
3701
                                            FilePath = filename,
3706
                                            FilePath = uri.Uri.ToString(),
3702 3707
                                            ImageData = img.Source,
3703 3708
                                            StartPoint = CanvasDrawingMouseDownPoint,
3704 3709
                                            EndPoint = new Point(CanvasDrawingMouseDownPoint.X + 100, CanvasDrawingMouseDownPoint.Y + 100),
......
4516 4521
            inkBoard.Strokes.Add(stroke);
4517 4522
        }
4518 4523

  
4519
        private void btnConsolidate_Click(object sender, RoutedEventArgs e)
4524
        private  void btnConsolidate_Click(object sender, RoutedEventArgs e)
4520 4525
        {
4521
            ConsolidationMethod();
4526
            //SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu);
4527
            //// update mylist and gridview
4528
            //this.UpdateMyMarkupList();
4529

  
4530
            //bool result = await this.ParentOfType<MainWindow>().dzTopMenu.ExecuteSaveCommand(this);
4531

  
4532
            //if (result)
4533
            //{
4534
                ConsolidationMethod();
4535
            //}
4536
            //else
4537
            //{
4538
            //    MessageBox.Show("오류");
4539
            //}
4522 4540
        }
4523 4541

  
4524 4542
        /// <summary>
......
4553 4571
            }
4554 4572
        }
4555 4573

  
4556
        public void ConsolidationMethod()
4574
        public async Task<bool> ConsolidationMethod()
4557 4575
        {
4576
            bool result = false;
4577

  
4558 4578
            if (this.gridViewMarkup.SelectedItems.Count == 0)
4559 4579
            {
4560 4580
                this.ParentOfType<MainWindow>().DialogMessage_Alert("Please select at least one user", "Alert");
......
4568 4588
                }
4569 4589
                int iPageNo = Convert.ToInt32(this.ParentOfType<MainWindow>().dzTopMenu.tlcurrentPage.Text);
4570 4590

  
4571
                ConsolidateCommand.Instance.Execute(MySelectItem, iPageNo);
4591
                result = await ConsolidateCommand.Instance.Execute(MySelectItem, iPageNo);
4572 4592
            }
4593

  
4594
            return result;
4573 4595
        }
4574 4596

  
4575 4597
        private void btnConsolidate_Loaded(object sender, RoutedEventArgs e)
......
4615 4637

  
4616 4638
        private void FinalPDFEvent(object sender, RoutedEventArgs e)
4617 4639
        {
4618
			Common.ViewerDataModel.Instance.SystemMain.dzTopMenu._SaveEvent(null, null);
4640
            SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu);
4641
            // update mylist and gridview
4642
            this.UpdateMyMarkupList();
4619 4643

  
4620
			var item = gridViewMarkup.Items.Cast<MarkupInfoItem>().Where(d => d.Consolidate == 1 && d.AvoidConsolidate == 0).FirstOrDefault();
4644
            this.ParentOfType<MainWindow>().dzTopMenu.ExecuteSaveCommand(this);
4645

  
4646
            var item = gridViewMarkup.Items.Cast<MarkupInfoItem>().Where(d => d.Consolidate == 1 && d.AvoidConsolidate == 0).FirstOrDefault();
4621 4647

  
4622 4648
			if (item != null)
4623 4649
            {
......
4644 4670
            btnFinalPDF = sender as RadRibbonButton;
4645 4671
            if (App.ViewInfo != null)
4646 4672
            {
4673
                //btnFinalPDF.IsEnabled = false;
4674

  
4647 4675
                if (!App.ViewInfo.CreateFinalPDFPermission) //파이널이 True가 아니면
4648 4676
                {
4649 4677
                    btnFinalPDF.Visibility = System.Windows.Visibility.Collapsed;
......
4655 4683
            }
4656 4684
        }
4657 4685

  
4658
        private void ConsolidateFinalPDFEvent(object sender, RoutedEventArgs e)
4686
        private async void ConsolidateFinalPDFEvent(object sender, RoutedEventArgs e)
4659 4687
        {
4660
            UpdateMyMarkupList();
4688
            //UpdateMyMarkupList();
4661 4689

  
4662 4690
            if (this.gridViewMarkup.SelectedItems.Count == 0)
4663 4691
            {
......
4665 4693
            }
4666 4694
            else
4667 4695
            {
4668
                ViewerDataModel.Instance.IsConsolidate = true;
4669
                this.ParentOfType<MainWindow>().dzTopMenu._SaveEvent(null, null);
4670
                List<KCOMDataModel.DataModel.MARKUP_DATA> instanceDataSet = new List<KCOMDataModel.DataModel.MARKUP_DATA>();
4696
                //if ((App.ViewInfo.CreateFinalPDFPermission || App.ViewInfo.NewCommentPermission))
4697
                //{
4698
                //컨트롤을 그리는 도중일 경우 컨트롤 삭제
4699
                //ViewerDataModel.Instance.MarkupControls_USER.Remove(ViewerDataModel.Instance.SystemMain.dzMainMenu.currentControl);
4700
                //ViewerDataModel.Instance.SystemMain.dzMainMenu.currentControl = null;
4671 4701

  
4672
                string project_no = App.ViewInfo.ProjectNO;
4673
                string doc_id = _DocInfo.ID;
4674
                string user_id = App.ViewInfo.UserID;
4675
                List<MarkupInfoItem> markupInfoItems = new List<MarkupInfoItem>();
4676
                foreach (MarkupInfoItem item in this.gridViewMarkup.SelectedItems)
4677
                {
4678
                    markupInfoItems.Add(item);
4679
                }
4680
                //Logger.sendReqLog("Consolidate", project_no + "," + user_id + "," + doc_id + "," + markupInfoItems, 1);
4681
                //Logger.sendResLog("Consolidate", this.BaseClient.Consolidate(project_no, user_id, doc_id, markupInfoItems).ToString(), 1);
4682
                //Logger.sendReqLog("GetMarkupInfoItemsAsync", App.ViewInfo.ProjectNO + "," + _DocInfo.ID, 1);
4702
                //SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu);
4703
                //// update mylist and gridview
4704
                //this.UpdateMyMarkupList();
4705

  
4706
                //var result = await this.ParentOfType<MainWindow>().dzTopMenu.ExecuteSaveCommand(this);
4683 4707

  
4684
                this.BaseClient.Consolidate(project_no, user_id, doc_id, markupInfoItems);
4708
                bool result = await ConsolidationMethod();
4685 4709

  
4686 4710
                var items = this.BaseClient.GetMarkupInfoItems(App.ViewInfo.ProjectNO, _DocInfo.ID);
4687 4711

  
......
4706 4730
#if Hyosung
4707 4731
            btnConsolidateFinalPDF.Visibility = System.Windows.Visibility.Collapsed;
4708 4732
#else
4733

  
4734
            //btnConsolidateFinalPDF.IsEnabled = false;
4735

  
4709 4736
            if (App.ViewInfo != null)
4710 4737
            {
4711 4738
                if (!App.ViewInfo.NewCommentPermission || !App.ViewInfo.CreateFinalPDFPermission)
KCOM_API/ActiveService.svc
1
<%@ ServiceHost Language="C#" Debug="true" Service="KCOM_API.ActiveService" CodeBehind="ActiveService.svc.cs" %>
KCOM_API/ActiveService.svc.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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