프로젝트

일반

사용자정보

개정판 65674874

ID65674874cf0e2061b1aedd1fb1f546a0e47f2c34
상위 0a64fa85
하위 731c84b8

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

issue #0000 dapper interface 수정

Change-Id: Ib53d6ab8f0aa1e00df75e34da23e36f97b47b9ea

차이점 보기:

ConvertService/ServiceBase/ConnectionStringBuild/ConnectionStringBuild.csproj
139 139
  </ItemGroup>
140 140
  <ItemGroup>
141 141
    <PackageReference Include="Microsoft.CSharp">
142
      <Version>4.5.0</Version>
142
      <Version>4.7.0</Version>
143 143
    </PackageReference>
144 144
  </ItemGroup>
145 145
  <ItemGroup>
ConvertService/ServiceBase/ConvertResultBSENG/ConvertResultBSENG.csproj
91 91
  </ItemGroup>
92 92
  <ItemGroup>
93 93
    <PackageReference Include="RestSharp">
94
      <Version>106.12.0</Version>
94
      <Version>108.0.3</Version>
95 95
    </PackageReference>
96 96
  </ItemGroup>
97 97
  <ItemGroup>
ConvertService/ServiceBase/ConvertResultBSENG_test/ConvertResultBSENG_test.csproj
94 94
  </ItemGroup>
95 95
  <ItemGroup>
96 96
    <PackageReference Include="log4net">
97
      <Version>2.0.8</Version>
97
      <Version>2.0.15</Version>
98 98
    </PackageReference>
99 99
    <PackageReference Include="Salaros.ConfigParser">
100 100
      <Version>0.3.8</Version>
ConvertService/ServiceBase/ConvertionWebService/ConvertionWebService.csproj
136 136
  </ItemGroup>
137 137
  <ItemGroup>
138 138
    <PackageReference Include="GemBox.Spreadsheet">
139
      <Version>47.0.1418</Version>
139
      <Version>49.0.1225</Version>
140 140
    </PackageReference>
141 141
    <PackageReference Include="log4net">
142
      <Version>2.0.8</Version>
142
      <Version>2.0.15</Version>
143 143
    </PackageReference>
144 144
    <PackageReference Include="Newtonsoft.Json">
145
      <Version>12.0.2</Version>
145
      <Version>13.0.2</Version>
146 146
    </PackageReference>
147 147
  </ItemGroup>
148 148
  <PropertyGroup>
ConvertService/ServiceBase/DocItemCheck/DocItemCheck.csproj
96 96
  </ItemGroup>
97 97
  <ItemGroup>
98 98
    <PackageReference Include="log4net">
99
      <Version>2.0.8</Version>
99
      <Version>2.0.15</Version>
100 100
    </PackageReference>
101 101
  </ItemGroup>
102 102
  <ItemGroup>
ConvertService/ServiceBase/DownloadLinkTest/DownloadLinkTest.csproj
65 65
  </ItemGroup>
66 66
  <ItemGroup>
67 67
    <PackageReference Include="RestSharp">
68
      <Version>106.12.0</Version>
68
      <Version>108.0.3</Version>
69 69
    </PackageReference>
70 70
  </ItemGroup>
71 71
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
ConvertService/ServiceBase/DownloadPlugin/BSENGRestDownload/BSENGRestDownload.csproj
68 68
  </ItemGroup>
69 69
  <ItemGroup>
70 70
    <PackageReference Include="RestSharp">
71
      <Version>106.12.0</Version>
71
      <Version>108.0.3</Version>
72 72
    </PackageReference>
73 73
  </ItemGroup>
74 74
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
ConvertService/ServiceBase/JobScheduler/JobScheduler.csproj
46 46
    <Reference Include="ConfigParser, Version=0.3.8.2, Culture=neutral, processorArchitecture=MSIL">
47 47
      <HintPath>..\packages\Salaros.ConfigParser.0.3.8\lib\net45\ConfigParser.dll</HintPath>
48 48
    </Reference>
49
    <Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
50
      <HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
49
    <Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
50
      <HintPath>..\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
51 51
    </Reference>
52 52
    <Reference Include="System" />
53
    <Reference Include="System.Configuration" />
53 54
    <Reference Include="System.Core" />
55
    <Reference Include="System.Web" />
54 56
    <Reference Include="System.Xml.Linq" />
55 57
    <Reference Include="System.Data.DataSetExtensions" />
56 58
    <Reference Include="Microsoft.CSharp" />
ConvertService/ServiceBase/JobScheduler/packages.config
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<packages>
3
  <package id="log4net" version="2.0.8" targetFramework="net45" />
4
  <package id="Microsoft.CSharp" version="4.5.0" targetFramework="net45" />
3
  <package id="log4net" version="2.0.15" targetFramework="net461" />
4
  <package id="Microsoft.CSharp" version="4.7.0" targetFramework="net461" />
5 5
  <package id="Salaros.ConfigParser" version="0.3.8" targetFramework="net451" />
6 6
</packages>
ConvertService/ServiceBase/Markus.Service.Convert/Markus.Service.Convert.csproj
156 156
  </ItemGroup>
157 157
  <ItemGroup>
158 158
    <PackageReference Include="log4net">
159
      <Version>2.0.8</Version>
159
      <Version>2.0.15</Version>
160 160
    </PackageReference>
161 161
    <PackageReference Include="Markus.Message">
162 162
      <Version>2.0.0</Version>
......
165 165
      <Version>3.0.1</Version>
166 166
    </PackageReference>
167 167
    <PackageReference Include="Microsoft.CSharp">
168
      <Version>4.5.0</Version>
168
      <Version>4.7.0</Version>
169 169
    </PackageReference>
170 170
    <PackageReference Include="Salaros.ConfigParser">
171 171
      <Version>0.3.8</Version>
ConvertService/ServiceBase/Markus.Service.ConvertProcess/Markus.Service.ConvertProcess.csproj
196 196
  </ItemGroup>
197 197
  <ItemGroup>
198 198
    <PackageReference Include="log4net">
199
      <Version>2.0.8</Version>
199
      <Version>2.0.15</Version>
200 200
    </PackageReference>
201 201
    <PackageReference Include="Markus.Message">
202 202
      <Version>2.0.0</Version>
203 203
    </PackageReference>
204 204
    <PackageReference Include="Microsoft.CSharp">
205
      <Version>4.5.0</Version>
205
      <Version>4.7.0</Version>
206 206
    </PackageReference>
207 207
    <PackageReference Include="Obfuscar">
208
      <Version>2.2.19</Version>
208
      <Version>2.2.37</Version>
209 209
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
210 210
      <PrivateAssets>all</PrivateAssets>
211 211
    </PackageReference>
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Markus.Service.DataBase.Dapper.csproj
115 115
    <PackageReference Include="Markus.Message">
116 116
      <Version>2.0.0</Version>
117 117
    </PackageReference>
118
    <PackageReference Include="Npgsql">
119
      <Version>7.0.1</Version>
120
    </PackageReference>
118 121
    <PackageReference Include="System.ValueTuple">
119 122
      <Version>4.5.0</Version>
