프로젝트

일반

사용자정보

개정판 a72d2650

IDa72d2650e3ab1ac268b425b77f6c5703371df2a1
상위 cbf28e29
하위 c740ccc7

김태성이(가) 약 5년 전에 추가함

-document_item과 convert_doc를 비교하여 convert_doc에 없는 데이터를 추가

Change-Id: I5dbe6dfabd3272bc47da810d93161efb2e56f00f

차이점 보기:

ConvertService/ServiceBase/DocItemCheck/App.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<configuration>
3
  <configSections>
4
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
5
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
6
  </configSections>
7
  <entityFramework>
8
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
9
    <providers>
10
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
11
    </providers>
12
  </entityFramework>
13
</configuration>
ConvertService/ServiceBase/DocItemCheck/DocItemCheck.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>{2F7115C0-6414-46DB-B2E5-C941099B7737}</ProjectGuid>
8
    <OutputType>Library</OutputType>
9
    <AppDesignerFolder>Properties</AppDesignerFolder>
10
    <RootNamespace>DocItemCheck</RootNamespace>
11
    <AssemblyName>DocItemCheck</AssemblyName>
12
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
13
    <FileAlignment>512</FileAlignment>
14
    <Deterministic>true</Deterministic>
15
  </PropertyGroup>
16
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17
    <DebugSymbols>true</DebugSymbols>
18
    <DebugType>full</DebugType>
19
    <Optimize>false</Optimize>
20
    <OutputPath>..\publish\Plugin\</OutputPath>
21
    <DefineConstants>DEBUG;TRACE</DefineConstants>
22
    <ErrorReport>prompt</ErrorReport>
23
    <WarningLevel>4</WarningLevel>
24
  </PropertyGroup>
25
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26
    <DebugType>pdbonly</DebugType>
27
    <Optimize>true</Optimize>
28
    <OutputPath>bin\Release\</OutputPath>
29
    <DefineConstants>TRACE</DefineConstants>
30
    <ErrorReport>prompt</ErrorReport>
31
    <WarningLevel>4</WarningLevel>
32
  </PropertyGroup>
33
  <ItemGroup>
34
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
35
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
36
    </Reference>
37
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
38
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
39
    </Reference>
40
    <Reference Include="Markus.EntityModel, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
41
      <HintPath>..\packages\MarkusDatabase.1.8.0\lib\net45\Markus.EntityModel.dll</HintPath>
42
    </Reference>
43
    <Reference Include="System" />
44
    <Reference Include="System.ComponentModel.DataAnnotations" />
45
    <Reference Include="System.Core" />
46
    <Reference Include="System.Xml.Linq" />
47
    <Reference Include="System.Data.DataSetExtensions" />
48
    <Reference Include="Microsoft.CSharp" />
49
    <Reference Include="System.Data" />
50
    <Reference Include="System.Net.Http" />
51
    <Reference Include="System.Xml" />
52
  </ItemGroup>
53
  <ItemGroup>
54
    <Compile Include="DocumentItemCheck.cs" />
55
    <Compile Include="Properties\AssemblyInfo.cs" />
56
  </ItemGroup>
57
  <ItemGroup>
58
    <ProjectReference Include="..\Markus.Service.Convert.IPlugin\Markus.Service.Convert.IPlugin.csproj">
59
      <Project>{a5ba7325-379c-4ccb-b156-1704fc2175e3}</Project>
60
      <Name>Markus.Service.Convert.IPlugin</Name>
61
    </ProjectReference>
62
    <ProjectReference Include="..\Markus.Service.Extensions\Markus.Service.Extensions.csproj">
63
      <Project>{5f983789-3e8f-4f9a-a601-138c3a83ca5f}</Project>
64
      <Name>Markus.Service.Extensions</Name>
65
    </ProjectReference>
66
  </ItemGroup>
67
  <ItemGroup>
68
    <None Include="App.config" />
69
    <None Include="packages.config" />
70
  </ItemGroup>
