프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / ConvertService / ServiceBase / Markus.Service.DataBase.Dapper / ConvertDatabase.cs @ 9e974b65

이력 | 보기 | 이력해설 | 다운로드 (2.59 KB)

1 a5e5fff6 taeseongkim

2
using System;
3
using System.Collections.Generic;
4
using System.IO;
5
using System.Linq;
6
using System.Text;
7
using System.Threading.Tasks;
8
using System.Data.SqlClient;
9
using Markus.Message;
10
using Markus.Service.DataBase.Repositories;
11
12
namespace Markus.Service.DataBase.Dapper
13
{
14
    public class ConvertDatabase : IDisposable
15
    {
16
        #region Constructor
17
18
        public readonly string ConnectionString;
19
20
        public ConvertDatabase(string connectionString)
21
        {
22
            try
23
            {
24
                ConnectionString = connectionString;
25
            }
26
            catch (Exception ex)
27
            {
28
                System.Diagnostics.Debug.WriteLine(ex.ToString());
29
                throw ex;
30
            }
31
        }
32
33
        public void Dispose()
34
        {
35
        }
36
37
38
        #endregion
39
40
        /// <summary>
41
        /// service에서 대기중이거나 오류인 아이템을 가져가서 컨버터 프로세스를 호출한다.
42
        /// 컨버터 상태가 에러이거나 2보다 작은 경우 
43
        /// UniqueKey는 각 데이터베이스의 문서 정보에서 유일한 키이며 컨버터저장에서 같은 폴더로의 저장을 방지 한다.
44
        /// 
45
        /// </summary>
46
        /// <param name="aliveItems"></param>
47
        /// <param name="TakeCount"></param>
48
        /// <returns></returns>
49
        public async Task<IEnumerable<DataBase.Entities.ConvertDoc>> GetWaitConvertItemsAsync(int TakeCount)
50
        {
51
            IEnumerable<DataBase.Entities.ConvertDoc> result = null;
52
53
            using (ConvertDocRepository repository = new ConvertDocRepository(ConnectionString))
54
            {
55
                result = await repository.GetWaitorErrorAsync(TakeCount);
56
            }
57
58
            return result;
59
        }
60
61
        /// <summary>
62
        /// 오류나 wait으로 남아 있는 데이터베이스의 Item을 StatusCodeType.None으로 복구
63
        /// </summary>
64
        /// <param name="convertID">StatusCodeType을 변경하고자 하는 ConvertItem의 ID</param>
65
        /// <param name="ReConvert">ReConvert가 2이면 다시 Convert를 시도 안하기 때문에 기존 값으로 유지 하고 계속 시도 할수 있도록 0을 주는 경우가 있다.</param>
66
        /// <returns></returns>
67
        /// 
68
        public async Task<int> SetCleanUpItemAsync(string convertID, int ReConvert)
69
        {
70
            int result = -1;
71
72
            using (ConvertDocRepository repository = new ConvertDocRepository(ConnectionString))
73
            {
74
                result = await repository.SetCleanUpItemAsync(convertID, ReConvert);
75
            }
76
77
            return result;
78
        }
79
80
    }
81
}
클립보드 이미지 추가 (최대 크기: 500 MB)