프로젝트

일반

사용자정보

개정판 8e6884a5

ID8e6884a5bbcd2cda64cf7802d509a0a548fc4e94
상위 ce5a1268
하위 03581388

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

1. markusstart 추가
- markus uri 생성기능

2. FinalPDFClient 추가
- final을 local에서 생성 가능하도록 하는 app

Change-Id: I684fd085ccdbe1ddbf4b92f8eb4e3563426e83e2

차이점 보기:

FinalService/KCOM_FinalService/FinalPDFClient/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/FinalPDFClient/App.xaml
1
<Application x:Class="FinalPDFClient.App"
2
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
             xmlns:local="clr-namespace:FinalPDFClient"
5
             StartupUri="MainWindow.xaml">
6
    <Application.Resources>
7
         
8
    </Application.Resources>
9
</Application>
FinalService/KCOM_FinalService/FinalPDFClient/App.xaml.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Configuration;
4
using System.Data;
5
using System.Linq;
6
using System.Threading.Tasks;
7
using System.Windows;
8

  
9
namespace FinalPDFClient
10
{
11
    /// <summary>
12
    /// App.xaml에 대한 상호 작용 논리
13
    /// </summary>
14
    public partial class App : Application
15
    {
16
    }
17
}
FinalService/KCOM_FinalService/FinalPDFClient/FinalPDFClient.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>{DBD7598F-130F-4605-9B11-FE955A59FD4A}</ProjectGuid>
8
    <OutputType>WinExe</OutputType>
9
    <RootNamespace>FinalPDFClient</RootNamespace>
10
    <AssemblyName>FinalPDFClient</AssemblyName>
11
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
12
    <FileAlignment>512</FileAlignment>
13
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
14
    <WarningLevel>4</WarningLevel>
15
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
16
    <Deterministic>true</Deterministic>
17
  </PropertyGroup>
18
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19
    <PlatformTarget>AnyCPU</PlatformTarget>
20
    <DebugSymbols>true</DebugSymbols>
21
    <DebugType>full</DebugType>
22
    <Optimize>false</Optimize>
23
    <OutputPath>bin\Debug\</OutputPath>
24
    <DefineConstants>DEBUG;TRACE</DefineConstants>
25
    <ErrorReport>prompt</ErrorReport>
26
    <WarningLevel>4</WarningLevel>
27
  </PropertyGroup>
28
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
29
    <PlatformTarget>AnyCPU</PlatformTarget>
30
    <DebugType>pdbonly</DebugType>
31
    <Optimize>true</Optimize>
32
    <OutputPath>bin\Release\</OutputPath>
33
    <DefineConstants>TRACE</DefineConstants>
34
    <ErrorReport>prompt</ErrorReport>
35
    <WarningLevel>4</WarningLevel>
36
  </PropertyGroup>
37
  <ItemGroup>
38
    <Reference Include="System" />
39
    <Reference Include="System.Data" />
40
    <Reference Include="System.Xml" />
41
    <Reference Include="Microsoft.CSharp" />
42
    <Reference Include="System.Core" />
43
    <Reference Include="System.Xml.Linq" />
44
    <Reference Include="System.Data.DataSetExtensions" />
45
    <Reference Include="System.Net.Http" />
46
    <Reference Include="System.Xaml">
47
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
48
    </Reference>
49
    <Reference Include="WindowsBase" />
50
    <Reference Include="PresentationCore" />
51
    <Reference Include="PresentationFramework" />
52
  </ItemGroup>
53
  <ItemGroup>
54
    <ApplicationDefinition Include="App.xaml">
55
      <Generator>MSBuild:Compile</Generator>
56
    </ApplicationDefinition>
57
    <Page Include="MainWindow.xaml">
58
      <Generator>MSBuild:Compile</Generator>
59
      <SubType>Designer</SubType>
60
    </Page>
61
    <Compile Include="App.xaml.cs">
62
      <DependentUpon>App.xaml</DependentUpon>
63
      <SubType>Code</SubType>
64
    </Compile>
65
    <Compile Include="MainWindow.xaml.cs">
66
      <DependentUpon>MainWindow.xaml</DependentUpon>
67
      <SubType>Code</SubType>
68
    </Compile>
69
  </ItemGroup>
70
  <ItemGroup>
71
    <Compile Include="Properties\AssemblyInfo.cs">
72
      <SubType>Code</SubType>
73
    </Compile>
74
    <Compile Include="Properties\Resources.Designer.cs">
75
      <AutoGen>True</AutoGen>
76
      <DesignTime>True</DesignTime>
77
      <DependentUpon>Resources.resx</DependentUpon>
78
    </Compile>
79
    <Compile Include="Properties\Settings.Designer.cs">
80
      <AutoGen>True</AutoGen>
81
      <DependentUpon>Settings.settings</DependentUpon>
82
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
83
    </Compile>
84
    <EmbeddedResource Include="Properties\Resources.resx">
85
      <Generator>ResXFileCodeGenerator</Generator>
86
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
87
    </EmbeddedResource>
88
    <None Include="Properties\Settings.settings">
89
      <Generator>SettingsSingleFileGenerator</Generator>
90
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
91
    </None>
92
  </ItemGroup>
93
  <ItemGroup>
94
    <None Include="App.config" />
95
  </ItemGroup>
96
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
97
</Project>
FinalService/KCOM_FinalService/FinalPDFClient/MainWindow.xaml
1
<Window x:Class="FinalPDFClient.MainWindow"
2
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
        xmlns:local="clr-namespace:FinalPDFClient"
7
        mc:Ignorable="d"
8
        Title="MainWindow" Height="450" Width="800">
9
    <Grid>
10
        <Grid.RowDefinitions>