71
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
72
</Project>
ConvertService/ServiceBase/DocItemCheck/DocumentItemCheck.cs
1
using Markus.Service.Convert.Plugin;
2
using Markus.Service.Extensions;
3
using System;
4
using System.Collections.Generic;
5
using System.Data.Entity.Core.Objects;
6
using System.Data.Entity.Infrastructure;
7
using System.Linq;
8
using System.Text;
9
using System.Threading.Tasks;
10

  
11
namespace DocItemCheck
12
{
13
    public class DocumentItemCheck : Markus.Service.Convert.Plugin.IPlugin
14
    {
15
        public string Name => nameof(DocItemCheck);
16

  
17
        public string Exception { get; set; }
18
        public string gConvertID;
19

  
20
        private const string MARKUS_ConnectionString_KEY = "MARKUS_ConnectionString";
21

  
22
        bool IPlugin.Do(string ConvertID, Dictionary<string, object> Parameters)
23
        {
24
            bool result = true;
25

  
26
            gConvertID = ConvertID;
27

  
28
            try
29
            {
30
                if (Parameters.Keys.Count(x => x == MARKUS_ConnectionString_KEY) > 0)
31
                {
32
                    string connectionString = Parameters[MARKUS_ConnectionString_KEY].ToString();
33
                    
34
                    using (var entities = new Markus.EntityModel.MarkusModel(Markus.Service.Extensions.Encrypt.AESEncrypter.Decrypt(connectionString)))
35
                    {
36
                        string sql = @"SELECT " +
37
                                      " doc.PROJECT_NO as PROJECT_NO " +
38
				                      " ,doc.DOCUMENT_ID as DOCUMENT_ID " +
39
				                      " ,doc.ORIGINAL_FILE as ORIGINAL_FILE " +
40
                                      " FROM MarkusModel.DOCUMENT_ITEM as doc " +
41
                                      " LEFT OUTER JOIN MarkusModel.CONVERTER_DOC as con " +
42
				                      " ON doc.DOCUMENT_ID = con.DOCUMENT_ID and doc.PROJECT_NO = con.PROJECT_NO " +
43
				                      " where con.DOCUMENT_ID is null";
44

  
45
                        var docItems =  (entities as IObjectContextAdapter).ObjectContext.CreateQuery<System.Data.Common.DbDataRecord>(sql);
46

  
47
                        if (docItems.Count() > 0)
48
                        {
49
                            foreach (var dataRecord in docItems)
50
                            {
51
                                string projctNo = dataRecord["PROJECT_NO"]?.ToString().Trim();
52
                                string documentId = dataRecord["DOCUMENT_ID"]?.ToString().Trim();
53
                                string originalUrl = dataRecord["ORIGINAL_FILE"]?.ToString();
54

  
55
                                if (!string.IsNullOrWhiteSpace(projctNo) && !string.IsNullOrWhiteSpace(documentId) && !string.IsNullOrWhiteSpace(originalUrl))
56
                                { 
57
                                    string convertId = GuidExtension.shortGuid();
58

  
59
                                    var param = new [] {
60
                                        new System.Data.SqlClient.SqlParameter("ID",convertId),
61
                                        new System.Data.SqlClient.SqlParameter("PROJECT_NO",projctNo),
62
                                        new System.Data.SqlClient.SqlParameter("DOCUMENT_URL",originalUrl),
63
                                        new System.Data.SqlClient.SqlParameter( "DOCUMENT_ID",documentId)
64
                                    };
65

  
66
                                   (entities as IObjectContextAdapter).ObjectContext.ExecuteStoreQuery<object>("SELECT_CONVERT_INSERT @ID, @PROJECT_NO, @DOCUMENT_URL , @DOCUMENT_ID", param);
67
                                }
68
                            }
69
                        }
70
                    }
71
                }
72
                else
73
                {
74
                    this.Exception = "MARKUS_ConnectionString SECTION Not Found";
75
                }
76
            }
77

  
78
            catch (Exception ex)
79
            {
80
                this.Exception = ex.ToString();
81
                result = false;
82
            }
83

  
84
            return result;
85
        }
86
    }
87
}
ConvertService/ServiceBase/DocItemCheck/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Runtime.CompilerServices;
3
using System.Runtime.InteropServices;
4

  
5
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
6
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
7
// 이러한 특성 값을 변경하세요.
8
[assembly: AssemblyTitle("DocItemCheck")]
9
[assembly: AssemblyDescription("")]
10
[assembly: AssemblyConfiguration("")]
11
[assembly: AssemblyCompany("")]
12
[assembly: AssemblyProduct("DocItemCheck")]
13
[assembly: AssemblyCopyright("Copyright ©  2020")]
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("2f7115c0-6414-46db-b2e5-c941099b7737")]
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")]
ConvertService/ServiceBase/DocItemCheck/packages.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<packages>
3
  <package id="EntityFramework" version="6.2.0" targetFramework="net45" />
