프로젝트

일반

사용자정보

통계
| 개정판:

hytos / ID2.Manager / ID2.Manager.Dapper / Repository / DocumentRepository.cs @ d0f44dbd

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

1 5898479a yoush97
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6
7
using ID2.Manager.Data.Models;
8
9 8e373ccf yoush97
using Dapper;
10
11 5898479a yoush97
namespace ID2.Manager.Dapper.Repository
12
{
13
    public class DocumentRepository : BaseRepository
14
    {
15
        public DocumentRepository(string connectionStr) : base(connectionStr) { }
16
17 36a31d25 yoush97
        public IEnumerable<Documents> GetAllDocuments(string projectCode, string personIncharge, string jobLevel, string documentNo, string isID2Work, string id2Status, string avevaStatus, string prodIsResult, string clientIsResult)
18 5898479a yoush97
        {
19 8e373ccf yoush97
            StringBuilder sbWhere = new StringBuilder();
20
            var parameters = new Dictionary<string, object>();
21 36a31d25 yoush97
            if (!string.IsNullOrEmpty(projectCode))
22 8e373ccf yoush97
            {
23 36a31d25 yoush97
                sbWhere.Append(" and doc.RefProjectCode=@RefProjectCode ");
24
                parameters.Add("RefProjectCode", projectCode);
25 8e373ccf yoush97
            }
26
            if (!string.IsNullOrEmpty(personIncharge))
27
            {
28
                sbWhere.Append(" and doc.PersonInCharge=@PersonInCharge ");
29
                parameters.Add("PersonInCharge", personIncharge);
30
            }
31 08ea0584 yoush97
            if (!string.IsNullOrEmpty(jobLevel))
32
            {
33
                sbWhere.Append(" and doc.JobLevel=@JobLevel ");
34
                parameters.Add("JobLevel", jobLevel);
35
            }
36 8e373ccf yoush97
            if (!string.IsNullOrEmpty(documentNo))
37
            {
38
                sbWhere.Append(" and doc.DocumentNo like '%' + @DocumentNo +'%' ");
39
                parameters.Add("DocumentNo", documentNo);
40
            }
41
42 08ea0584 yoush97
            if (!string.IsNullOrEmpty(isID2Work))
43
            {
44
                sbWhere.Append(" and doc.IsID2Work=@IsID2Work ");
45
                parameters.Add("IsID2Work", isID2Work);
46
            }
47
48
            if (!string.IsNullOrEmpty(id2Status))
49
            {
50
                sbWhere.Append(" and doc.ID2Status=@ID2Status ");
51
                parameters.Add("ID2Status", id2Status);
52
            }
53
            if (!string.IsNullOrEmpty(avevaStatus))
54
            {
55
                sbWhere.Append(" and doc.AVEVAStatus=@AVEVAStatus ");
56
                parameters.Add("AVEVAStatus", avevaStatus);
57
            }
58
59
            if (!string.IsNullOrEmpty(prodIsResult))
60
            {
61
                sbWhere.Append(" and doc.ProdIsResult=@ProdIsResult ");
62
                parameters.Add("ProdIsResult", prodIsResult);
63
            }
64
            if (!string.IsNullOrEmpty(clientIsResult))
65
            {
66
                sbWhere.Append(" and doc.ClientIsResult=@ClientIsResult ");
67
                parameters.Add("ClientIsResult", clientIsResult);
68
            }
69
70 5898479a yoush97
            string query = $@"
71 90ae20f6 yoush97
select   doc.*
72 5898479a yoush97
from     dbo.Documents doc
73 8e373ccf yoush97
where    doc.IsDeleted=0 {sbWhere}
74
order by doc.Seq;";
75
76
            if (parameters.Count > 0)
77
            {
78
                var dynamicParameters = new DynamicParameters(parameters);
79
                return Query<Documents>(query, dynamicParameters);
80
            }
81 5898479a yoush97
82
            return Query<Documents>(query);
83
        }
84 482f6326 yoush97
85 709c1971 yoush97
        public bool SetDocumentData(List<Documents> docList, List<Documents> delDocList)
86 482f6326 yoush97
        {
87
            bool isSuccess = false;
88
89
            try
90
            {
91 d2d4f84b yoush97
                using (var transaction = base.BeginTransaction())
92 482f6326 yoush97
                {
93 709c1971 yoush97
                    string query = string.Empty;
94
95
                    if (delDocList.Count > 0)
96 482f6326 yoush97
                    {
97 709c1971 yoush97
                        string docIDList = string.Join("','", delDocList.Where(x => !string.IsNullOrEmpty(x.DocID)).Select(x => x.DocID).ToList());
98
99
                        if (docIDList.Length > 0)
100
                        {
101 53fde692 yoush97
                            query = $@"
102 74aa670a yoush97
update dbo.Documents
103
set    IsDeleted=1
104
      ,DeletedDate=getdate()
105
where  [DocID] in ('{docIDList}');";
106 709c1971 yoush97
                            base.Execute(query, transaction);
107
                        }
108
                    }
109 482f6326 yoush97
110
                    foreach (Documents doc in docList)
111
                    {
112
                        if (string.IsNullOrEmpty(doc.DocID))
113
                        {
114
                            query = $@"
115
insert into dbo.Documents
116
(
117
     [DocID]
118
    ,[DocumentNo]
119
    ,[RevisonNo]
120 36a31d25 yoush97
    ,[RefProjectCode]
121 482f6326 yoush97
    ,[DocFilePath]
122
    ,[DocFileName]
123
    ,[Place]
124
    ,[JobLevel]
125
    ,[IsTypical]
126
    ,[PersonInCharge]
127
    ,[ToIsDiscussion]
128
    ,[ToRemarks]
129
    ,[ToCreator]
130
    ,[ToCapturePath]
131
    ,[ToIsMarkup]
132
    ,[FrReviewStatus]
133
    ,[FrRemarks]
134
    ,[FrCreator]
135
    ,[FrCapturePath]
136
    ,[FrIsMarkup]
137
    ,[IsID2Work]
138
    ,[ID2Connection]
139
    ,[ID2StartDate]
140
    ,[ID2EndDate]
141
    ,[ID2JobTime]
142
    ,[ID2Status]
143
    ,[ID2Issues]
144
    ,[AVEVAConnection]
145
    ,[AVEVAConvertDate]
146
    ,[AVEVAReviewDate]
147
    ,[AVEVAStatus]
148
    ,[AVEVAIssues]
149
    ,[ReviewFilePath]
150
    ,[ReviewFileName]
151
    ,[ProdReviewer]
152
    ,[ProdIsResult]
153
    ,[ProdRemarks]
154
    ,[ClientReviewer]
155
    ,[ClientIsResult]
156
    ,[ClientRemarks]
157
    ,[DTIsGateWay]
158
    ,[DTIsImport]
159
    ,[DTIsRegSystem]
160
    ,[DTRemarks]
161
)
162
values 
163
(
164
     lower(newid())
165
    ,@DocumentNo
166
    ,@RevisonNo
167 36a31d25 yoush97
    ,@RefProjectCode
168 482f6326 yoush97
    ,@DocFilePath
169
    ,@DocFileName
170
    ,@Place
171
    ,@JobLevel
172
    ,@IsTypical
173
    ,@PersonInCharge
174
    ,@ToIsDiscussion
175
    ,@ToRemarks
176
    ,@ToCreator
177
    ,@ToCapturePath
178
    ,@ToIsMarkup
179
    ,@FrReviewStatus
180
    ,@FrRemarks
181
    ,@FrCreator
182
    ,@FrCapturePath
183
    ,@FrIsMarkup
184
    ,@IsID2Work
185
    ,@ID2Connection
186
    ,@ID2StartDate
187
    ,@ID2EndDate
188
    ,@ID2JobTime
189
    ,@ID2Status
190
    ,@ID2Issues
191
    ,@AVEVAConnection
192
    ,@AVEVAConvertDate
193
    ,@AVEVAReviewDate
194
    ,@AVEVAStatus
195
    ,@AVEVAIssues
196
    ,@ReviewFilePath
197
    ,@ReviewFileName
198
    ,@ProdReviewer
199
    ,@ProdIsResult
200
    ,@ProdRemarks
201
    ,@ClientReviewer
202
    ,@ClientIsResult
203
    ,@ClientRemarks
204
    ,@DTIsGateWay
205
    ,@DTIsImport
206
    ,@DTIsRegSystem
207
    ,@DTRemarks
208 709c1971 yoush97
);";
209 482f6326 yoush97
                        }
210
                        else
211
                        {
212
                            query = $@"
213
update dbo.Documents
214 10f17080 yoush97
set    [DocumentNo]=@DocumentNo
215
      ,[RevisonNo]=@RevisonNo
216 36a31d25 yoush97
      ,[RefProjectCode]=@RefProjectCode
217 10f17080 yoush97
      ,[DocFilePath]=@DocFilePath
218
      ,[DocFileName]=@DocFileName
219
      ,[Place]=@Place
220
      ,[JobLevel]=@JobLevel
221
      ,[IsTypical]=@IsTypical
222
      ,[PersonInCharge]=@PersonInCharge
223
      ,[ModifiedDate]=getdate()
224
      ,[ToIsDiscussion]=@ToIsDiscussion
225
      ,[ToRemarks]=@ToRemarks
226
      ,[ToCreator]=@ToCreator
227
      ,[ToCapturePath]=@ToCapturePath
228
      ,[ToIsMarkup]=@ToIsMarkup
229
      ,[FrReviewStatus]=@FrReviewStatus
230
      ,[FrRemarks]=@FrRemarks
231
      ,[FrCreator]=@FrCreator
232
      ,[FrCapturePath]=@FrCapturePath
233
      ,[FrIsMarkup]=@FrIsMarkup
234
      ,[IsID2Work]=@IsID2Work
235
      ,[ID2Connection]=@ID2Connection
236
      ,[ID2StartDate]=@ID2StartDate
237
      ,[ID2EndDate]=@ID2EndDate
238
      ,[ID2JobTime]=@ID2JobTime
239
      ,[ID2Status]=@ID2Status
240
      ,[ID2Issues]=@ID2Issues
241
      ,[AVEVAConnection]=@AVEVAConnection
242
      ,[AVEVAConvertDate]=@AVEVAConvertDate
243
      ,[AVEVAReviewDate]=@AVEVAReviewDate
244
      ,[AVEVAStatus]=@AVEVAStatus
245
      ,[AVEVAIssues]=@AVEVAIssues
246
      ,[ReviewFilePath]=@ReviewFilePath
247
      ,[ReviewFileName]=@ReviewFileName
248
      ,[ProdReviewer]=@ProdReviewer
249
      ,[ProdIsResult]=@ProdIsResult
250
      ,[ProdRemarks]=@ProdRemarks
251
      ,[ClientReviewer]=@ClientReviewer
252
      ,[ClientIsResult]=@ClientIsResult
253
      ,[ClientRemarks]=@ClientRemarks
254
      ,[DTIsGateWay]=@DTIsGateWay
255
      ,[DTIsImport]=@DTIsImport
256
      ,[DTIsRegSystem]=@DTIsRegSystem
257 53fde692 yoush97
      ,[DTRemarks]=@DTRemarks
258 709c1971 yoush97
where  [DocID]=@DocID;";
259 482f6326 yoush97
                        }
260
                        base.Execute(query, doc, transaction);
261
                    }
262
263
                    transaction.Commit();
264
                    isSuccess = true;
265
                }
266
            }
267
            catch (Exception ex)
268
            {
269
                throw ex;
270
            }
271
272
            return isSuccess;
273
        }
274 5898479a yoush97
    }
275 d2d4f84b yoush97
}
클립보드 이미지 추가 (최대 크기: 500 MB)