120 123
    </PackageReference>
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/ConvertDocRepository.cs
8 8
using Markus.Service.DataBase.Entities;
9 9
using Markus.Service.DataBase.RepositoriesInterfaces;
10 10
using Markus;
11
/*
12
---------------- IMPORTANT ----------------
13
- You need to add the System.Data.SqlClient package. You can download it from https://www.nuget.org/packages/System.Data.SqlClient
14
- You need to add the Dapper package. You can download it from https://www.nuget.org/packages/Dapper
15
*/
11

  
16 12
namespace Markus.Service.DataBase.Repositories
17 13
{
18 14
    public class ConvertDocRepository : BaseRepository, IConvertDocRepository
19
	{
15
    {
20 16
        public ConvertDocRepository(string ConnectionString) : base(ConnectionString)
21 17
        {
22 18
        }
23 19

  
24 20
        public async Task<List<ConvertDoc>> GetWaitorErrorAsync(int TakeCount)
25
		{
26
			List<ConvertDoc> list = null;
27
		
28
			var parameters = new DynamicParameters();
29
			parameters.Add("@P_TakeCount", TakeCount, DbType.Int32);
30

  
31
			var result = await Connection.QueryAsync<ConvertDoc>("dbo.CONVERT_SELECT_WAITorERROR", parameters, commandType: CommandType.StoredProcedure);
32
			if (result == null) return null;
33
			list = result.ToList();
34
			
35
			return list;
36
		}
37

  
38
		public async Task<ConvertDoc> GetConvertDocSingleAsync(string ProjectNo = null,int Status = -1,string DocumentID = null,string ConvertID = null)
39
		{
40
			string SQL = "SELECT * FROM dbo.CONVERTER_DOC WHERE ";
41
			
42
			List<string> whereSQL = new List<string>();
43

  
44
			var parameters = new DynamicParameters();
45

  
46
			if (ProjectNo != null)
47
			{
48
				whereSQL.Add("PROJECT_NO = @PROJECT_NO");
49
				parameters.Add("@PROJECT_NO", ProjectNo, System.Data.DbType.String);
50
			}
51

  
52
			if (Status > -1)
53
			{
54
				whereSQL.Add("STATUS = @STATUS");
55
				parameters.Add("@STATUS", Status, System.Data.DbType.Int32);
56
			}
57

  
58
			if (ConvertID != null)
59
			{
60
				whereSQL.Add("ID = @ID");
61
				parameters.Add("@ID", ConvertID, System.Data.DbType.String);
62
			}
63

  
64
			if (DocumentID != null)
65
			{
66
				whereSQL.Add("DOCUMENT_ID = @DOCUMENT_ID");
67
				parameters.Add("@DOCUMENT_ID", DocumentID, System.Data.DbType.String);
68
			}
69

  
70
			SQL = SQL + string.Join(" AND ", whereSQL.ToArray());
71

  
72
			var convertItem = await Connection.QueryFirstOrDefaultAsync<Markus.Service.DataBase.Entities.ConvertDoc>(SQL, parameters);
73

  
74
			if (convertItem != null)
75
			{
76
				using (PROPERTIESRepository repository = new PROPERTIESRepository(connectionString))
77
				{
78
					var propeties = await repository.GetFirstAsync(convertItem.PROJECT_NO, PropertiesTypeDefine.TILE_SOURCE_STORAGE);
79

  
80
					if (propeties != null)
81
					{
82
						convertItem.ConvertPath = CreateConvertPath.Get(propeties.VALUE, convertItem.PROJECT_NO, convertItem.DOCUMENT_ID);
83
					}
84
					else
85
					{
86
						throw new Exception($"Get {convertItem.PROJECT_NO} is {PropertiesTypeDefine.TILE_SOURCE_STORAGE} null Error");
87
					}
88
				}
89
			}
21
        {
22
            List<ConvertDoc> list = null;
23

  
24
            var parameters = new DynamicParameters();
25
            parameters.Add("@P_TakeCount", TakeCount, DbType.Int32);
26

  
27
            var result = await Connection.QueryAsync<ConvertDoc>("CONVERT_SELECT_WAITorERROR", parameters, commandType: CommandType.StoredProcedure);
28
            if (result == null) return null;
29
            list = result.ToList();
30

  
31
            return list;
32
        }
33

  
34
        public async Task<ConvertDoc> GetConvertDocSingleAsync(string ProjectNo = null, int Status = -1, string DocumentID = null, string ConvertID = null)
35
        {
36
            string SQL = "SELECT * FROM CONVERTER_DOC WHERE ";
37

  
38
            List<string> whereSQL = new List<string>();
39

  
40
            var parameters = new DynamicParameters();
41

  
42
            if (ProjectNo != null)
43
            {
44
                whereSQL.Add("PROJECT_NO = @PROJECT_NO");
45
                parameters.Add("@PROJECT_NO", ProjectNo, System.Data.DbType.String);
46
            }
47

  
48
            if (Status > -1)
49
            {
50
                whereSQL.Add("STATUS = @STATUS");
51
                parameters.Add("@STATUS", Status, System.Data.DbType.Int32);
52
            }
53

  
54
            if (ConvertID != null)
55
            {
56
                whereSQL.Add("ID = @ID");
57
                parameters.Add("@ID", ConvertID, System.Data.DbType.String);
58
            }
59

  
60
            if (DocumentID != null)
61
            {
62
                whereSQL.Add("DOCUMENT_ID = @DOCUMENT_ID");
63
                parameters.Add("@DOCUMENT_ID", DocumentID, System.Data.DbType.String);
64
            }
65

  
66
            SQL = SQL + string.Join(" AND ", whereSQL.ToArray());
67

  
68
            var convertItem = await Connection.QueryFirstOrDefaultAsync<Markus.Service.DataBase.Entities.ConvertDoc>(SQL, parameters);
69

  
70
            if (convertItem != null)
71
            {
72
                using (PROPERTIESRepository repository = new PROPERTIESRepository(connectionString))
73
                {
74
                    var propeties = await repository.GetFirstAsync(convertItem.PROJECT_NO, PropertiesTypeDefine.TILE_SOURCE_STORAGE);
75

  
76
                    if (propeties != null)
77
                    {
78
                        convertItem.ConvertPath = CreateConvertPath.Get(propeties.VALUE, convertItem.PROJECT_NO, convertItem.DOCUMENT_ID);
79
                    }
80
                    else
81
                    {
82
                        throw new Exception($"Get {convertItem.PROJECT_NO} is {PropertiesTypeDefine.TILE_SOURCE_STORAGE} null Error");
83
                    }
84
                }
85
            }
90 86

  
91 87
            return convertItem;
92 88

  
93
		}
89
        }
94 90

  
95
		public async Task<IEnumerable<ConvertDoc>> GetConvertDocAsync(int status)
96
		{
97
			string SQL = "SELECT * FROM dbo.CONVERTER_DOC WHERE STATUS = @STATUS";
91
        public async Task<IEnumerable<ConvertDoc>> GetConvertDocAsync(int status)
92
        {
93
            string SQL = "SELECT * FROM CONVERTER_DOC WHERE STATUS = @STATUS";
98 94

  
99
			var parameters = new DynamicParameters();
100
			parameters.Add("@STATUS", status, System.Data.DbType.String);
95
            var parameters = new DynamicParameters();
96
            parameters.Add("@STATUS", status, System.Data.DbType.String);
101 97

  
102
			var convertItems = await Connection.QueryAsync<Markus.Service.DataBase.Entities.ConvertDoc>(SQL, parameters);
98
            var convertItems = await Connection.QueryAsync<Markus.Service.DataBase.Entities.ConvertDoc>(SQL, parameters);
103 99

  
104
			using (PROPERTIESRepository repository = new PROPERTIESRepository(connectionString))
105
			{
100
            using (PROPERTIESRepository repository = new PROPERTIESRepository(connectionString))
101
            {
106 102
                foreach (var items in convertItems.GroupBy(x => x.PROJECT_NO))
107
				{
108
					var propeties = await repository.GetFirstAsync(items.Key, PropertiesTypeDefine.TILE_SOURCE_STORAGE);
103
                {
104
                    var propeties = await repository.GetFirstAsync(items.Key, PropertiesTypeDefine.TILE_SOURCE_STORAGE);
105

  
106
                    if (propeties != null)
107
                    {
108
                        foreach (var item in items)
109
                        {
110
                            item.ConvertPath = CreateConvertPath.Get(propeties.VALUE, item.PROJECT_NO, item.DOCUMENT_ID);
111

  
112
                        }
113
                    }
114
                    else
115
                    {
116
                        throw new Exception($"Get {items.Key} is {PropertiesTypeDefine.TILE_SOURCE_STORAGE} null Error");
117
                    }
118
                }
119
            }
109 120

  
110
					if (propeties != null)
111
					{
112
						foreach (var item in items)
113
						{
114
							item.ConvertPath = CreateConvertPath.Get(propeties.VALUE, item.PROJECT_NO, item.DOCUMENT_ID);
121
            return convertItems;
115 122

  
116
						}
117
					}
118
					else
119
					{
120
						throw new Exception($"Get {items.Key} is {PropertiesTypeDefine.TILE_SOURCE_STORAGE} null Error");
121
					}
122
				}
123
			}
123
        }
124 124

  
125
			return convertItems;
125
        /// <summary>
126
        /// 
127
        /// </summary>
128
        /// <param name="TakeCount">-1??? ???</param>
129
        /// <returns></returns>
130
        public async Task<List<ConvertDoc>> GetConvertingItemAsync(int TakeCount = -1)
131
        {
132
            List<ConvertDoc> list = null;
126 133

  
127
		}
134
            var parameters = new DynamicParameters();
135
            parameters.Add("@P_TakeCount", TakeCount, DbType.Int32);
128 136

  
129
		/// <summary>
130
		/// 
131
		/// </summary>
132
		/// <param name="TakeCount">-1??? ???</param>
133
		/// <returns></returns>
134
		public async Task<List<ConvertDoc>> GetConvertingItemAsync(int TakeCount = -1)
135
		{
136
			List<ConvertDoc> list = null;
137
			
138
			var parameters = new DynamicParameters();
139
			parameters.Add("@P_TakeCount", TakeCount, DbType.Int32);
137
            var result = await Connection.QueryAsync<ConvertDoc>("CONVERT_SELECT_CONVERTINGITEMS", parameters, commandType: CommandType.StoredProcedure);
140 138

  
141
			var result = await Connection.QueryAsync<ConvertDoc>("dbo.CONVERT_SELECT_CONVERTINGITEMS", parameters, commandType: CommandType.StoredProcedure);
142
		
143
			if (result == null) return null;
144
			list = result.ToList();
139
            if (result == null) return null;
140
            list = result.ToList();
145 141

  
146
			return list;
147
		}
142
            return list;
143
        }
148 144

  
149 145

  
150
		public async Task<int> SetCleanUpItemAsync(string convertID, int ReConvert)
151
		{
152
			int result = -1;
153
			var tran = Connection.BeginTransaction();
146
        public async Task<int> SetCleanUpItemAsync(string convertID, int ReConvert)
147
        {
148
            int result = -1;
149
            var tran = Connection.BeginTransaction();
154 150

  
155
			var parameters = new DynamicParameters();
156
			parameters.Add("@P_ConverterDocID", convertID, DbType.String);
157
			parameters.Add("@P_ReConvert", ReConvert, DbType.Int32);
158
			parameters.Add("@return", ReConvert, DbType.Int32, ParameterDirection.ReturnValue);
151
            var parameters = new DynamicParameters();
152
            parameters.Add("@P_ConverterDocID", convertID, DbType.String);
153
            parameters.Add("@P_ReConvert", ReConvert, DbType.Int32);
154
            parameters.Add("@return", ReConvert, DbType.Int32, ParameterDirection.ReturnValue);
159 155

  
160 156

  
161
			await Connection.ExecuteAsync("dbo.CONVERT_UPDATE_CLEANUP_ITEM", parameters,tran, commandType: CommandType.StoredProcedure);
157
            await Connection.ExecuteAsync("CONVERT_UPDATE_CLEANUP_ITEM", parameters, tran, commandType: CommandType.StoredProcedure);
162 158

  
163
			result = parameters.Get<int>("@return");
164
			tran.Commit();
159
            result = parameters.Get<int>("@return");
160
            tran.Commit();
165 161

  
166
			return result;
167
		}
162
            return result;
163
        }
168 164

  
169 165

  
170
		public async Task<string> CreateAsync(string PROJECT_NO,string DOCUMENT_URL,string DOCUMENT_ID)
171
		{
172
			string result = null;
166
        public async Task<string> CreateAsync(string PROJECT_NO, string DOCUMENT_URL, string DOCUMENT_ID)
167
        {
168
            string result = null;
173 169
            try
174
			{
175
				var tran = Connection.BeginTransaction();
176

  
177
				var parameters = new DynamicParameters();
178
				parameters.Add("@PROJECT_NO", PROJECT_NO, DbType.String);
179
				parameters.Add("@DOCUMENT_URL", DOCUMENT_URL, DbType.String);
180
				parameters.Add("@DOCUMENT_ID", DOCUMENT_ID, DbType.String);
181
				parameters.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output,size:50);
182

  
183
				await Connection.ExecuteAsync("dbo.CONVERT_INSERT_CONVERTDOC", parameters,transaction: tran, commandType: CommandType.StoredProcedure);
184
				
185
				result = parameters.Get<string>("@NewID");
186
				tran.Commit();
187
			}
188
			catch (Exception)
170
            {
171
                var tran = Connection.BeginTransaction();
172

  
173
                var parameters = new DynamicParameters();
174
                parameters.Add("@PROJECT_NO", PROJECT_NO, DbType.String);
175
                parameters.Add("@DOCUMENT_URL", DOCUMENT_URL, DbType.String);
176
                parameters.Add("@DOCUMENT_ID", DOCUMENT_ID, DbType.String);
177
                parameters.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);
178

  
179
                await Connection.ExecuteAsync("CONVERT_INSERT_CONVERTDOC", parameters, transaction: tran, commandType: CommandType.StoredProcedure);
180

  
181
                result = parameters.Get<string>("@NewID");
182
                tran.Commit();
183
            }
184
            catch (Exception)
189 185
            {
190 186

  
191 187
                throw;
192 188
            }
193
			return result;
194
		}
195

  
196
		public async Task<int> UpdateStatusAsync(string ServiceID, string ConvertDocID, int status,int totalPage,int currentPage,string exception)
197
		{
198
			int result = 0;
199
		
200
			var tran = Connection.BeginTransaction();
201

  
202
			var parameters = new DynamicParameters();
203
			parameters.Add("@SERVICE_ID", ServiceID, DbType.String);
204
			parameters.Add("@ID", ConvertDocID, DbType.String);
205
			parameters.Add("@STATUS", status, DbType.String);
206
			parameters.Add("@TOTAL_PAGE", totalPage, DbType.Int32);
207
			parameters.Add("@CURRENT_PAGE", currentPage, DbType.Int32);
208
			parameters.Add("@EXCEPTION", exception, DbType.String);
209
				
210
			result = await  Connection.ExecuteAsync("dbo.CONVERT_UPDATE_STATUS", parameters, transaction: tran, commandType: CommandType.StoredProcedure);
211
			tran.Commit();
212
			return result;
213
		}
214

  
215
	}
189
            return result;
190
        }