4
  <package id="MarkusDatabase" version="1.8.0" targetFramework="net45" developmentDependency="true" />
5
</packages>
ConvertService/ServiceBase/Markus.Service.Station/Plugin.ini
2 2
[PemssDocumentInfo]
3 3
PEMSS_SERVICE = http://localhost:13009/PemssService.svc
4 4
# remote test MARKUS_V3
5
MARKUS_ConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5pT5Vi9KdIFiJ/icpeXrUfa2LTnWdibJ7Oz+4QcYCftqVNPaS3nbiAo67l93XLRVqCpyt4tTSgwhRhdJob48gZhx+zmvoKmAwBR/ofCam3SNjx85gHFWc+gFffVOACIGbvM940SGroUFzK85kDd7Xlg==
5
#MARKUS_ConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5pT5Vi9KdIFiJ/icpeXrUfa2LTnWdibJ7Oz+4QcYCftqVNPaS3nbiAo67l93XLRVqCpyt4tTSgwhRhdJob48gZhx+zmvoKmAwBR/ofCam3SNjx85gHFWc+gFffVOACIGbvM940SGroUFzK85kDd7Xlg==
6

  
7

  
8
[DocItemCheck]
9
#MARKUS_ConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5/7jdSUr5EUZM30ywChLhQpD7JcUP0OmFolKm/ESAXOyQExjIscSgqZRobsvvTqCJXTB9cMiVyw40ez2n/sz6jEVUlTnXcrgyES00Kne7l1/Vxq1xlZB35sr7iyMcMkAFI6eGTZyU34DfS3t1LQu55A==
10

  
11
#효성
12
MARKUS_ConnectionString = w0RfRwPwWVzkhKYSFkzqaccCbanjnTfSeig1IFc1IQ2MDThANWCNLmZqA6e2emQZqdM0l2Hsk1Ns/1Bfk6Vy+23gcbZlEDSBfSz7+eQaliiW9b2Wes1FDJ/C1Ho+35kTHGBbQk0tlIA0SWQHbR0KFo8TH5AbCyrLkjI87W6iXJVBpfI1QmTK0guIlTPnEEtCzXnXtgY9e8IHVnRIqT1PDs4tqaDsOZxfDGNNdvIpagA=
ConvertService/ServiceBase/PlugInTest/PlugInTest.csproj
34 34
  <PropertyGroup>
35 35
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
36 36
  </PropertyGroup>
37
  <PropertyGroup>
38
    <StartupObject>PlugInTest.Program</StartupObject>
39
  </PropertyGroup>
37 40
  <ItemGroup>
38 41
    <Reference Include="ConfigParser, Version=0.3.4.3, Culture=neutral, processorArchitecture=MSIL">
39 42
      <HintPath>..\packages\Salaros.ConfigParser.0.3.4\lib\net45\ConfigParser.dll</HintPath>
......
67 70
    <Compile Include="Program.cs" />
68 71
  </ItemGroup>
69 72
  <ItemGroup>
73
    <None Include="..\Markus.Service.Station\Plugin.ini">
74
      <Link>Plugin.ini</Link>
75
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
76
    </None>
70 77
    <None Include="App.config" />
71 78
    <None Include="packages.config" />
72 79
  </ItemGroup>
73 80
  <ItemGroup>
81
    <ProjectReference Include="..\DocItemCheck\DocItemCheck.csproj">
82
      <Project>{2f7115c0-6414-46db-b2e5-c941099b7737}</Project>
83
      <Name>DocItemCheck</Name>
84
    </ProjectReference>
74 85
    <ProjectReference Include="..\Markus.Service.Convert.IPlugin\Markus.Service.Convert.IPlugin.csproj">
75 86
      <Project>{a5ba7325-379c-4ccb-b156-1704fc2175e3}</Project>
76 87
      <Name>Markus.Service.Convert.IPlugin</Name>
......
84 95
      <Name>TestDocumentInfo</Name>