11
            <RowDefinition/>
12
            <RowDefinition/>
13
            <RowDefinition/>
14
        </Grid.RowDefinitions>
15
        <Grid.ColumnDefinitions>
16
            <ColumnDefinition/>
17
            <ColumnDefinition/>
18
            <ColumnDefinition/>
19
        </Grid.ColumnDefinitions>
20
    </Grid>
21
</Window>
FinalService/KCOM_FinalService/FinalPDFClient/MainWindow.xaml.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6
using System.Windows;
7
using System.Windows.Controls;
8
using System.Windows.Data;
9
using System.Windows.Documents;
10
using System.Windows.Input;
11
using System.Windows.Media;
12
using System.Windows.Media.Imaging;
13
using System.Windows.Navigation;
14
using System.Windows.Shapes;
15

  
16
namespace FinalPDFClient
17
{
18
    /// <summary>
19
    /// MainWindow.xaml에 대한 상호 작용 논리
20
    /// </summary>
21
    public partial class MainWindow : Window
22
    {
23
        public MainWindow()
24
        {
25
            InitializeComponent();
26
        }
27
    }
28
}
FinalService/KCOM_FinalService/FinalPDFClient/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Resources;
3
using System.Runtime.CompilerServices;
4
using System.Runtime.InteropServices;
5
using System.Windows;
6

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

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

  
24
//지역화 가능 응용 프로그램 빌드를 시작하려면 다음을 설정하세요.
25
//.csproj 파일에서 <PropertyGroup> 내에 <UICulture>CultureYouAreCodingWith</UICulture>를
26
//설정하십시오. 예를 들어 소스 파일에서 영어(미국)를
27
//사용하는 경우 <UICulture>를 en-US로 설정합니다. 그런 다음 아래
28
//NeutralResourceLanguage 특성의 주석 처리를 제거합니다. 아래 줄의 "en-US"를 업데이트하여
29
//프로젝트 파일의 UICulture 설정과 일치시킵니다.
30

  
31
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
32

  
33

  
34
[assembly: ThemeInfo(
35
    ResourceDictionaryLocation.None, //테마별 리소스 사전의 위치
36
                                     //(페이지 또는 응용 프로그램 리소스 사진에
37
                                     // 리소스가 없는 경우에 사용됨)
38
    ResourceDictionaryLocation.SourceAssembly //제네릭 리소스 사전의 위치
39
                                              //(페이지 또는 응용 프로그램 리소스 사진에
40
                                              // 리소스가 없는 경우에 사용됨)
41
)]
42

  
43

  
44
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
45
//
46
//      주 버전
47
//      부 버전 
48
//      빌드 번호
49
//      수정 버전
50
//
51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52
// 지정되도록 할 수 있습니다.
53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("1.0.0.0")]
55
[assembly: AssemblyFileVersion("1.0.0.0")]
FinalService/KCOM_FinalService/FinalPDFClient/Properties/Resources.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     이 코드는 도구를 사용하여 생성되었습니다.
4
//     런타임 버전:4.0.30319.42000
5
//
6
//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7
//     이러한 변경 내용이 손실됩니다.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace FinalPDFClient.Properties
12
{
13

  
14

  
15
    /// <summary>
16
    ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
17
    /// </summary>
18
    // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
19
    // 클래스에서 자동으로 생성되었습니다.
20
    // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
21
    // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
22
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25
    internal class Resources
26
    {
27

  
28
        private static global::System.Resources.ResourceManager resourceMan;
29

  
30
        private static global::System.Globalization.CultureInfo resourceCulture;
31

  
32
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33
        internal Resources()
34
        {
35
        }
36

  
37
        /// <summary>
38
        ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
39
        /// </summary>
40
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41
        internal static global::System.Resources.ResourceManager ResourceManager
42
        {
43
            get
44
            {
45
                if ((resourceMan == null))
46
                {
47
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FinalPDFClient.Properties.Resources", typeof(Resources).Assembly);
48
                    resourceMan = temp;
49
                }
50
                return resourceMan;
51
            }
52
        }
53

  
54
        /// <summary>
55
        ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
56
        ///   재정의합니다.
57
        /// </summary>
58
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59
        internal static global::System.Globalization.CultureInfo Culture
60
        {
61
            get
62
            {
63
                return resourceCulture;
64
            }
65
            set
66
            {
67
                resourceCulture = value;
68
            }
69
        }
70
    }
71
}
FinalService/KCOM_FinalService/FinalPDFClient/Properties/Resources.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:element name="root" msdata:IsDataSet="true">
64
      <xsd:complexType>
65
        <xsd:choice maxOccurs="unbounded">
66
          <xsd:element name="metadata">
67
            <xsd:complexType>
68
              <xsd:sequence>
69
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
70
              </xsd:sequence>
71
              <xsd:attribute name="name" type="xsd:string" />
72
              <xsd:attribute name="type" type="xsd:string" />
73
              <xsd:attribute name="mimetype" type="xsd:string" />
74
            </xsd:complexType>
75
          </xsd:element>
76
          <xsd:element name="assembly">
77
            <xsd:complexType>
78
              <xsd:attribute name="alias" type="xsd:string" />
79
              <xsd:attribute name="name" type="xsd:string" />
80
            </xsd:complexType>
81
          </xsd:element>
82
          <xsd:element name="data">
83
            <xsd:complexType>
84
              <xsd:sequence>
85
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
86
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
87
              </xsd:sequence>
88
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
89
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
90
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
91
            </xsd:complexType>
92
          </xsd:element>
93
          <xsd:element name="resheader">
94
            <xsd:complexType>
95
              <xsd:sequence>
96
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
97
              </xsd:sequence>
98
              <xsd:attribute name="name" type="xsd:string" use="required" />