191

  
192
        public async Task<int> UpdateStatusAsync(string ServiceID, string ConvertDocID, int status, int totalPage, int currentPage, string exception)
193
        {
194
            int result = 0;
195

  
196
            var tran = Connection.BeginTransaction();
197

  
198
            var parameters = new DynamicParameters();
199
            parameters.Add("@SERVICE_ID", ServiceID, DbType.String);
200
            parameters.Add("@ID", ConvertDocID, DbType.String);
201
            parameters.Add("@STATUS", status, DbType.String);
202
            parameters.Add("@TOTAL_PAGE", totalPage, DbType.Int32);
203
            parameters.Add("@CURRENT_PAGE", currentPage, DbType.Int32);
204
            parameters.Add("@EXCEPTION", exception, DbType.String);
205

  
206
            result = await Connection.ExecuteAsync("CONVERT_UPDATE_STATUS", parameters, transaction: tran, commandType: CommandType.StoredProcedure);
207
            tran.Commit();
208
            return result;
209
        }
210

  
211
    }
216 212
}
217 213

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/DOCINFORepository.cs
14 14
*/
15 15
namespace Markus.Service.DataBase.Repositories
16 16
{
17
	public class DOCINFORepository: BaseRepository, IDOCINFORepository
18
	{
19
		public DOCINFORepository(string connectionString) : base(connectionString)
17
    public class DOCINFORepository : BaseRepository, IDOCINFORepository
18
    {
19
        public DOCINFORepository(string connectionString) : base(connectionString)
20 20
        {
21 21

  
22 22
        }
23
		
24
		public async Task<string> CreateAsync(string convertDocID,int PageCount)
25
		{
26
			string result = "";
27
			var tran = Connection.BeginTransaction();
28

  
29
			var parameters = new DynamicParameters();
30
			parameters.Add("@CONVERT_ID", convertDocID, DbType.String);
31
			parameters.Add("@PAGE_COUNT", PageCount, DbType.Int32);
32
			parameters.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);
33
			parameters.Add("@ErrorCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
34
			parameters.Add("@Error", dbType: DbType.String, direction: ParameterDirection.Output, size: 500);
35

  
36
			await Connection.ExecuteAsync("dbo.CONVERT_INSERT_DOCINFO", parameters, tran, commandType: CommandType.StoredProcedure);
37
			
38
			var errorCode = parameters.Get<int>("@ErrorCode");
39
			var error = parameters.Get<string>("@Error");
40

  
41
			if (errorCode > 0)
42
			{
43
				tran.Rollback();
44
				throw new Exception(error);
45
			}
46
			else
47
			{
48
				result = parameters.Get<string>("@NewID");
49
				tran.Commit();
50
			}
51
			
52
			return result;
53
		}
54
	}
23

  
24
        public async Task<string> CreateAsync(string convertDocID, int PageCount)
25
        {
26
            string result = "";
27
            var tran = Connection.BeginTransaction();
28

  
29
            var parameters = new DynamicParameters();
30
            parameters.Add("@CONVERT_ID", convertDocID, DbType.String);
31
            parameters.Add("@PAGE_COUNT", PageCount, DbType.Int32);
32
            parameters.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);
33
            parameters.Add("@ErrorCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
34
            parameters.Add("@Error", dbType: DbType.String, direction: ParameterDirection.Output, size: 500);
35

  
36
            await Connection.ExecuteAsync("CONVERT_INSERT_DOCINFO", parameters, tran, commandType: CommandType.StoredProcedure);
37

  
38
            var errorCode = parameters.Get<int>("@ErrorCode");
39
            var error = parameters.Get<string>("@Error");
40

  
41
            if (errorCode > 0)
42
            {
43
                tran.Rollback();
44
                throw new Exception(error);
45
            }
46
            else
47
            {
48
                result = parameters.Get<string>("@NewID");
49
                tran.Commit();
50
            }
51

  
52
            return result;
53
        }
54
    }
55 55
}
56 56

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/DOCPAGERepository.cs
31 31
				var tran = Connection.BeginTransaction();