85 96
    </ProjectReference>
86 97
  </ItemGroup>
98
  <ItemGroup>
99
    <WCFMetadata Include="Connected Services\" />
100
  </ItemGroup>
87 101
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
88 102
  <PropertyGroup>
89 103
    <PreBuildEvent>xcopy /y /d /I  "$(ProjectDir)..\publish\Plugin\*.*" "$(ProjectDir)$(OutDir)Plugin"</PreBuildEvent>
ConvertService/ServiceBase/PlugInTest/Program.cs
56 56
                        Console.WriteLine("");
57 57
                        Console.WriteLine("Plugin Type : " + item.Name);
58 58

  
59
                        if (item.Name == documentInfoProcess.Name)
59
                        #region Docinfo Test
60
                        //if (item.Name == documentInfoProcess.Name)
61
                        //{
62
                        //    Console.Write("Call : " + item.Name);
63

  
64
                        //    ((Markus.Service.Convert.Plugin.IPlugin)documentInfoProcess).Do(convertID, parameters);
65
                        //}
66
                        #endregion
67

  
68

  
69
                        if (item.Name == "DocItemCheck")
60 70
                        {
61 71
                            Console.Write("Call : " + item.Name);
62 72

  
63
                            ((Markus.Service.Convert.Plugin.IPlugin)documentInfoProcess).Do(convertID, parameters);
73
                            ((Markus.Service.Convert.Plugin.IPlugin)item).Do(convertID, parameters);
64 74
                        }
65 75

  
66 76
                        Console.WriteLine("");
ConvertService/ServiceBase/ServiceBase.sln
113 113
EndProject
114 114
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlugInTest", "PlugInTest\PlugInTest.csproj", "{F344E7AE-B16E-4736-9816-4BE415418F58}"
115 115
EndProject
116
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocItemCheck", "DocItemCheck\DocItemCheck.csproj", "{2F7115C0-6414-46DB-B2E5-C941099B7737}"
117
EndProject
116 118
Global
117 119
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
118 120
		Debug|Any CPU = Debug|Any CPU
......
401 403
		{F344E7AE-B16E-4736-9816-4BE415418F58}.Release|x64.Build.0 = Release|Any CPU
402 404
		{F344E7AE-B16E-4736-9816-4BE415418F58}.Release|x86.ActiveCfg = Release|Any CPU
403 405
		{F344E7AE-B16E-4736-9816-4BE415418F58}.Release|x86.Build.0 = Release|Any CPU
406
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
407
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|Any CPU.Build.0 = Debug|Any CPU
408
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|x64.ActiveCfg = Debug|Any CPU
409
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|x64.Build.0 = Debug|Any CPU
410
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|x86.ActiveCfg = Debug|Any CPU
411
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Debug|x86.Build.0 = Debug|Any CPU
412
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|Any CPU.ActiveCfg = Release|Any CPU
413
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|Any CPU.Build.0 = Release|Any CPU
414
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|x64.ActiveCfg = Release|Any CPU
415
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|x64.Build.0 = Release|Any CPU
416
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|x86.ActiveCfg = Release|Any CPU
417
		{2F7115C0-6414-46DB-B2E5-C941099B7737}.Release|x86.Build.0 = Release|Any CPU
404 418
	EndGlobalSection
405 419
	GlobalSection(SolutionProperties) = preSolution
406 420
		HideSolutionNode = FALSE
......
410 424
		{535AA98D-063A-46A4-86D8-371F6C16C099} = {38FB29F2-1B34-49E6-873C-9E04F77F7B08}
411 425
		{8E4A5DBD-1A40-4D43-A03B-E780ED098E9D} = {38FB29F2-1B34-49E6-873C-9E04F77F7B08}
412 426
		{F344E7AE-B16E-4736-9816-4BE415418F58} = {38FB29F2-1B34-49E6-873C-9E04F77F7B08}
427
		{2F7115C0-6414-46DB-B2E5-C941099B7737} = {38FB29F2-1B34-49E6-873C-9E04F77F7B08}
413 428
	EndGlobalSection
414 429
	GlobalSection(ExtensibilityGlobals) = postSolution
415 430
		SolutionGuid = {CA1BB1E8-1969-4435-A889-37F359B6EAAE}

내보내기 Unified diff

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