99
            </xsd:complexType>
100
          </xsd:element>
101
        </xsd:choice>
102
      </xsd:complexType>
103
    </xsd:element>
104
  </xsd:schema>
105
  <resheader name="resmimetype">
106
    <value>text/microsoft-resx</value>
107
  </resheader>
108
  <resheader name="version">
109
    <value>2.0</value>
110
  </resheader>
111
  <resheader name="reader">
112
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
113
  </resheader>
114
  <resheader name="writer">
115
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
</root>
FinalService/KCOM_FinalService/FinalPDFClient/Properties/Settings.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     This code was generated by a tool.
4
//     Runtime Version:4.0.30319.42000
5
//
6
//     Changes to this file may cause incorrect behavior and will be lost if
7
//     the code is regenerated.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace FinalPDFClient.Properties
12
{
13

  
14

  
15
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18
    {
19

  
20
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21

  
22
        public static Settings Default
23
        {
24
            get
25
            {
26
                return defaultInstance;
27
            }
28
        }
29
    }
30
}
FinalService/KCOM_FinalService/FinalPDFClient/Properties/Settings.settings
1
<?xml version='1.0' encoding='utf-8'?>
2
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
3
  <Profiles>
4
    <Profile Name="(Default)" />
5
  </Profiles>
6
  <Settings />
7
</SettingsFile>
FinalService/KCOM_FinalService/KCOM_FinalService/FinalService.cs
31 31
            InitializeComponent();
32 32

  
33 33
            _log = new Common.ServiceEventLog(this.EventLog, this.ServiceName, "Application");
34
            _Timer.Interval = 60000; //잉 왜 60분으로 했더라..
34

  
35
            /// 타이머가 없는 경우 서비스가 로직 완료 후 종료됨
36
            _Timer.Interval = 60000; 
35 37
            _Timer.Elapsed += _Timer_Elapsed;
36 38
            _remotingFinal = new RemFinalPDFStation(_log);
37 39
        }
FinalService/KCOM_FinalService/KCOM_FinalService/Program.cs
1 1
#if DEBUG
2
using KCOM_FinalService.Remoting;
3 2
using KCOMDataModel.DataModel;
4 3
#endif
5 4
using System;
6
using System.Collections.Generic;
7 5
using System.IO;
8
using System.Linq;
9 6
using System.Reflection;
10 7
using System.ServiceProcess;
11 8
using log4net;
12
using System.Text;
13
using KCOMDataModel.DataModel;
14 9

  
15 10
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
16 11
namespace KCOM_FinalService
INI/MARKUS.ini
40 40
BASE=5979:5979
41 41
[GetImageResourceFailed]
42 42
MSG=7ZW064u5IOusuOyEnOydmCB7MH0gUGFnZSBDb252ZXJ06rCAIOygleyDgeyggeydtOyngCDslYrsirXri4jri6QuIOq0gOumrOyekOyXkOqyjCDrrLjsnZjtlbQg7KO87IS47JqULg==
43

  
44

  
45
[COMMON]
46
IsDocumentHistory = false
KCOM/App.xaml.cs
151 151

  
152 152
                string localdomain = CommonLib.Common.GetConfigString("HOST_DOMAIN", "DOMAIN", "");
153 153

  
154
                ViewerDataModel.Instance.IsDocumentHistory = Convert.ToBoolean(CommonLib.Common.GetConfigString("COMMON","IsDocumentHistory", "true"));
155

  
154 156
                var hostEntry = CommonLib.DNSHelper.GetHostEntryTask();
155 157
                
156 158
                if (hostEntry == null)
......
263 265

  
264 266
        private void KeyDownEvent(object sender, KeyEventArgs e)
265 267
        {
266
            if (e.Key == Key.Escape || e.Key == Key.Delete)
267
            {
268
            //if (e.Key == Key.Escape || e.Key == Key.Delete)
269
            //{
268 270
                System.Diagnostics.Debug.WriteLine("app key Event");
269 271
                Common.ViewerDataModel.Instance.SystemMain.KeyEventDownAction(sender, e);
270
            }
272
            //}
271 273
        }
272 274

  
273 275
        private async Task<bool> SplashScreenAsnyc()
KCOM/Common/ViewerDataModel.cs
120 120
            }
121 121
        }
122 122

  
123

  
124
        private bool isDocumentHistory;
125
        public bool IsDocumentHistory
126
        {
127
            get => isDocumentHistory;
128
            set
129
            {
130
                isDocumentHistory = value;
131
                OnPropertyChanged("IsDocumentHistory");
132
            }
133
        }
134

  
123 135
        private bool isDownloadCancel;
124 136
        public bool IsDownloadCancel