32 32
				var parameter = new DynamicParameters();
33 33

  
34
				parameter.AddTable("@DOCPAGES", "dbo.TYPE_INSERT_DOCPAGE", docPages);
34
				parameter.AddTable("@DOCPAGES", "TYPE_INSERT_DOCPAGE", docPages);
35 35

  
36
				var id = await Connection.ExecuteAsync("dbo.CONVERT_INSERT_DOCPAGE", parameter, tran, commandType: CommandType.StoredProcedure);
36
				var id = await Connection.ExecuteAsync("CONVERT_INSERT_DOCPAGE", parameter, tran, commandType: CommandType.StoredProcedure);
37 37

  
38 38
				tran.Commit();
39 39

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/DOCUMENTITEMRepository.cs
7 7
using Dapper;
8 8
using Markus.Service.DataBase.Entities;
9 9
using Markus.Service.DataBase.RepositoriesInterfaces;
10
/*
11
---------------- IMPORTANT ----------------
12
- You need to add the System.Data.SqlClient package. You can download it from https://www.nuget.org/packages/System.Data.SqlClient
13
- You need to add the Dapper package. You can download it from https://www.nuget.org/packages/Dapper
14
*/
10

  
15 11
namespace Markus.Service.DataBase.Repositories
16 12
{
17
	public class DOCUMENTITEMRepository: BaseRepository, IDOCUMENTITEMRepository
18
	{
19
		public DOCUMENTITEMRepository(string ConnectionString) : base(ConnectionString)
13
    public class DOCUMENTITEMRepository : BaseRepository, IDOCUMENTITEMRepository
14
    {
15
        public DOCUMENTITEMRepository(string ConnectionString) : base(ConnectionString)
20 16
        {
21 17

  
22 18
        }
23 19

  
24 20

  
25
		public async Task<DOCUMENTITEM> GetFirstAsync(string projectNo,string documentID)
26
		{
27
			string SQL = "SELECT * FROM dbo.CDOCUMENT_ITEM WHERE PROJECT_NO = @PROJECT_NO AND DOCUMENT_ID = @DOCUMENT_ID";
28
		
29
			var parameter = new DynamicParameters();
30
			parameter.Add("@PROJECT_NO", projectNo, System.Data.DbType.String);
31
			parameter.Add("@DOCUMENT_ID", documentID, System.Data.DbType.String);
32
		
33
			return await Connection.QueryFirstOrDefaultAsync<DOCUMENTITEM>(SQL,parameter);
34
		}
21
        public async Task<DOCUMENTITEM> GetFirstAsync(string projectNo, string documentID)
22
        {
23
            string SQL = "SELECT * FROM CDOCUMENT_ITEM WHERE PROJECT_NO = @PROJECT_NO AND DOCUMENT_ID = @DOCUMENT_ID";
35 24

  
36
		/// <summary>
37
		/// 
38
		/// </summary>
39
		/// <param name="documentItem"></param>
40
		/// <returns>Create or Update id</returns>
41
		public async Task<string> CreateOrUPdateAsync(DOCUMENTITEM documentItem)
42
		{
43
			string result = null;
25
            var parameter = new DynamicParameters();
26
            parameter.Add("@PROJECT_NO", projectNo, System.Data.DbType.String);
27
            parameter.Add("@DOCUMENT_ID", documentID, System.Data.DbType.String);
44 28

  
45
			var tran = Connection.BeginTransaction();
46
			var parameter = new DynamicParameters();
29
            return await Connection.QueryFirstOrDefaultAsync<DOCUMENTITEM>(SQL, parameter);
30
        }
47 31

  
48
			parameter.Add("@REVISION", documentItem.REVISION, DbType.String);
49
			parameter.Add("@DOCUMENT_NO", documentItem.DOCUMENT_NO, DbType.String);
50
			parameter.Add("@DOCUMENT_NAME", documentItem.DOCUMENT_NAME, DbType.String);
51
			parameter.Add("@ORIGINAL_FILE", documentItem.ORIGINAL_FILE, DbType.String);
52
			parameter.Add("@DOCUMENT_ID", documentItem.DOCUMENT_ID, DbType.String);
53
			parameter.Add("@PROJECT_NO", documentItem.PROJECT_NO, DbType.String);
54
			parameter.Add("@Link", documentItem.PROJECT_NO, DbType.String);
55
			parameter.Add("@RESULT_FILE", documentItem.RESULT_FILE, DbType.String);
56
			parameter.Add("@RESULT", documentItem.RESULT, DbType.String);
57
			parameter.Add("@GROUP_NO", documentItem.GROUP_NO, DbType.String);
58
			parameter.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);
32
        /// <summary>
33
        /// 
34
        /// </summary>
35
        /// <param name="documentItem"></param>
36
        /// <returns>Create or Update id</returns>
37
        public async Task<string> CreateOrUPdateAsync(DOCUMENTITEM documentItem)
38
        {
39
            string result = null;
59 40

  
60
			await Connection.ExecuteAsync("dbo.CONVERT_INSERT_DOCUMENTITEM", parameter, tran, commandType: CommandType.StoredProcedure);
41
            var tran = Connection.BeginTransaction();
42
            var parameter = new DynamicParameters();
61 43

  
62
			result = parameter.Get<string>("@NewID");
44
            parameter.Add("@REVISION", documentItem.REVISION, DbType.String);
45
            parameter.Add("@DOCUMENT_NO", documentItem.DOCUMENT_NO, DbType.String);
46
            parameter.Add("@DOCUMENT_NAME", documentItem.DOCUMENT_NAME, DbType.String);
47
            parameter.Add("@ORIGINAL_FILE", documentItem.ORIGINAL_FILE, DbType.String);
48
            parameter.Add("@DOCUMENT_ID", documentItem.DOCUMENT_ID, DbType.String);
49
            parameter.Add("@PROJECT_NO", documentItem.PROJECT_NO, DbType.String);
50
            parameter.Add("@Link", documentItem.PROJECT_NO, DbType.String);
51
            parameter.Add("@RESULT_FILE", documentItem.RESULT_FILE, DbType.String);
52
            parameter.Add("@RESULT", documentItem.RESULT, DbType.String);
53
            parameter.Add("@GROUP_NO", documentItem.GROUP_NO, DbType.String);
54
            parameter.Add("@NewID", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);
63 55

  
64
			tran.Commit();
56
            await Connection.ExecuteAsync("CONVERT_INSERT_DOCUMENTITEM", parameter, tran, commandType: CommandType.StoredProcedure);
65 57

  
66
			return result;
67
		}
68
	}
58
            result = parameter.Get<string>("@NewID");
59

  
60
            tran.Commit();
61

  
62
            return result;
63
        }
64
    }
69 65
}
70 66

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/PROPERTIESRepository.cs
14 14
*/
15 15
namespace Markus.Service.DataBase.Repositories
16 16
{
17
	public class PROPERTIESRepository : BaseRepository, IPROPERTIESRepository
18
	{
19
		public PROPERTIESRepository(string ConnectionString) : base(ConnectionString)
17
    public class PROPERTIESRepository : BaseRepository, IPROPERTIESRepository
18
    {
19
        public PROPERTIESRepository(string ConnectionString) : base(ConnectionString)
20 20
        {
21 21

  
22 22
        }
23 23

  
24
		public async Task<List<PROPERTIES>> GetAsync(string PROPERTY,string TYPE)
25
		{
26
			List<PROPERTIES> list = null;
27
			string SQL = "SELECT ID, TYPE, PROPERTY, VALUE FROM PROPERTIES WHERE ";
28

  
29
			var parameters = new DynamicParameters();
30
			parameters.Add("@PROPERTY", PROPERTY, System.Data.DbType.String);
31
			parameters.Add("@TYPE", TYPE, System.Data.DbType.String);
32
			
33
			var result = await Connection.QueryAsync<PROPERTIES>(SQL, parameters);
34

  
35
			if (result == null) return null;
36
			list = result.ToList();
37
			return list;
38
		}
39
		public async Task<PROPERTIES> GetFirstAsync(string PROPERTY, string TYPE)
40
		{
41
			string SQL = "SELECT ID, TYPE, PROPERTY, VALUE FROM PROPERTIES WHERE PROPERTY = @PROPERTY AND TYPE = @TYPE";
42

  
43
			var parameters = new DynamicParameters();
44
			parameters.Add("@PROPERTY", PROPERTY, System.Data.DbType.String);
45
			parameters.Add("@TYPE", TYPE, System.Data.DbType.String);
46

  
47
			return await Connection.QueryFirstOrDefaultAsync<PROPERTIES>(SQL, parameters);
48
		}
49
	}
24
        public async Task<List<PROPERTIES>> GetAsync(string PROPERTY, string TYPE)
25
        {
26
            List<PROPERTIES> list = null;
27
            string SQL = "SELECT ID, TYPE, PROPERTY, VALUE FROM PROPERTIES WHERE ";
28

  
29
            var parameters = new DynamicParameters();
30
            parameters.Add("@PROPERTY", PROPERTY, System.Data.DbType.String);
31
            parameters.Add("@TYPE", TYPE, System.Data.DbType.String);
32

  
33
            var result = await Connection.QueryAsync<PROPERTIES>(SQL, parameters);
34

  
35
            if (result == null) return null;
36
            list = result.ToList();
37
            return list;
38
        }
39
        public async Task<PROPERTIES> GetFirstAsync(string PROPERTY, string TYPE)
40
        {
41
            string SQL = "SELECT ID, TYPE, PROPERTY, VALUE FROM PROPERTIES WHERE PROPERTY = @PROPERTY AND TYPE = @TYPE";
42

  
43
            var parameters = new DynamicParameters();
44
            parameters.Add("@PROPERTY", PROPERTY, System.Data.DbType.String);
45
            parameters.Add("@TYPE", TYPE, System.Data.DbType.String);
46

  
47
            return await Connection.QueryFirstOrDefaultAsync<PROPERTIES>(SQL, parameters);
48
        }
49
    }
50 50
}
51 51

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/Repositories/SERVICEPROPERTIESRepository.cs
14 14
*/
15 15
namespace Markus.Service.DataBase.Repositories
16 16
{
17
	public class SERVICEPROPERTIESRepository : BaseRepository, ISERVICEPROPERTIESRepository
18
	{
19
		public SERVICEPROPERTIESRepository(string ConnectionString) : base(ConnectionString)
20
		{
21
		}
17
    public class SERVICEPROPERTIESRepository : BaseRepository, ISERVICEPROPERTIESRepository
18
    {
19
        public SERVICEPROPERTIESRepository(string ConnectionString) : base(ConnectionString)
20
        {
21
        }
22 22

  
23 23

  
24
		public async Task<List<SERVICEPROPERTIES>> GetAsync(string ServiceID = null)
25
		{
26
			List<SERVICEPROPERTIES> list = null;
24
        public async Task<List<SERVICEPROPERTIES>> GetAsync(string ServiceID)
25
        {
26
            List<SERVICEPROPERTIES> list = null;
27 27

  
28
			string sql = "SELECT * FROM DBO.SERVICE_PROPERTIES";
28
            string sql = "SELECT * FROM SERVICE_PROPERTIES";
29 29

  
30
			var result = await Connection.QueryAsync<SERVICEPROPERTIES>(sql,null, commandType: CommandType.TableDirect);
31
			if (result == null) return null;
32
			list = result.ToList();
30
            var result = await Connection.QueryAsync<SERVICEPROPERTIES>(sql, null, commandType: CommandType.TableDirect);
31
            if (result == null) return null;
32
            list = result.ToList();
33 33

  
34
			return list;
35
		}
34
            return list;
35
        }
36 36

  
37
		public async Task<SERVICEPROPERTIES> GetSingleAsync(string ServiceID = null)
38
		{
39
			string sql = "SELECT * FROM DBO.SERVICE_PROPERTIES WHERE ID = @SERVICE_ID";
37
        public async Task<SERVICEPROPERTIES> GetSingleAsync(string ServiceID)
38
        {
39
            string sql = "SELECT * FROM SERVICE_PROPERTIES WHERE ID = @SERVICE_ID";
40 40

  
41
			var parameter = new DynamicParameters();
42
			parameter.Add("@SERVICE_ID", ServiceID, DbType.String);
41
            var parameter = new DynamicParameters();
42
            parameter.Add("@SERVICE_ID", ServiceID, DbType.String);
43 43

  
44
			var result = await Connection.QuerySingleAsync<SERVICEPROPERTIES>(sql, parameter);
44
            var result = await Connection.QuerySingleAsync<SERVICEPROPERTIES>(sql, parameter);
45 45

  
46
			if (result == null)
47
			{
48
				return null;
49
			}
50
			else
46
            if (result == null)
51 47
            {
52
				return result;
48
                return null;
53 49
            }
54
		}
55
	}
50
            else
51
            {
52
                return result;
53
            }
54
        }
55
    }
56 56
}
57 57

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/RepositoriesInterfaces/IConvertDocRepository.cs
1
using System;
2
using System.Threading.Tasks;
1
using Markus.Service.DataBase.Entities;
3 2
using System.Collections.Generic;
4
using Markus.Service.DataBase.Entities;
3
using System.Threading.Tasks;
4

  
5 5
namespace Markus.Service.DataBase.RepositoriesInterfaces
6 6
{
7
	public interface IConvertDocRepository
8
	{
9
		Task<List<ConvertDoc>> GetWaitorErrorAsync(int TakeCount);
10
		Task<int> UpdateStatusAsync(string ServiceID, string ConvertDocID, int status, int totalPage, int currentPage, string exception);
11

  
12
		Task<string> CreateAsync(string PROJECT_NO, string DOCUMENT_URL, string DOCUMENT_ID);
13

  
14
		Task<IEnumerable<ConvertDoc>> GetConvertDocAsync(int status);
15
		Task<ConvertDoc> GetConvertDocSingleAsync(string ProjectNo = null, int Status = -1, string DocumentID = null, string ConvertID = null);
16
	}
17
}
18

  
7
    public interface IConvertDocRepository