125 137
        {
KCOM/Events/Event_KeyEvent.cs
142 142
                #region 삭제하기(Delete)
143 143
                case Key.Delete:
144 144
                    {
145
                        DeleteCommand.Instance.Execute(SelectionSet.Instance.SelectedItems);
145
                        List<CommentUserInfo> selectItems = SelectionSet.Instance.SelectedItems;
146
                        SelectionSet.Instance.UnSelect(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu);
146 147
                        this.dzMainMenu.SelectLayer.Children.Clear();
148

  
149
                        DeleteCommand.Instance.Execute(selectItems);
147 150
                    }
148 151
                    break;
149 152
                #endregion
KCOM/Events/UndoCommand.cs
128 128
                    {
129 129
                        foreach (var item in undo.Markup_List)
130 130
                        {
131
                            //var markupitem = MarkupParser.MarkupToString(item.Markup, App.ViewInfo.UserID);
132

  
133
                            //if (markupitem != null)
134
                            //{
135
                            //    IKCOM.MarkupItemEx markup = new IKCOM.MarkupItemEx
136
                            //    {
137
                            //        Data = markupitem.ConvertData,
138
                            //        Data_Type = markupitem.DATA_TYPE,
139
                            //        ID = markupitem.CommentID,
140
                            //        IsUpdate = false,
141
                            //        MarkupInfoID = App.Custom_ViewInfoId,
142
                            //        PageNumber = ViewerDataModel.Instance.PageNumber,
143
                            //        //Symbol_ID = p.Symbol_ID,
144
                            //        //Group_ID = p.Group_ID
145
                            //    };
146

  
147
                            //    ViewerDataModel.Instance.MyMarkupList.Add(markup);
148
                            //}
149

  
150
                            //ViewerDataModel.Instance.MarkupControls.Add(item.Markup);
151
                            item.Markup.Load();
152

  
131 153
                            ViewerDataModel.Instance.MarkupControls_USER.Add(item.Markup);
132 154
                            ViewerDataModel.Instance.SystemMain.dzMainMenu.pageNavigator.MarkupListUpdate(
133 155
                            MarkupParser.MarkupToString(item.Markup, App.ViewInfo.UserID), Event_Type.Create, null, null);
KCOM/MainWindow.xaml.cs
49 49
            App.splashString(ISplashMessage.MAINWINDOW);
50 50
            this.Loaded += MainWindow_Loaded;
51 51
            this.Unloaded += MainWindow_Unloaded;
52
            this.PreviewKeyDown += new KeyEventHandler(KeyEventDownAction);
52
            //this.PreviewKeyDown += new KeyEventHandler(KeyEventDownAction);
53 53
            this.Activated += MainWindow_Activated;
54 54
        }
55 55

  
KCOM/Views/MainMenu.xaml
758 758
                                        </DataTemplate>
759 759
                                    </telerik:GridViewDataColumn.CellTemplate>
760 760
                                </telerik:GridViewDataColumn>
761
                                <telerik:GridViewDataColumn Header="NAME"  IsReadOnly="True" Width="Auto" DataMemberBinding="{Binding UserName}">
761
                                <telerik:GridViewDataColumn Header="NAME" IsReadOnly="True" Width="Auto" DataMemberBinding="{Binding UserName}">
762 762
                                    <telerik:GridViewDataColumn.CellTemplate>
763 763
                                        <DataTemplate>
764 764
                                            <TextBlock Text="{Binding UserName, Mode=TwoWay}"/>
......
815 815
                        </telerik:RadGridView>
816 816
                    </telerik:RadPane>
817 817
                </telerik:RadPaneGroup>
818
                <telerik:RadPaneGroup IsTabStop="False" telerik:StyleManager.Theme="Office2016" telerik:ProportionalStackPanel.RelativeSize="100, 100">
819
                    <telerik:RadPane Header="Document History"  CanFloat="False" CanUserClose="False"  ContextMenuTemplate="{x:Null}" telerik:StyleManager.Theme="Office2016"  x:Name="historyPane">
818
                <telerik:RadPaneGroup IsTabStop="False" telerik:StyleManager.Theme="Office2016"
819
                                      telerik:ProportionalStackPanel.RelativeSize="100, 100">
820
                    <telerik:RadPane Header="Document History"  CanFloat="False" CanUserClose="False" IsPinned="{Binding IsDocumentHistory, Source={x:Static common:ViewerDataModel.Instance},Mode=TwoWay}"  ContextMenuTemplate="{x:Null}" telerik:StyleManager.Theme="Office2016"  x:Name="historyPane"
821
                                     Visibility="{Binding IsDocumentHistory, Source={x:Static common:ViewerDataModel.Instance},Mode=TwoWay, Converter={StaticResource BoolToVisibleConverter}}">
820 822
                        <Grid>
821 823
                            <telerik:RadGridView IsReadOnly="True" telerik:StyleManager.Theme="Office2013" ShowGroupPanel="False" ShowGroupFooters="False" AutoExpandGroups="False"  x:Name="gridViewHistory"
822 824
                                             CanUserDeleteRows="True" CanUserInsertRows="False" IsFilteringAllowed="False" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False">
MARKUSStart/MARKUS.ini
1
[Internal]
2
IP=172.20.120.141
3
[External]
4
IP=203.226.6.165
5
[BaseClientAddress]
6
URL=http://172.20.120.141:5978
7
[HubAddress]
8
URL=http://172.20.120.141:5100/
9
[UpdateVer64]
10
URL=http://172.20.120.141:5977/TileSource/Version/version_x64.xml
11
[UpdateVer86]
12
URL=http://172.20.120.141:5977/TileSource/Version/version_x86.xml
13
[excelFilePath]
14
URL=http://172.20.120.141:5977/TileSource/Check_Test/CheckList_T.xlsx
15
[KCOM_Get_FinalImage_Get_PdfImage]
16
URL=http://172.20.120.141:5977/Get_FInalImage/Get_PdfImage.asmx
17
[KCOM_kr_co_devdoftech_cloud_FileUpload]
18
URL=http://172.20.120.141:5977/ImageUpload/FileUpload.asmx
19
[mainServerImageWebPath]
20
URL=http://172.20.120.141:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
21
[subServerImageWebPath]
22
URL=http://172.20.120.141:5977/TileSource/{0}_Tile/{1}/{2}/{3}.png
23
[Debug_BaseClientAddress]
24
URL=http://172.20.120.141:5978
25
[HOST_DOMAIN]
26
DOMAIN=DAELIM.COM
27
[GetConversionStateFailed]
28
MSG=VG9vIE1hbnkgVi9QIEZpbGVzIGFyZSB1cGxvYWRpbmcgaW5zdGFudGFuZW91c2x5LCBUaGlzIFYvUCBmaWxlIGNhbiBub3QgYmUgb3BlbiBub3cuIFBsZWFzZSBmZWVsIGZyZWUgdG8gcmUtb3BlbiB3YWl0IGEgbW9tZW50IGFnYWluIVxuXG7tmITsnqwg7J287Iuc7KCB7Jy866GcIOunjuydgCDslpHsnZggVi9Q6rCAIOuTseuhneuQmOqzoCDsnojslrQg7J20IOusuOyEnOulvCDsl7TrnoztlaAg7IiYIOyXhuyKteuLiOuLpC5cbuyeoOyLnOunjCDquLDri6TroKQg7KO87IugIO2bhCDri6Tsi5wg7Je0656M7ZWY7JesIOyjvOyLnOq4sCDrsJTrno3ri4jri6RcblxuQ29udGFjdCBQb2ludCA6IFlPVSwgU3VuZy1IbyAoMDItMzY5LTU2NDMpXHJcbuyXsOudveyymDog7Jyg7ISx7Zi4IOu2gOyepSgwMiAtIDM2OSAtIDU2MzQp
29
[SetFinalPDFError]
30
MSG=7LWc7KKFIO2MjOydvOydhCDrp4zrk5zripTrjbAg66y47KCc6rCAIOuwnOyDne2VmOyYgOyKteuLiOuLpA==
31
[SetFinalPDFSuccess]
32
MSG=RmluYWwgUERGIOyDneyEsSDspJEg7J6F64uI64ukLiDsmYTro4wg65CY66m0ICBPdXRsb29rIOyVjOumvCDrqZTsnbwg67Cc7IahIOuQqeuLiOuLpC4gXHJcbuyeoOyLnOunjCDquLDri6TroKQg7KO87IS47JqULg==
33
[SetThumbnail]
34
WIDTH=221
35
[Site]
36
NAME=DAELIM
37
[PortForwarding]
38
HUB=5100:5100
39
RESOURCE=5977:5977
40
BASE=5978:5978
41
[GetImageResourceFailed]
42
MSG=7ZW064u5IOusuOyEnOydmCB7MH0gUGFnZSBDb252ZXJ06rCAIOygleyDgeyggeydtOyngCDslYrsirXri4jri6QuIOq0gOumrOyekOyXkOqyjCDrrLjsnZjtlbQg7KO87IS47JqULg==
MARKUSStart/Markus.sln
1

2
Microsoft Visual Studio Solution File, Format Version 12.00
3
# Visual Studio 15
4
VisualStudioVersion = 15.0.28307.1169
5
MinimumVisualStudioVersion = 10.0.40219.1
6
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Markus", "Markus\Markus.csproj", "{DAB68453-6C7A-4642-814F-47FC794E8BF0}"
7
EndProject
8
Global
9
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
10
		Debug|Any CPU = Debug|Any CPU
11
		Release|Any CPU = Release|Any CPU
12
	EndGlobalSection
13
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
14
		{DAB68453-6C7A-4642-814F-47FC794E8BF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15
		{DAB68453-6C7A-4642-814F-47FC794E8BF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
16
		{DAB68453-6C7A-4642-814F-47FC794E8BF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
17
		{DAB68453-6C7A-4642-814F-47FC794E8BF0}.Release|Any CPU.Build.0 = Release|Any CPU
18
	EndGlobalSection
19
	GlobalSection(SolutionProperties) = preSolution
20
		HideSolutionNode = FALSE
21
	EndGlobalSection
22
	GlobalSection(ExtensibilityGlobals) = postSolution
23
		SolutionGuid = {4A6B3996-5CC6-4656-9445-0D20641956DE}
24
	EndGlobalSection
25
EndGlobal
MARKUSStart/Markus/App.config
1
<?xml version="1.0" encoding="utf-8" ?>
2
<configuration>
3
    <startup> 
4
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
5
    </startup>
6
</configuration>
MARKUSStart/Markus/App.xaml
1
<Application x:Class="Markus.App"
2
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
             xmlns:local="clr-namespace:Markus"
5
             StartupUri="MainWindow.xaml">
6
    <Application.Resources>
7
         
8
    </Application.Resources>
9
</Application>
MARKUSStart/Markus/App.xaml.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Configuration;
4
using System.Data;
5
using System.Linq;
6
using System.Threading.Tasks;
7
using System.Windows;
8

  
9
namespace Markus
10
{
11
    /// <summary>
12
    /// App.xaml에 대한 상호 작용 논리
13
    /// </summary>
14
    public partial class App : Application
15
    {
16
    }
17
}
MARKUSStart/Markus/MainWindow.xaml
1
<Window x:Class="Markus.MainWindow"
2
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
5
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7
        xmlns:local="clr-namespace:Markus"
8
        mc:Ignorable="d"
9
        Title="MainWindow" Height="450" Width="800">
10
    <Grid x:Name="LayoutRoot" Width="350" Margin="221,0,221,2">
11
        <Grid.RowDefinitions>
12
            <RowDefinition Height="10"/>
13
            <RowDefinition Height="22"/>
14
            <RowDefinition Height="10"/>
15
            <RowDefinition Height="22"/>
16
            <RowDefinition Height="10"/>
17
            <RowDefinition Height="22"/>
18
            <RowDefinition Height="10"/>
19
            <RowDefinition Height="22"/>
20
            <RowDefinition Height="10"/>
21
            <RowDefinition Height="22"/>
22
            <RowDefinition Height="10"/>
23
            <RowDefinition Height="22"/>
24
            <RowDefinition Height="10"/>
25
            <RowDefinition Height="22"/>
26
            <RowDefinition Height="10"/>
27
            <RowDefinition Height="22"/>
28
            <RowDefinition Height="10"/>
29
            <RowDefinition Height="22"/>
30
            <RowDefinition Height="10"/>
31
            <RowDefinition Height="22"/>
32
            <RowDefinition Height="10"/>
33
        </Grid.RowDefinitions>
34
        <Grid.ColumnDefinitions>
35
            <ColumnDefinition Width="10"/>
36
            <ColumnDefinition Width="auto"/>
37
            <ColumnDefinition Width="10"/>
38
            <ColumnDefinition Width="*"/>
39
            <ColumnDefinition Width="10"/>
40
        </Grid.ColumnDefinitions>
41
        <TextBlock Text="DocumentItemID:" Grid.Row="1" Grid.Column="1"/>
42
        <TextBox Grid.Row="1" Grid.Column="3" Name="DocumentItemID"/>
43

  
44
        <TextBlock Text="ProjectNO:" Grid.Row="3" Grid.Column="1"/>
45
        <TextBox Grid.Row="3" Grid.Column="3" Name="ProjectNO"/>
46
        <TextBlock Text="UserID:" Grid.Row="5" Grid.Column="1"/>
47
        <TextBox Grid.Row="5" Grid.Column="3" Name="UserID"/>
48

  
49

  
50
        <TextBlock Text="CreateFinal:" Grid.Row="7" Grid.Column="1"/>
51
        <CheckBox Grid.Row="7" Grid.Column="3" Name="CreateFinal"/>
52
        <TextBlock Text="NewComment:" Grid.Row="9" Grid.Column="1"/>
53
        <CheckBox Grid.Row="9" Grid.Column="3" Name="NewComment"/>
54
        <TextBlock Text="Partner:" Grid.Row="11" Grid.Column="1"/>
55
        <CheckBox Grid.Row="11" Grid.Column="3" Name="Partner" />
56

  
57
        <TextBlock Text="URL:" Grid.Row="13" Grid.Column="1"/>
58
        <TextBox x:Name="URL" Grid.Row="13" Grid.Column="3"  Grid.RowSpan="4"/>
59
        <Button Content="Open" Margin="5"  Width="50" Height="20" Grid.Row="19" Grid.ColumnSpan="2" Grid.Column="3" HorizontalAlignment="Right" Grid.RowSpan="2" Click="Button_Click" />
60
    </Grid>
61
</Window>
MARKUSStart/Markus/MainWindow.xaml.cs
1
using Newtonsoft.Json;
2
using System;
3
using System.Collections.Generic;
4
using System.Diagnostics;
5
using System.Linq;
6
using System.Text;
7
using System.Threading.Tasks;
8
using System.Windows;
9
using System.Windows.Controls;
10
using System.Windows.Data;
11
using System.Windows.Documents;
12
using System.Windows.Input;
13
using System.Windows.Media;
14
using System.Windows.Media.Imaging;
15
using System.Windows.Navigation;
16
using System.Windows.Shapes;
17

  
18
namespace Markus
19
{
20
    /// <summary>
21
    /// MainWindow.xaml에 대한 상호 작용 논리
22
    /// </summary>
23
    public partial class MainWindow : Window
24
    {
25
        public MainWindow()
26
        {
27
            InitializeComponent();
28
        }
29

  
30
        private void Button_Click(object sender, RoutedEventArgs e)
31
        {
32
            string MarkusLink = "kcom://" + CreateMarkusParam(this.ProjectNO.Text, this.DocumentItemID.Text, "doftech", this.Partner.IsChecked , this.CreateFinal.IsChecked, this.NewComment.IsChecked);
33

  
34
            this.URL.Text = MarkusLink;
35
            ProcessStartInfo startInfo = null;
36

  
37
            startInfo = new ProcessStartInfo("iexplore.exe", MarkusLink);
38

  
39
            Process.Start(startInfo);
40
        }
41
        public static string CreateMarkusParam(string projectNo, string documentID, string userID, bool? partner, bool? createfinal, bool? newcomment)
42
        {
43
            ViewInfo viewInfo = new ViewInfo();
44

  
45
            viewInfo.DocumentItemID = documentID;
46
            viewInfo.ProjectNO = projectNo;
47
            viewInfo.UserID = userID;
48
            viewInfo.bPartner = partner;
49
            viewInfo.CreateFinalPDFPermission = createfinal;
50
            viewInfo.NewCommentPermission = newcomment;
51

  
52
            return ParamEncoding(JsonConvert.SerializeObject(viewInfo));
53

  
54
        }
55
        public static string ParamEncoding(string EncodingText, System.Text.Encoding oEncoding = null)
56
        {
57

  
58
            if (oEncoding == null)
59
                oEncoding = System.Text.Encoding.UTF8;
60

  
61
            return Convert.ToBase64String(oEncoding.GetBytes(EncodingText));
62

  
63
        }
64
    }
65
}
MARKUSStart/Markus/Markus.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>{DAB68453-6C7A-4642-814F-47FC794E8BF0}</ProjectGuid>
8
    <OutputType>WinExe</OutputType>
9
    <RootNamespace>Markus</RootNamespace>
10
    <AssemblyName>MarkusStart</AssemblyName>
11
    <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
12
    <FileAlignment>512</FileAlignment>
13
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
14
    <WarningLevel>4</WarningLevel>
15
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
16
    <Deterministic>true</Deterministic>
17
  </PropertyGroup>
18
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19
    <PlatformTarget>AnyCPU</PlatformTarget>
20
    <DebugSymbols>true</DebugSymbols>
21
    <DebugType>full</DebugType>
22
    <Optimize>false</Optimize>
23
    <OutputPath>bin\Debug\</OutputPath>
24
    <DefineConstants>DEBUG;TRACE</DefineConstants>
25
    <ErrorReport>prompt</ErrorReport>
26
    <WarningLevel>4</WarningLevel>
27
  </PropertyGroup>
28
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
29
    <PlatformTarget>AnyCPU</PlatformTarget>
30
    <DebugType>pdbonly</DebugType>
31
    <Optimize>true</Optimize>
32
    <OutputPath>bin\Release\</OutputPath>
33
    <DefineConstants>TRACE</DefineConstants>
34
    <ErrorReport>prompt</ErrorReport>
35
    <WarningLevel>4</WarningLevel>
36
  </PropertyGroup>
37
  <ItemGroup>
38
    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
39
      <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
40
    </Reference>
41
    <Reference Include="System" />
42
    <Reference Include="System.Data" />
43
    <Reference Include="System.Xml" />
44
    <Reference Include="Microsoft.CSharp" />
45
    <Reference Include="System.Core" />
46
    <Reference Include="System.Xml.Linq" />
47
    <Reference Include="System.Data.DataSetExtensions" />
48
    <Reference Include="System.Net.Http" />
49
    <Reference Include="System.Xaml">
50
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
51
    </Reference>
52
    <Reference Include="Telerik.Windows.Controls, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
53
      <SpecificVersion>False</SpecificVersion>
54
      <HintPath>..\..\..\..\..\..\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.dll</HintPath>
55
    </Reference>
56
    <Reference Include="Telerik.Windows.Controls.Data, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
57
      <SpecificVersion>False</SpecificVersion>
58
      <HintPath>..\..\..\..\..\..\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.Data.dll</HintPath>
59
    </Reference>
60
    <Reference Include="Telerik.Windows.Controls.Input, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
61
      <SpecificVersion>False</SpecificVersion>
62
      <HintPath>..\..\..\..\..\..\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.Input.dll</HintPath>
63
    </Reference>
64
    <Reference Include="Telerik.Windows.Data, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
65
      <SpecificVersion>False</SpecificVersion>
66
      <HintPath>..\..\..\..\..\..\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Data.dll</HintPath>
67
    </Reference>
68
    <Reference Include="WindowsBase" />
69
    <Reference Include="PresentationCore" />
70
    <Reference Include="PresentationFramework" />
71
  </ItemGroup>
72
  <ItemGroup>
73
    <ApplicationDefinition Include="App.xaml">
74
      <Generator>MSBuild:Compile</Generator>
75
      <SubType>Designer</SubType>
76
    </ApplicationDefinition>
77
    <Compile Include="ViewInfo.cs" />
78
    <Page Include="MainWindow.xaml">
79
      <Generator>MSBuild:Compile</Generator>
80
      <SubType>Designer</SubType>
81
    </Page>
82
    <Compile Include="App.xaml.cs">
83
      <DependentUpon>App.xaml</DependentUpon>
84
      <SubType>Code</SubType>
85
    </Compile>
86
    <Compile Include="MainWindow.xaml.cs">
87
      <DependentUpon>MainWindow.xaml</DependentUpon>
88
      <SubType>Code</SubType>
89
    </Compile>
90
  </ItemGroup>
91
  <ItemGroup>
92
    <Compile Include="Properties\AssemblyInfo.cs">
93
      <SubType>Code</SubType>
94
    </Compile>
95
    <Compile Include="Properties\Resources.Designer.cs">
96
      <AutoGen>True</AutoGen>
97
      <DesignTime>True</DesignTime>
98
      <DependentUpon>Resources.resx</DependentUpon>
99
    </Compile>
100
    <Compile Include="Properties\Settings.Designer.cs">
101
      <AutoGen>True</AutoGen>
102
      <DependentUpon>Settings.settings</DependentUpon>
103
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
104
    </Compile>
105
    <EmbeddedResource Include="Properties\Resources.resx">
106
      <Generator>ResXFileCodeGenerator</Generator>
107
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
108
    </EmbeddedResource>
109
    <None Include="packages.config" />
110
    <None Include="Properties\Settings.settings">
111
      <Generator>SettingsSingleFileGenerator</Generator>
112
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
113
    </None>
114
  </ItemGroup>
115
  <ItemGroup>
116
    <None Include="App.config" />
117
  </ItemGroup>
118
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
119
</Project>
MARKUSStart/Markus/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Resources;
3
using System.Runtime.CompilerServices;
4
using System.Runtime.InteropServices;
5
using System.Windows;
6

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

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

  
24
//지역화 가능 응용 프로그램 빌드를 시작하려면 다음을 설정하세요.
25
//.csproj 파일에서 <PropertyGroup> 내에 <UICulture>CultureYouAreCodingWith</UICulture>를
26
//설정하십시오. 예를 들어 소스 파일에서 영어(미국)를
27
//사용하는 경우 <UICulture>를 en-US로 설정합니다. 그런 다음 아래
28
//NeutralResourceLanguage 특성의 주석 처리를 제거합니다. 아래 줄의 "en-US"를 업데이트하여
29
//프로젝트 파일의 UICulture 설정과 일치시킵니다.
30

  
31
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
32

  
33

  
34
[assembly: ThemeInfo(
35
    ResourceDictionaryLocation.None, //테마별 리소스 사전의 위치
36
                                     //(페이지 또는 응용 프로그램 리소스 사진에
37
                                     // 리소스가 없는 경우에 사용됨)
38
    ResourceDictionaryLocation.SourceAssembly //제네릭 리소스 사전의 위치
39
                                              //(페이지 또는 응용 프로그램 리소스 사진에
40
                                              // 리소스가 없는 경우에 사용됨)
41
)]
42

  
43

  
44
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
45
//
46
//      주 버전
47
//      부 버전 
48
//      빌드 번호
49
//      수정 버전
50
//
51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52
// 지정되도록 할 수 있습니다.
53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("1.0.0.0")]
55
[assembly: AssemblyFileVersion("1.0.0.0")]
MARKUSStart/Markus/Properties/Resources.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     이 코드는 도구를 사용하여 생성되었습니다.
4
//     런타임 버전:4.0.30319.42000
5
//
6
//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7
//     이러한 변경 내용이 손실됩니다.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace Markus.Properties
12
{
13

  
14

  
15
    /// <summary>
16
    ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
17
    /// </summary>
18
    // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
19
    // 클래스에서 자동으로 생성되었습니다.
20
    // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
21
    // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
22
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25
    internal class Resources
26
    {
27

  
28
        private static global::System.Resources.ResourceManager resourceMan;
29

  
30
        private static global::System.Globalization.CultureInfo resourceCulture;
31

  
32
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33
        internal Resources()
34
        {
35
        }
36

  
37
        /// <summary>
38
        ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
39
        /// </summary>
40
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41
        internal static global::System.Resources.ResourceManager ResourceManager
42
        {
43
            get
44
            {
45
                if ((resourceMan == null))
46
                {
47
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Markus.Properties.Resources", typeof(Resources).Assembly);
48
                    resourceMan = temp;
49
                }
50
                return resourceMan;
51
            }
52
        }
53

  
54
        /// <summary>
55
        ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
56
        ///   재정의합니다.
57
        /// </summary>
58
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59
        internal static global::System.Globalization.CultureInfo Culture
60
        {
61
            get
62
            {
63
                return resourceCulture;
64
            }
65
            set
66
            {
67
                resourceCulture = value;
68
            }
69
        }
70
    }
71
}
MARKUSStart/Markus/Properties/Resources.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:element name="root" msdata:IsDataSet="true">
64
      <xsd:complexType>
65
        <xsd:choice maxOccurs="unbounded">
66
          <xsd:element name="metadata">
67
            <xsd:complexType>
68
              <xsd:sequence>
69
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
70
              </xsd:sequence>
71
              <xsd:attribute name="name" type="xsd:string" />
72
              <xsd:attribute name="type" type="xsd:string" />
73
              <xsd:attribute name="mimetype" type="xsd:string" />
74
            </xsd:complexType>
75
          </xsd:element>
76
          <xsd:element name="assembly">
77
            <xsd:complexType>
78
              <xsd:attribute name="alias" type="xsd:string" />
79
              <xsd:attribute name="name" type="xsd:string" />
80
            </xsd:complexType>
81
          </xsd:element>
82
          <xsd:element name="data">
83
            <xsd:complexType>
84
              <xsd:sequence>
85
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
86
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
87
              </xsd:sequence>
88
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
89
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
90
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
91
            </xsd:complexType>
92
          </xsd:element>
93
          <xsd:element name="resheader">
94
            <xsd:complexType>
95
              <xsd:sequence>
96
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
97
              </xsd:sequence>
98
              <xsd:attribute name="name" type="xsd:string" use="required" />
99
            </xsd:complexType>
100
          </xsd:element>
101
        </xsd:choice>
102
      </xsd:complexType>
103
    </xsd:element>
104
  </xsd:schema>
105
  <resheader name="resmimetype">
106
    <value>text/microsoft-resx</value>
107
  </resheader>
108
  <resheader name="version">
109
    <value>2.0</value>
110
  </resheader>
111
  <resheader name="reader">
112
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
113
  </resheader>
114
  <resheader name="writer">
115
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
</root>
MARKUSStart/Markus/Properties/Settings.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     This code was generated by a tool.
4
//     Runtime Version:4.0.30319.42000
5
//
6
//     Changes to this file may cause incorrect behavior and will be lost if
7
//     the code is regenerated.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace Markus.Properties
12
{
13

  
14

  
15
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18
    {
19

  
20
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21

  
22
        public static Settings Default
23
        {
24
            get
25
            {
26
                return defaultInstance;
27
            }
28
        }
29
    }
30
}
MARKUSStart/Markus/Properties/Settings.settings
1
<?xml version='1.0' encoding='utf-8'?>
2
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
3
  <Profiles>
4
    <Profile Name="(Default)" />
5
  </Profiles>
6
  <Settings />
7
</SettingsFile>
MARKUSStart/Markus/ViewInfo.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6

  
7
namespace Markus
8
{
9
    public class ViewInfo
10
    {
11
        public string DocumentItemID { get; set; }
12
        public bool? bPartner { get; set; } = false;
13
        public bool? CreateFinalPDFPermission { get; set; } = false;
14
        public bool? NewCommentPermission { get; set; } = false;
15
        public string ProjectNO { get; set; }
16
        public string UserID { get; set; }
17

  
18

  
19
        /// <summary>
20
        /// 생성자 
21
        /// </summary>
22
        //public ViewInfo()
23
        //{
24
        //    bPartner = false;
25
        //    CreateFinalPDFPermission = true;
26
        //    NewCommentPermission = true;
27
        //}
28

  
29
    }
30
}
MARKUSStart/Markus/packages.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<packages>
3
  <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
4
</packages>
MarkupToPDF/Common/CommentUserInfo.cs
38 38

  
39 39
        public CommentUserInfo()
40 40
        {
41
            Load();
42
        }
43

  
44
        public void Load()
45
        {
46
            this.IsHitTestVisible = true;
47

  
41 48
            this.SetValue(Telerik.Windows.Controls.TabNavigationExtensions.IsTabStopProperty, false);
42 49
               this.BorderThickness = new System.Windows.Thickness(20.0);
43 50
            this.MouseEnter += CommentUserInfo_MouseEnter;
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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