8
    {
9
        Task<string> CreateAsync(string PROJECT_NO, string DOCUMENT_URL, string DOCUMENT_ID);
10
        Task<IEnumerable<ConvertDoc>> GetConvertDocAsync(int status);
11
        Task<ConvertDoc> GetConvertDocSingleAsync(string ProjectNo = null, int Status = -1, string DocumentID = null, string ConvertID = null);
12
        Task<List<ConvertDoc>> GetConvertingItemAsync(int TakeCount = -1);
13
        Task<List<ConvertDoc>> GetWaitorErrorAsync(int TakeCount);
14
        Task<int> SetCleanUpItemAsync(string convertID, int ReConvert);
15
        Task<int> UpdateStatusAsync(string ServiceID, string ConvertDocID, int status, int totalPage, int currentPage, string exception);
16
    }
17
}
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/RepositoriesInterfaces/IDOCUMENTITEMRepository.cs
6 6
{
7 7
	public interface IDOCUMENTITEMRepository
8 8
	{
9
		Task<DOCUMENTITEM> GetFirstAsync(string projectNo, string documentID);
10 9
		Task<string> CreateOrUPdateAsync(DOCUMENTITEM documentItem);
10
		Task<DOCUMENTITEM> GetFirstAsync(string projectNo, string documentID);
11 11
	}
12 12
}
13 13

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/RepositoriesInterfaces/IPROPERTIESRepository.cs
7 7
	public interface IPROPERTIESRepository
8 8
	{
9 9
		Task<List<PROPERTIES>> GetAsync(string PROPERTY, string TYPE);
10
		Task<PROPERTIES> GetFirstAsync(string PROPERTY, string TYPE);
10 11
	}
11 12
}
12 13

  
ConvertService/ServiceBase/Markus.Service.DataBase.Dapper/RepositoriesInterfaces/ISERVICEPROPERTIESRepository.cs
7 7
	public interface ISERVICEPROPERTIESRepository
8 8
	{
9 9
		Task<List<SERVICEPROPERTIES>> GetAsync(string ServiceID);
10
		Task<SERVICEPROPERTIES> GetSingleAsync(string ServiceID);
10 11
	}
11 12
}
12 13

  
ConvertService/ServiceBase/Markus.Service.Extensions/Markus.Service.Extensions.csproj
121 121
  </ItemGroup>
122 122
  <ItemGroup>
123 123
    <PackageReference Include="Microsoft.CSharp">
124
      <Version>4.5.0</Version>
124
      <Version>4.7.0</Version>
125 125
    </PackageReference>
126 126
    <PackageReference Include="Salaros.ConfigParser">
127 127
      <Version>0.3.8</Version>
ConvertService/ServiceBase/Markus.Service.Monitor/Markus.Service.MonitorService.csproj
166 166
  </ItemGroup>
167 167
  <ItemGroup>
168 168
    <PackageReference Include="log4net">
169
      <Version>2.0.8</Version>
169
      <Version>2.0.15</Version>
170 170
    </PackageReference>
171 171
    <PackageReference Include="Microsoft.CSharp">
172
      <Version>4.5.0</Version>
172
      <Version>4.7.0</Version>
173 173
    </PackageReference>
174 174
    <PackageReference Include="Salaros.ConfigParser">
175 175
      <Version>0.3.8</Version>
ConvertService/ServiceBase/Markus.Service.Station/Markus.Service.Station.csproj
238 238
  </ItemGroup>
239 239
  <ItemGroup>
240 240
    <PackageReference Include="log4net">
241
      <Version>2.0.8</Version>
241
      <Version>2.0.15</Version>
242 242
    </PackageReference>
243 243
    <PackageReference Include="Markus.Message">
244 244
      <Version>2.0.0</Version>
245 245
    </PackageReference>
246 246
    <PackageReference Include="Microsoft.CSharp">
247
      <Version>4.5.0</Version>
247
      <Version>4.7.0</Version>
248 248
    </PackageReference>
249 249
    <PackageReference Include="Newtonsoft.Json">
250
      <Version>12.0.2</Version>
250
      <Version>13.0.2</Version>
251 251
    </PackageReference>
252 252
    <PackageReference Include="Obfuscar">
253
      <Version>2.2.19</Version>
253
      <Version>2.2.37</Version>
254 254
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
255 255
      <PrivateAssets>all</PrivateAssets>
256 256
    </PackageReference>
ConvertService/ServiceBase/PlugInTest/PlugInTest.csproj
113 113
  </ItemGroup>
114 114
  <ItemGroup>
115 115
    <PackageReference Include="log4net">
116
      <Version>2.0.8</Version>
116
      <Version>2.0.15</Version>
117 117
    </PackageReference>
118 118
    <PackageReference Include="Microsoft.CSharp">
119
      <Version>4.5.0</Version>
119
      <Version>4.7.0</Version>
120 120
    </PackageReference>
121 121
    <PackageReference Include="Salaros.ConfigParser">
122 122
      <Version>0.3.8</Version>
ConvertService/ServiceBase/StationRestTest/Web.config
1
<?xml version="1.0"?>
1
<?xml version="1.0"?>
2 2
<!--
3 3
  ASP.NET 응용 프로그램을 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.
4 4
  https://go.microsoft.com/fwlink/?LinkId=169433
......
13 13
      </system.Web>
14 14
  -->
15 15
  <system.web>
16
    <compilation debug="true" targetFramework="4.6.1"/>
17
    <httpRuntime targetFramework="4.5"/>
16
    <compilation debug="true" targetFramework="4.6.1" />
17
    <httpRuntime targetFramework="4.5" />
18 18
  </system.web>
19 19
  <system.codedom>
20 20
    <compilers>
21
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
22
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
21
      <compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
22
      <compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
23 23
    </compilers>
24 24
  </system.codedom>
25 25
</configuration>
ConvertService/ServiceBase/StationRestTest/packages.config
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<packages>
3
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net45" requireReinstallation="true" />
3
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net461" />
4 4
</packages>
ConvertService/ServiceBase/UploadFonts/Content/bootstrap-theme.css
1
/*!
2
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
3
 * Copyright 2011-2019 Twitter, Inc.
4
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
 */
6
.btn-default,
7
.btn-primary,
8
.btn-success,
9
.btn-info,
10
.btn-warning,
11
.btn-danger {
12
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
13
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
14
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
15
}
16
.btn-default:active,
17
.btn-primary:active,
18
.btn-success:active,
19
.btn-info:active,
20
.btn-warning:active,
21
.btn-danger:active,
22
.btn-default.active,
23
.btn-primary.active,
24
.btn-success.active,
25
.btn-info.active,
26
.btn-warning.active,
27
.btn-danger.active {
28
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
29
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
30
}
31
.btn-default.disabled,
32
.btn-primary.disabled,
33
.btn-success.disabled,
34
.btn-info.disabled,
35
.btn-warning.disabled,
36
.btn-danger.disabled,
37
.btn-default[disabled],
38
.btn-primary[disabled],
39
.btn-success[disabled],
40
.btn-info[disabled],
41
.btn-warning[disabled],
42
.btn-danger[disabled],
43
fieldset[disabled] .btn-default,
44
fieldset[disabled] .btn-primary,
45
fieldset[disabled] .btn-success,
46
fieldset[disabled] .btn-info,
47
fieldset[disabled] .btn-warning,
48
fieldset[disabled] .btn-danger {
49
  -webkit-box-shadow: none;
50
  box-shadow: none;
51
}
52
.btn-default .badge,
53
.btn-primary .badge,
54
.btn-success .badge,
55
.btn-info .badge,
56
.btn-warning .badge,
57
.btn-danger .badge {
58
  text-shadow: none;
59
}
60
.btn:active,
61
.btn.active {
62
  background-image: none;
63
}
64
.btn-default {
65
  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
66
  background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
67
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
68
  background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
69
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
70
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
71
  background-repeat: repeat-x;
72
  border-color: #dbdbdb;
73
  text-shadow: 0 1px 0 #fff;
74
  border-color: #ccc;
75
}
76
.btn-default:hover,
77
.btn-default:focus {
78
  background-color: #e0e0e0;
79
  background-position: 0 -15px;
80
}
81
.btn-default:active,
82
.btn-default.active {
83
  background-color: #e0e0e0;
84
  border-color: #dbdbdb;
85
}
86
.btn-default.disabled,
87
.btn-default[disabled],
88
fieldset[disabled] .btn-default,
89
.btn-default.disabled:hover,
90
.btn-default[disabled]:hover,
91
fieldset[disabled] .btn-default:hover,
92
.btn-default.disabled:focus,
93
.btn-default[disabled]:focus,
94
fieldset[disabled] .btn-default:focus,
95
.btn-default.disabled.focus,
96
.btn-default[disabled].focus,
97
fieldset[disabled] .btn-default.focus,
98
.btn-default.disabled:active,
99
.btn-default[disabled]:active,
100
fieldset[disabled] .btn-default:active,
101
.btn-default.disabled.active,
102
.btn-default[disabled].active,
103
fieldset[disabled] .btn-default.active {
104
  background-color: #e0e0e0;
105
  background-image: none;
106
}
107
.btn-primary {
108
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
109
  background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
110
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
111
  background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
112
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
113
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
114
  background-repeat: repeat-x;
115
  border-color: #245580;
116
}
117
.btn-primary:hover,
118
.btn-primary:focus {
119
  background-color: #265a88;
120
  background-position: 0 -15px;
121
}
122
.btn-primary:active,
123
.btn-primary.active {
124
  background-color: #265a88;
125
  border-color: #245580;
126
}
127
.btn-primary.disabled,
128
.btn-primary[disabled],
129
fieldset[disabled] .btn-primary,
130
.btn-primary.disabled:hover,
131
.btn-primary[disabled]:hover,
132
fieldset[disabled] .btn-primary:hover,
133
.btn-primary.disabled:focus,
134
.btn-primary[disabled]:focus,
135
fieldset[disabled] .btn-primary:focus,
136
.btn-primary.disabled.focus,
137
.btn-primary[disabled].focus,
138
fieldset[disabled] .btn-primary.focus,
139
.btn-primary.disabled:active,
140
.btn-primary[disabled]:active,
141
fieldset[disabled] .btn-primary:active,
142
.btn-primary.disabled.active,
143
.btn-primary[disabled].active,
144
fieldset[disabled] .btn-primary.active {
145
  background-color: #265a88;
146
  background-image: none;
147
}
148
.btn-success {
149
  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
150
  background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
151
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
152
  background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
153
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
154
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
155
  background-repeat: repeat-x;
156
  border-color: #3e8f3e;
157
}
158
.btn-success:hover,
159
.btn-success:focus {
160
  background-color: #419641;
161
  background-position: 0 -15px;
162
}
163
.btn-success:active,
164
.btn-success.active {
165
  background-color: #419641;
166
  border-color: #3e8f3e;
167
}
168
.btn-success.disabled,
169
.btn-success[disabled],
170
fieldset[disabled] .btn-success,
171
.btn-success.disabled:hover,
172
.btn-success[disabled]:hover,
173
fieldset[disabled] .btn-success:hover,
174
.btn-success.disabled:focus,
175
.btn-success[disabled]:focus,
176
fieldset[disabled] .btn-success:focus,
177
.btn-success.disabled.focus,
178
.btn-success[disabled].focus,
179
fieldset[disabled] .btn-success.focus,
180
.btn-success.disabled:active,
181
.btn-success[disabled]:active,
182
fieldset[disabled] .btn-success:active,
183
.btn-success.disabled.active,
184
.btn-success[disabled].active,
185
fieldset[disabled] .btn-success.active {
186
  background-color: #419641;
187
  background-image: none;
188
}
189
.btn-info {
190
  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
191
  background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
192
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
193
  background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
194
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
195
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
196
  background-repeat: repeat-x;
197
  border-color: #28a4c9;
198
}
199
.btn-info:hover,
200
.btn-info:focus {
201
  background-color: #2aabd2;
202
  background-position: 0 -15px;
203
}
204
.btn-info:active,
205
.btn-info.active {
206
  background-color: #2aabd2;
207
  border-color: #28a4c9;
208
}
209
.btn-info.disabled,
210
.btn-info[disabled],
211
fieldset[disabled] .btn-info,
212
.btn-info.disabled:hover,
213
.btn-info[disabled]:hover,
214
fieldset[disabled] .btn-info:hover,
215
.btn-info.disabled:focus,
216
.btn-info[disabled]:focus,
217
fieldset[disabled] .btn-info:focus,
218
.btn-info.disabled.focus,
219
.btn-info[disabled].focus,
220
fieldset[disabled] .btn-info.focus,
221
.btn-info.disabled:active,
222
.btn-info[disabled]:active,
223
fieldset[disabled] .btn-info:active,
224
.btn-info.disabled.active,
225
.btn-info[disabled].active,
226
fieldset[disabled] .btn-info.active {
227
  background-color: #2aabd2;
228
  background-image: none;
229
}
230
.btn-warning {
231
  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
232
  background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
233
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
234
  background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
235
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
236
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
237
  background-repeat: repeat-x;
238
  border-color: #e38d13;
239
}
240
.btn-warning:hover,
241
.btn-warning:focus {
242
  background-color: #eb9316;
243
  background-position: 0 -15px;
244
}
245
.btn-warning:active,
246
.btn-warning.active {
247
  background-color: #eb9316;
248
  border-color: #e38d13;
249
}
250
.btn-warning.disabled,
251
.btn-warning[disabled],
252
fieldset[disabled] .btn-warning,
253
.btn-warning.disabled:hover,
254
.btn-warning[disabled]:hover,
255
fieldset[disabled] .btn-warning:hover,
256
.btn-warning.disabled:focus,
257
.btn-warning[disabled]:focus,
258
fieldset[disabled] .btn-warning:focus,
259
.btn-warning.disabled.focus,
260
.btn-warning[disabled].focus,
261
fieldset[disabled] .btn-warning.focus,
262
.btn-warning.disabled:active,
263
.btn-warning[disabled]:active,
264
fieldset[disabled] .btn-warning:active,
265
.btn-warning.disabled.active,
266
.btn-warning[disabled].active,
267
fieldset[disabled] .btn-warning.active {
268
  background-color: #eb9316;
269
  background-image: none;
270
}
271
.btn-danger {
272
  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
273
  background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
274
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
275
  background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
276
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
277
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
278
  background-repeat: repeat-x;
279
  border-color: #b92c28;
280
}
281
.btn-danger:hover,
282
.btn-danger:focus {
283
  background-color: #c12e2a;
284
  background-position: 0 -15px;
285
}
286
.btn-danger:active,
287
.btn-danger.active {
288
  background-color: #c12e2a;
289
  border-color: #b92c28;
290
}
291
.btn-danger.disabled,
292
.btn-danger[disabled],
293
fieldset[disabled] .btn-danger,
294
.btn-danger.disabled:hover,
295
.btn-danger[disabled]:hover,
296
fieldset[disabled] .btn-danger:hover,
297
.btn-danger.disabled:focus,
298
.btn-danger[disabled]:focus,
299
fieldset[disabled] .btn-danger:focus,
300
.btn-danger.disabled.focus,
301
.btn-danger[disabled].focus,
302
fieldset[disabled] .btn-danger.focus,
303
.btn-danger.disabled:active,
304
.btn-danger[disabled]:active,
305
fieldset[disabled] .btn-danger:active,
306
.btn-danger.disabled.active,
307
.btn-danger[disabled].active,
308
fieldset[disabled] .btn-danger.active {
309
  background-color: #c12e2a;
310
  background-image: none;
311
}
312
.thumbnail,
313
.img-thumbnail {
314
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
315
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
316
}
317
.dropdown-menu > li > a:hover,
318
.dropdown-menu > li > a:focus {
319
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
320
  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
321
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
322
  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
323
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
324
  background-repeat: repeat-x;
325
  background-color: #e8e8e8;
326
}
327
.dropdown-menu > .active > a,
328
.dropdown-menu > .active > a:hover,
329
.dropdown-menu > .active > a:focus {
330
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
331
  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
332
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
333
  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
334
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
335
  background-repeat: repeat-x;
336
  background-color: #2e6da4;
337
}
338
.navbar-default {
339
  background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
340
  background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
341
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
342
  background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
343
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
344
  background-repeat: repeat-x;
345
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
346
  border-radius: 4px;
347
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
348
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
349
}
350
.navbar-default .navbar-nav > .open > a,
351
.navbar-default .navbar-nav > .active > a {
352
  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
353
  background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
354
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
355
  background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
356
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
357
  background-repeat: repeat-x;
358
  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
359
  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
360
}
361
.navbar-brand,
362
.navbar-nav > li > a {
363
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
364
}
365
.navbar-inverse {
366
  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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