프로젝트

일반

사용자정보

개정판 d21e9c15

IDd21e9c15275c67c8fd3cab22e7c2480b4aa6f478
상위 cf1cc862
하위 74abcf6f

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

final pdf 서비스를 프로세스 단위로 분리

Change-Id: Iceb38c1571cfe6b75f2684b091288da9ecee7d6b

차이점 보기:

ConvertService/ServiceBase/ConvertionWebServiceDefault/Conversion.asmx
1
<%@ WebService Language="C#" CodeBehind="Conversion.asmx.cs" Class="ConvertionWebService.Conversion" %>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Conversion.asmx.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Web;
5
using System.Web.Services;
6
using System.Runtime.Remoting.Channels;
7
using System.Runtime.Remoting.Channels.Tcp;
8
using IConverterPDF;
9
using System.Text;
10
using DeepView.Toolkit.GuidGenerator;
11
using MarkupToPDF;
12
using System.IO;
13
using Newtonsoft.Json;
14
using Newtonsoft.Json.Linq;
15
using log4net;
16
using DeepViewDataModel.DataModel;
17
using DeepViewDataModel.Common;
18

  
19
namespace ConvertionWebService
20
{
21
    /// <summary>
22
    /// Summary description for Conversio
23
    /// </summary>
24
    [WebService(Namespace = "http://tempuri.org/")]
25
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
26
    [System.ComponentModel.ToolboxItem(false)]
27
    public class Conversion : System.Web.Services.WebService
28
    {
29

  
30
        RemConverterPDFObject remObj = null;
31
        protected ILog logger = LogManager.GetLogger(typeof(Conversion));
32
        public Conversion()
33
        {
34
            try
35
            {
36
                System.Runtime.Remoting.Channels.IChannel _ch = ChannelServices.GetChannel("tcp");
37

  
38
                if(_ch == null)
39
                {
40
                    TcpChannel chan = new TcpChannel();
41
                    ChannelServices.RegisterChannel(chan, false);
42
                }
43
                // Create an instance of the remote object
44
                remObj = (RemConverterPDFObject)Activator.GetObject(typeof(RemConverterPDFObject),
45
                                                            Properties.Settings.Default.ConverterRemotingUrl);
46

  
47
            }
48
            catch (Exception ex)
49
            {
50
                logger.Error("Conversion Web Service Conversion Error", ex);
51
                SendNotice(ex.ToString());
52
            }
53
        }
54

  
55
        private void SendNotice(string ex)
56
        {
57
            if (!string.IsNullOrWhiteSpace(Properties.Settings.Default.ErrorNoticeID))
58
            {
59
                var _lstID = Properties.Settings.Default.ErrorNoticeID.Split(';').ToList();
60
                //EmailClient.EmailClient _client = new EmailClient.EmailClient(_lstID.First());
61
                StringBuilder _bl = new StringBuilder();
62
                _bl.AppendLine("Conversion Web Service Error");
63
                _bl.AppendLine(ex);
64
                //var _emailResult = _client.SendEmail(_lstID, _lstID, "<Conversion Web Service Error>", _bl.ToString(), false);
65
            }
66
            else
67
            {
68
                logger.Error("Conversion Web Service Error",new Exception(ex));
69
            }
70
        }
71

  
72
        [WebMethod]
73
        public string ConvertRun(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
74
        {
75
            string _result = null;
76
            try
77
            {
78
                logger.Info($"Conversion Web Service ConvertRun call rev_No :{rev_No} document_No : {document_No}  document_Name : {document_Name}  group_No : {group_No}  prj_No : {prj_No}  document_Id : {document_Id}  document_Url : {document_Url}");
79

  
80
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
81
                {
82
                    //_result = ConnectStringBuilder.DeepViewConnectionString().ToString();
83
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber && DateTime.Parse(r.RUN_DATETIME)<= DateTime.Now);
84
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber);
85
                    var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO != null);
86

  
87
                    if (_RunProjects.Count() > 0)
88
                    {
89
                        _result = SendKcom(rev_No, document_No, document_Name, group_No, prj_No, document_Id, document_Url);
90
                    }
91
                    else
92
                    {
93
                        _result = false.ToString();
94
                    }
95
                }
96
            }
97
            catch (Exception ex)
98
            {
99
                logger.Error($"Conversion Web Service ConvertRun Error rev_No :{rev_No} document_No : {document_No}  document_Name : {document_Name}  group_No : {group_No}  prj_No : {prj_No}  document_Id : {document_Id}  document_Url : {document_Url}", ex);
100
                _result = ex.Message.ToString();
101
                SendNotice("Project NO : " + prj_No + "\r\n  DocumentUrl : " + document_Url + "\r\n Error" + ex.ToString());
102
            }
103
            return _result;
104
        }
105

  
106
        [WebMethod]
107
        public string ConvertRunIgnoreComment(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url, string ignoreComment)
108
        {
109
            string _result = null;
110
            try
111
            {
112
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
113
                {
114
                    //_result = ConnectStringBuilder.DeepViewConnectionString().ToString();
115
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber && DateTime.Parse(r.RUN_DATETIME)<= DateTime.Now);
116
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber);
117
                    var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO != null);
118

  
119
                    if (_RunProjects.Count() > 0)
120
                    {
121
                        _result = SendKcom(rev_No, document_No, document_Name, group_No, prj_No, document_Id, document_Url,ignoreComment);
122
                    }
123
                    else
124
                    {
125
                        _result = false.ToString();
126
                    }
127
                }
128
            }
129
            catch (Exception ex)
130
            {
131
                _result = ex.Message.ToString();
132
                SendNotice("Project NO : " + prj_No + "\r\n  DocumentUrl : " + document_Url + "\r\n Error" + ex.ToString());
133
            }
134
            return _result;
135
        }
136

  
137
        private string SendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url, string ignoreComment)
138
        {
139
            string result = false.ToString();
140

  
141
            if (remObj == null)
142
            {
143
                result = "Window Service Connection Error";
144
            }
145
            else
146
            {
147
                //string _id = GetGuid(0, GuidGenerator.GetUniqueGuid()).ToString();
148
                string _id = shortGuid();
149
                string _doc_id = ((UInt32)document_Id.GetHashCode()).ToString();
150
                
151
                using (DeepView_Entity _entity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
152
                {
153
                    if (string.IsNullOrEmpty(group_No))
154
                    {
155
                        group_No = "0";
156
                    }
157
                    if (!document_Url.Contains("http%3a%2f%2f"))
158
                    {
159
                        document_Url = Base64Decode(document_Url);
160
                        document_Url = HttpUtility.UrlEncodeUnicode(document_Url);
161
                    }
162
                    document_Name = Base64DecodeFromStr(document_Name);
163
                    var doc = _entity.DOCUMENT_ITEM.Where(d => d.ID == document_Id).FirstOrDefault();
164
                    if (doc != null)
165
                    {
166
                        if (bool.Parse(ignoreComment))
167
                        {
168
                            try
169
                            {
170
                                var docinfo = _entity.DOCINFO.Where(x => x.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault();
171
                                var markupinfos = _entity.MARKUP_INFO.Where(x => x.DOCINFO_ID == docinfo.ID).ToList();
172
                                foreach (var markupinfo in markupinfos)
173
                                {
174
                                    var markupinfoversions = _entity.MARKUP_INFO_VERSION.Where(x => x.MARKUPINFO_ID == markupinfo.ID).ToList();
175
                                    foreach (var markupinfoversion in markupinfoversions)
176
                                    {
177
                                        var markupdatas = _entity.MARKUP_DATA.Where(x => x.MARKUPINFO_VERSION_ID == markupinfoversion.ID).ToList();
178
                                        foreach (var markupdata in markupdatas)
179
                                        {
180
                                            _entity.DeleteObject(markupdata);
181
                                        }
182
                                        _entity.DeleteObject(markupinfoversion);
183
                                    }
184
                                    _entity.DeleteObject(markupinfo);
185
                                }
186
                                _entity.SaveChanges();
187
                            }
188
                            catch (Exception ex)
189
                            {
190
                                result = "deleteobject error:"+ex.ToString();
191
                            }
192
                                                    
193
                        }else
194
                        {
195
                            doc.REVISION = rev_No;
196
                            doc.ORIGINAL_FILE = document_Url;
197
                            doc.GROUP_NO = group_No;
198
                            doc.DOCUMENT_NO = document_No;
199
                            doc.DOCUMENT_NAME = document_Name;
200
                        }                        
201
                    }else
202
                    {
203
                        _entity.AddToDOCUMENT_ITEM(new DOCUMENT_ITEM
204
                        {
205
                            ID = document_Id,
206
                            REVISION = rev_No,
207
                            DOCUMENT_NO = document_No,
208
                            DOCUMENT_NAME = document_Name,
209
                            GROUP_NO = group_No,
210
                            ORIGINAL_FILE = document_Url,
211
                            DOCUMENT_ID = _doc_id,
212
                            PROJECT_NO = prj_No,
213
                        });                        
214
                    }                    
215
                    
216
                    _entity.AddToCONVERTER_DOC(new CONVERTER_DOC
217
                    {
218
                        ID = _id,
219
                        CREATE_DATETIME = DateTime.Now,
220
                        DOCUMENT_URL = document_Url,
221
                        PROJECT_NO = prj_No,
222
                        DOCUMENT_ID = _doc_id,
223
                    });
224
                    _entity.SaveChanges();
225
                }
226

  
227
                if (Properties.Settings.Default.MARKUS_V3_PROJECTS.Split(',').Contains(prj_No))
228
                {
229
                    try
230
                    {
231
                        System.Net.WebClient client = new System.Net.WebClient();
232
                        var convertResult = client.DownloadString($"{Properties.Settings.Default.MARKUS_V3_ADDRESS}/Rest/ConvertAdd?ProjectNo={prj_No}&ConvertID={_id}");
233

  
234
                        JObject jObject = JObject.Parse(convertResult, new JsonLoadSettings());
235
                        result = jObject["ConvertAddResult"].ToString();
236
                    }
237
                    catch (Exception ex)
238
                    {
239
                        result = $"Markus V3 Connect Error {ex.Message}";
240
                    }
241
                }
242
                else
243
                {
244
                    var convertResult = remObj.SetConverterPDF(prj_No, _id);
245

  
246
                    if (convertResult.Exception != null)
247
                    {
248
                        result = false.ToString();
249
                    }
250
                    else
251
                    {
252
                        result = true.ToString();
253
                    }
254
                }
255

  
256
            }
257

  
258
            return result;
259
        }
260
        [WebMethod]
261
        public string ManualConvert(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
262
        {
263
            string _result = null;
264
            try
265
            {
266
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
267
                {
268
                    //_result = ConnectStringBuilder.DeepViewConnectionString().ToString();
269
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber && DateTime.Parse(r.RUN_DATETIME)<= DateTime.Now);
270
                    //var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO == projNumber);
271
                    var _RunProjects = deepViewEntity.RUN_PROJECTS.Where(r => r.PROJECT_NO != null);
272

  
273
                    if (_RunProjects.Count() > 0)
274
                    {
275
                        _result = ManualSendKcom(rev_No, document_No, document_Name, group_No, prj_No, document_Id, document_Url);
276
                    }
277
                    else
278
                    {
279
                        _result = false.ToString();
280
                    }
281
                }
282
            }
283
            catch (Exception ex)
284
            {
285
                logger.Error("Conversion Web Service ManualConvert Error", ex);
286
                _result = ex.Message.ToString();
287
                SendNotice("Project NO : " + prj_No + "\r\n  DocumentUrl : " + document_Url + "\r\n Error" + ex.ToString());
288
            }
289
            return _result;
290
        }
291
        [WebMethod]
292
        public string UpdateUrlEncode(string EnsembleId)
293
        {
294
            string _result = null;
295
            try
296
            {
297
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
298
                {
299
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == EnsembleId).FirstOrDefault();
300
                    string url = doc.ORIGINAL_FILE;
301
                    if (url.Contains("http://"))
302
                    {
303
                        //기존 url 이 인코딩 안되 있으면 인코딩 작업.
304
                        url = HttpUtility.UrlEncodeUnicode(url);
305
                        doc.ORIGINAL_FILE = url;
306

  
307
                        var convertdoc = deepViewEntity.CONVERTER_DOC.Where(d => d.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault();
308
                        if(convertdoc != null)
309
                            convertdoc.DOCUMENT_URL = url;
310
                        var docinfo = deepViewEntity.DOCINFO.Where(d => d.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault();
311
                        if(docinfo != null)
312
                            docinfo.ORIGINAL_FILE = url;
313
                    }
314
                        
315
                    deepViewEntity.SaveChanges();
316
                }
317
            }
318
            catch (Exception ex)
319
            {
320
                logger.Error("Conversion Web Service UpdateUrlEncode Error", ex);
321
                _result = ex.Message.ToString();
322
            }
323
            return _result;
324
        }
325
        public string Base64DecodeFromStr(string data)
326
        {
327
            try
328
            {
329
                System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
330
                System.Text.Decoder utf8Decode = encoder.GetDecoder();
331

  
332
                byte[] todecode_byte = Convert.FromBase64String(data);
333

  
334
                int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
335

  
336
                char[] decoded_char = new char[charCount];
337

  
338
                utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
339

  
340
                string result = new String(decoded_char);
341

  
342
                return result;
343
            }
344
            catch (Exception)
345
            {
346
                return data;
347
            }
348
        }
349
        public string Base64Decode(string data)
350
        {
351
            try
352
            {
353
                if(data.Contains("http://"))
354
                {
355
                    return data;
356
                }else
357
                {
358
                    System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
359
                    System.Text.Decoder utf8Decode = encoder.GetDecoder();
360

  
361
                    byte[] todecode_byte = Convert.FromBase64String(data);
362

  
363
                    int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
364

  
365
                    char[] decoded_char = new char[charCount];
366

  
367
                    utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
368

  
369
                    string result = new String(decoded_char);
370

  
371
                    return result;
372
                }
373
                
374

  
375
            }
376

  
377
            catch (Exception e)
378
            {
379
                throw new Exception("Error in Base64Decode: " + e.Message);
380
            }
381
        }
382
        [WebMethod]
383
        public string UpdateSlip(string EnsembleId, string SlipNo, string slipLink)
384
        {
385
            string _result = null;
386
            try
387
            {
388
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
389
                {
390
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == EnsembleId).FirstOrDefault();
391
                    if(!string.IsNullOrEmpty(slipLink))
392
                        doc.GROUP_NO = SlipNo;
393
                    if(!string.IsNullOrEmpty(slipLink))
394
                    {
395
                        if (!slipLink.Contains("http://"))
396
                            slipLink = Base64Decode(slipLink);
397
                        throw new Exception("doc.ENSEMBLEINFO_URL not support");
398
                        //doc.ENSEMBLEINFO_URL = slipLink;
399
                    }
400
                    
401
                    deepViewEntity.SaveChanges();
402
                }
403
            }
404
            catch (Exception ex)
405
            {
406
                logger.Error($"Conversion Web Service UpdateSlip Error EnsembleId : {EnsembleId} SlipNo : {SlipNo}   slipLink: {slipLink}", ex);
407
                _result = ex.Message.ToString();                
408
            }
409
            return _result;
410
        }
411
        [WebMethod]
412
        public string UpdateResult(string EnsembleId, string Result, string FinalPDFUrl)
413
        {
414
            string _result = null;
415
            try
416
            {
417
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
418
                {
419
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == EnsembleId).FirstOrDefault();
420
                    doc.RESULT = Result;
421
                    doc.RESULT_FILE = FinalPDFUrl;
422
                    deepViewEntity.SaveChanges();
423
                }
424
            }
425
            catch (Exception ex)
426
            {
427
                logger.Error("Conversion Web Service UpdateResult Error", ex);
428
                _result = ex.Message.ToString();
429
            }
430
            return _result;
431
        }
432
        [WebMethod]
433
        public string UpdateVP(string EnsembleId, string rev_No, string document_No, string document_Name, string pdf_url)
434
        {
435
            string _result = null;
436
            try
437
            {
438
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
439
                {
440
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == EnsembleId).FirstOrDefault();
441
                    if(!string.IsNullOrEmpty(rev_No))
442
                        doc.REVISION = rev_No;
443
                    if (!string.IsNullOrEmpty(document_No))
444
                        doc.DOCUMENT_NO = document_No;
445
                    if (!string.IsNullOrEmpty(document_Name))
446
                        doc.DOCUMENT_NAME = document_Name;
447
                    if (!string.IsNullOrEmpty(pdf_url))
448
                    {
449
                        string url = pdf_url;
450
                        if (!doc.PROJECT_NO.Equals("150128"))
451
                        {   
452
                            url = HttpUtility.UrlEncodeUnicode(url);
453
                        }
454
                        doc.ORIGINAL_FILE = url;
455
                    }                        
456
                    deepViewEntity.SaveChanges();
457
                }
458
            }
459
            catch (Exception ex)
460
            {
461
                logger.Error("Conversion Web Service UpdateVP Error", ex);
462
                _result = ex.Message.ToString();
463
            }
464
            return _result;
465
        }
466
        [WebMethod]
467
		public string UpdatePDFUrl(string EnsembleId, string original_url, string result_url)
468
        {
469
            string _result = null;
470
            try
471
            {
472
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
473
                {
474
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == EnsembleId).FirstOrDefault();
475
                    
476
                    if (!string.IsNullOrEmpty(original_url))
477
                    {
478
                        string url = original_url;
479
                        url = Base64Decode(url);
480
                        url = HttpUtility.UrlEncodeUnicode(url);
481
                        doc.ORIGINAL_FILE = url;
482
                    }
483
                    if (!string.IsNullOrEmpty(result_url))
484
                    {
485
                        doc.RESULT_FILE = result_url;
486
                    }                    
487
                    deepViewEntity.SaveChanges();
488
                    _result = true.ToString();
489
                }
490
            }
491
            catch (Exception ex)
492
            {
493
                logger.Error("Conversion Web Service UpdateVP Error", ex);
494
                _result = ex.Message.ToString();
495
            }
496
            return _result;
497
        }
498

  
499
        [WebMethod]
500
        public string DeleteVP(string id)
501
        {
502
            string _result = null;
503
            try
504
            {
505
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
506
                {
507
                    var doc = deepViewEntity.DOCUMENT_ITEM.Where(data => data.ID == id).FirstOrDefault();
508

  
509
                    if (doc != null)
510
                    {
511
                        doc.DOCUMENT_NO = "VOID_" + doc.DOCUMENT_NO;
512
                        doc.GROUP_NO = "VOID_" + doc.GROUP_NO;
513
                        //deepViewEntity.DeleteObject(doc);
514
                        deepViewEntity.SaveChanges();
515
                        _result = true.ToString();
516
                    }
517
                    else
518
                        _result = "document not found.";
519
                }
520
            }
521
            catch (Exception ex)
522
            {
523
                logger.Error("Conversion Web Service DeleteVP Error", ex);
524
                _result = ex.Message.ToString();
525
            }
526
            return _result;
527
        }
528
        public string getDocumentID(string id)
529
        {
530
            string _doc_id = ((UInt32)id.GetHashCode()).ToString();
531
            return _doc_id;
532
        }
533
        [WebMethod]
534
        public string CoverConvert(string prj_No, string _id)
535
        {
536
            string _result = null;
537
            try
538
            {
539
                SendCoverConvert(prj_No, _id);
540
            }
541
            catch (Exception ex)
542
            {
543
                logger.Error("Conversion Web Service CoverConvert Error", ex);
544
                _result = ex.Message.ToString();
545
            }
546
            return _result;
547
        }
548
        private string SendCoverConvert(string prj_No, string _id)
549
        {
550
            if (remObj == null)
551
            {
552
                return "Window Service Connection Error";
553
            }
554
            else
555
            {
556
                var _result = remObj.SetConverterCoverPDF(prj_No, _id);
557

  
558
                if (_result.Exception != null)
559
                {
560
                    return false.ToString();
561
                }
562
                else
563
                {
564
                    return true.ToString();
565
                }
566
            }
567
        }
568
        private string SendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
569
        {
570
            string result = false.ToString();
571

  
572
            if (remObj == null)
573
            {
574
                result  = "Window Service Connection Error";
575
            }
576
            else
577
            {
578
                //string _id = GetGuid(0, GuidGenerator.GetUniqueGuid()).ToString();
579
                string _id = shortGuid();
580
                string _doc_id = ((UInt32)document_Id.GetHashCode()).ToString();
581
                using (DeepView_Entity _entity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
582
                {
583
                    if (string.IsNullOrEmpty(group_No))
584
                    {
585
                        group_No = "0";
586
                    }
587
                    if (!document_Url.Contains("http%3a%2f%2f"))
588
                    {
589
                        document_Url = Base64Decode(document_Url);
590
                        document_Url = System.Net.WebUtility.UrlEncode(document_Url);
591
                    }
592
                    document_Name = Base64DecodeFromStr(document_Name);
593

  
594
                    var doc = _entity.DOCUMENT_ITEM.Where(d => d.PROJECT_NO == prj_No && d.ID == document_Id).FirstOrDefault();
595
                    if(doc != null)
596
                    {
597
                        doc.DOCUMENT_ID = _doc_id;
598
                        doc.REVISION = rev_No;                        
599
                        doc.GROUP_NO = group_No;
600
                        doc.DOCUMENT_NO = document_No;
601
                        doc.DOCUMENT_NAME = document_Name;
602
                        doc.ORIGINAL_FILE = document_Url;
603
                    }
604
                    else
605
                    {                        
606
                        _entity.AddToDOCUMENT_ITEM(new DOCUMENT_ITEM
607
                        {
608
                            ID = document_Id,
609
                            REVISION = rev_No,
610
                            DOCUMENT_NO = document_No,
611
                            DOCUMENT_NAME = document_Name,
612
                            GROUP_NO = group_No,
613
                            ORIGINAL_FILE = document_Url,
614
                            DOCUMENT_ID = _doc_id,
615
                            PROJECT_NO = prj_No,
616
                        });
617
                    }
618
                    
619
                    _entity.AddToCONVERTER_DOC(new CONVERTER_DOC
620
                    {
621
                        ID = _id,
622
                        CREATE_DATETIME = DateTime.Now,
623
                        DOCUMENT_URL = document_Url,
624
                        PROJECT_NO = prj_No,
625
                        DOCUMENT_ID = _doc_id,
626
                    });
627
                    _entity.SaveChanges();
628
                }
629

  
630
                if (Properties.Settings.Default.MARKUS_V3_PROJECTS.Split(',').Contains(prj_No))
631
                {
632
                    try
633
                    {
634
                        System.Net.WebClient client = new System.Net.WebClient();
635
                        var convertResult = client.DownloadString($"{Properties.Settings.Default.MARKUS_V3_ADDRESS}/Rest/ConvertAdd?ProjectNo={prj_No}&ConvertID={_id}");
636

  
637
                        JObject jObject = JObject.Parse(convertResult, new JsonLoadSettings());
638
                        result = jObject["ConvertAddResult"].ToString();
639
                    }
640
                    catch (Exception ex)
641
                    {
642
                        logger.Error("Conversion Web Service SendKcom Error", ex);
643
                        result = $"Markus V3 Connect Error {ex.Message}";
644
                    }
645
                }
646
                else
647
                {
648
                    var convertResult = remObj.SetConverterPDF(prj_No, _id);
649

  
650
                    if (convertResult.Exception != null)
651
                    {
652
                        result = false.ToString();
653
                    }
654
                    else
655
                    {
656
                        result = true.ToString();
657
                    }
658
                }
659

  
660
            }
661

  
662
            return result;
663
        }
664
                
665
        private string ManualSendKcom(string rev_No, string document_No, string document_Name, string group_No, string prj_No, string document_Id, string document_Url)
666
        {
667
            if (remObj == null)
668
            {
669
                return "Window Service Connection Error";
670
            }
671
            else
672
            {
673
                //string _id = GetGuid(0, GuidGenerator.GetUniqueGuid()).ToString();
674
                string _id = shortGuid();
675
                string _doc_id = ((UInt32)document_Id.GetHashCode()).ToString();
676
                using (DeepView_Entity _entity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
677
                {
678
                    var doc = _entity.DOCUMENT_ITEM.Where(d =>d.PROJECT_NO ==  prj_No && d.ID == document_Id).FirstOrDefault();
679

  
680
                    if (doc != null)
681
                    {
682
                        var converterdoc = _entity.CONVERTER_DOC.Where(c =>c.PROJECT_NO == doc.PROJECT_NO && c.DOCUMENT_ID == doc.DOCUMENT_ID).FirstOrDefault();
683
                        _entity.DeleteObject(converterdoc);
684
                        _entity.DeleteObject(doc);
685
                        _entity.SaveChanges();
686

  
687
                        document_Url = HttpUtility.UrlDecode(document_Url);
688
                    }
689

  
690
                    int cnt = _entity.DOCUMENT_ITEM.ToList().Count;
691
                    if (string.IsNullOrEmpty(group_No))
692
                    {
693
                        group_No = "0";
694
                    }
695
                    
696
                    _entity.AddToDOCUMENT_ITEM(new DOCUMENT_ITEM
697
                    {
698
                        ID = document_Id,
699
                        REVISION = rev_No,
700
                        DOCUMENT_NO = document_No,
701
                        DOCUMENT_NAME = document_Name,
702
                        GROUP_NO = group_No,
703
                        ORIGINAL_FILE = HttpUtility.UrlEncodeUnicode(document_Url),
704
                        DOCUMENT_ID = _doc_id,
705
                        PROJECT_NO = prj_No,
706
                    });
707
                    _entity.AddToCONVERTER_DOC(new CONVERTER_DOC
708
                    {
709
                        ID = _id,
710
                        CREATE_DATETIME = DateTime.Now,
711
                        DOCUMENT_URL = HttpUtility.UrlEncodeUnicode(document_Url),
712
                        PROJECT_NO = prj_No,
713
                        DOCUMENT_ID = _doc_id,
714
                    });
715
                    _entity.SaveChanges();
716
                }
717
                var _result = remObj.SetConverterPDF(prj_No, _id);
718

  
719
                if (_result.Exception != null)
720
                {
721
                    return false.ToString();
722
                }
723
                else
724
                {
725
                    return true.ToString();
726
                }
727
            }
728
        }
729

  
730
        //private Guid GetGuid(int Count,Guid ID)
731
        //{
732
        //    Guid _ID = ID;
733
        //    string _id = _ID.ToString();
734
        //    DeepView_Entity _entity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString());
735

  
736
        //    if (_entity.CONVERTER_DOC.Where(c => c.ID == _id).Count() > 0)
737
        //    {
738
        //        _entity.Dispose();
739

  
740
        //        if (Count > 10)
741
        //        {
742
        //            new Exception("GetGuid : Not Generator");
743
        //        }
744

  
745
        //        if (Count < 3)
746
        //        {
747
        //            System.Threading.Thread.Sleep(3);
748
        //        }
749

  
750
        //        GetGuid(Count++,GuidGenerator.GetUniqueGuid());
751
        //    }
752

  
753
        //    return ID;
754
        //}
755

  
756
        //GUID생성(최민수 사원 수정)
757
        public string shortGuid()
758
        {
759
            byte[] bytes = new byte[16];
760
            using (var provider = System.Security.Cryptography.RandomNumberGenerator.Create())
761
            {
762
                provider.GetBytes(bytes);
763
            }
764

  
765
            var guid = new Guid(bytes);
766

  
767
            return Convert.ToBase64String(guid.ToByteArray())
768
                .Substring(0, 10)
769
                .Replace("/", "")
770
                .Replace("+", "") + DateTime.UtcNow.Ticks.ToString("x");
771
        }
772

  
773
        [WebMethod]
774
        public string ExcelExport(string project_no, string slip_no)
775
        {
776
            string _result = "false";
777
            //FileInfo fileInfo2 = new FileInfo(Path.GetTempFileName());
778
            //fileInfo2.FullName
779
            try
780
            {
781
                // Excel 첫번째 워크시트 가져오기                
782
                //application = new Excel.Application();
783
                //workbook = application.Workbooks.Open(xlsxfilepath);
784
                //worksheet = (Excel.Worksheet)workbook.Worksheets.get_Item("Sheet1");
785
                string xlsxfilepath = @"C:\WebSite\LogView\Doc_Manager\sample.xlsx";
786
                GemBox.Spreadsheet.SpreadsheetInfo.SetLicense("EXK0-W4HZ-N518-IMEW");
787
                GemBox.Spreadsheet.ExcelFile excelFile = new GemBox.Spreadsheet.ExcelFile();
788
                excelFile.LoadXlsx(xlsxfilepath, GemBox.Spreadsheet.XlsxOptions.PreserveMakeCopy);
789
                GemBox.Spreadsheet.ExcelWorksheet ws = excelFile.Worksheets[0];
790
                FileInfo fileInfo2 = new FileInfo(Path.GetTempFileName().Replace(".tmp", ".xlsx"));
791

  
792
                string fileout = @"C:\WebSite\LogView\Doc_Manager\commentexcel_" + DateTime.Now.ToString() + ".xlsx";
793
                string naspath = Properties.Settings.Default.Excelfilepath;
794
                    //@"\\172.20.121.220\comment3\TileSource\Excelexport";
795

  
796
                // 데이타 넣기
797
                int h = 6;
798
                int w = 1;
799

  
800

  
801
                //필터 기능 추가
802
                //Excel.Range Filter_Range = worksheet.Range["B9:" + Ran + "9"];
803
                //Filter_Range.AutoFilter(1, Type.Missing, Excel.XlAutoFilterOperator.xlAnd, Type.Missing, true);
804

  
805

  
806
                using (DeepView_Entity deepViewEntity = new DeepView_Entity(ConnectStringBuilder.DeepViewConnectionString().ToString()))
807
                {
808
                    var docs = deepViewEntity.DOCUMENT_ITEM.Where(doc => doc.GROUP_NO == slip_no && doc.PROJECT_NO == project_no).ToList();
809
                    if (docs.Count > 0)
810
                    {
811
                        foreach (var doc in docs)
812
                        {
813
                            var commentlist = deepViewEntity.MARKUP_DATA.Where(d => d.MARKUP_INFO_VERSION.MARKUP_INFO.DOCINFO.DOCUMENT_ID == doc.DOCUMENT_ID
814
                            && d.MARKUP_INFO_VERSION.MARKUP_INFO.CONSOLIDATE == 1).ToList();
815

  
816
                            string docNo = doc.DOCUMENT_NO;
817
                            string docDesc = doc.DOCUMENT_NAME;
818
                            string docRev = doc.REVISION;
819
                            foreach (var comment in commentlist)
820
                            {
821
                                var member = deepViewEntity.MEMBER.Where(m => m.ID == comment.MARKUP_INFO_VERSION.MARKUP_INFO.USER_ID).FirstOrDefault();
822
                                string docdept = member.DEPARTMENT;
823
                                string doccomment = string.Empty;
824
                                var data = MarkupToPDF.Serialize.Core.JsonSerializerHelper.UnCompressString(comment.DATA.ToString());
825
                                switch (Enum.Parse(typeof(MarkupToPDF.Controls.Common.ControlType), comment.DATA_TYPE.ToString()))
826
                                {
827
                                    case MarkupToPDF.Controls.Common.ControlType.TextControl:
828
                                    case MarkupToPDF.Controls.Common.ControlType.TextBorder:
829
                                    case MarkupToPDF.Controls.Common.ControlType.TextCloud:
830
                                        {
831
                                            MarkupToPDF.Serialize.S_Control.S_TextControl instance = MarkupToPDF.Serialize.Core.JsonSerializerHelper.JsonDeserialize<MarkupToPDF.Serialize.S_Control.S_TextControl>(data);
832
                                            doccomment = instance.Text;
833
                                        }
834
                                        break;
835
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextBorderControl:
836
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextCloudControl:
837
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextControl:
838
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextBorderControl:
839
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextCloudControl:
840
                                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextControl:
841
                                        {
842
                                            MarkupToPDF.Serialize.S_Control.S_ArrowTextControl instance = MarkupToPDF.Serialize.Core.JsonSerializerHelper.JsonDeserialize<MarkupToPDF.Serialize.S_Control.S_ArrowTextControl>(data);
843
                                            doccomment = instance.ArrowText;
844
                                        }
845
                                        break;
846
                                }
847
                                ws.Cells[h, w].Value = string.Format("{0}\n({1})", docNo, docDesc);
848
                                ws.Cells[h, w + 1].Value = docRev;
849
                                ws.Cells[h, w + 2].Value = docdept;
850
                                ws.Cells[h, w + 3].Value = doccomment;
851
                                h++;
852
                            }
853
                        }
854
                    }
855
                    else
856
                    {
857
                        _result = "ERROR : 해당 Slip 의 데이터가 없습니다.";
858
                    }
859

  
860

  
861
                }
862

  
863
                int columnCount = ws.CalculateMaxUsedColumns();
864
                for (int i = 0; i < columnCount; i++)
865
                    ws.Columns[i].AutoFit();
866
                //worksheet.Columns.AutoFit();
867
                // 엑셀파일 저장
868

  
869
                excelFile.Save(fileInfo2.FullName);
870
                fileInfo2.MoveTo(naspath + "\\" + fileInfo2.Name);
871
                //workbook.SaveAs(fileout);
872
                ////workbook.Save();
873
                //workbook.Close(true);
874
                //application.Quit();
875
                _result = Properties.Settings.Default.Excelresulturl + fileInfo2.Name;
876
            }
877
            catch (Exception e)
878
            {
879
                _result = "ERROR : " + e.ToString();
880
            }
881
            return _result;
882
        }
883

  
884
        private static void ReleaseExcelObject(object obj)
885
        {
886
            try
887
            {
888
                if (obj != null)
889
                {
890
                    obj = null;
891
                }
892
            }
893
            catch (Exception ex)
894
            {
895
                obj = null;
896
                throw ex;
897
            }
898
            finally
899
            {
900
                GC.Collect();
901
            }
902
        }
903
    }
904
}
ConvertService/ServiceBase/ConvertionWebServiceDefault/ConvertionWebServiceDefault.csproj
1
<?xml version="1.0" encoding="utf-8"?>
2
<Project ToolsVersion="12.0" DefaultTargets="Build" 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
    <ProductVersion>
8
    </ProductVersion>
9
    <SchemaVersion>2.0</SchemaVersion>
10
    <ProjectGuid>{8B470D8E-ABFF-4C70-8059-0EFB51755E84}</ProjectGuid>
11
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
12
    <OutputType>Library</OutputType>
13
    <AppDesignerFolder>Properties</AppDesignerFolder>
14
    <RootNamespace>ConvertionWebService</RootNamespace>
15
    <AssemblyName>ConvertionWebService</AssemblyName>
16
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
17
    <UseIISExpress>false</UseIISExpress>
18
    <FileUpgradeFlags>
19
    </FileUpgradeFlags>
20
    <UpgradeBackupLocation>
21
    </UpgradeBackupLocation>
22
    <OldToolsVersion>4.0</OldToolsVersion>
23
    <Use64BitIISExpress />
24
    <IISExpressSSLPort />
25
    <IISExpressAnonymousAuthentication />
26
    <IISExpressWindowsAuthentication />
27
    <IISExpressUseClassicPipelineMode />
28
    <UseGlobalApplicationHostFile />
29
    <TargetFrameworkProfile />
30
  </PropertyGroup>
31
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
32
    <DebugSymbols>true</DebugSymbols>
33
    <DebugType>full</DebugType>
34
    <Optimize>false</Optimize>
35
    <OutputPath>bin\</OutputPath>
36
    <DefineConstants>DEBUG;TRACE</DefineConstants>
37
    <ErrorReport>prompt</ErrorReport>
38
    <WarningLevel>4</WarningLevel>
39
    <Prefer32Bit>false</Prefer32Bit>
40
  </PropertyGroup>
41
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
42
    <DebugType>pdbonly</DebugType>
43
    <Optimize>true</Optimize>
44
    <OutputPath>bin\</OutputPath>
45
    <DefineConstants>
46
    </DefineConstants>
47
    <ErrorReport>prompt</ErrorReport>
48
    <WarningLevel>4</WarningLevel>
49
    <Prefer32Bit>false</Prefer32Bit>
50
  </PropertyGroup>
51
  <ItemGroup>
52
    <Reference Include="ConverterPDF, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
53
      <SpecificVersion>False</SpecificVersion>
54
      <HintPath>..\Old_lib\ConverterPDF.dll</HintPath>
55
    </Reference>
56
    <Reference Include="DeepView.Toolkit.GuidGenerator, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
57
      <SpecificVersion>False</SpecificVersion>
58
      <HintPath>..\Old_lib\DeepView.Toolkit.GuidGenerator.dll</HintPath>
59
    </Reference>
60
    <Reference Include="DeepViewDataModel, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
61
      <SpecificVersion>False</SpecificVersion>
62
      <HintPath>..\Old_lib\daelim\DeepViewDataModel.dll</HintPath>
63
    </Reference>
64
    <Reference Include="GemBox.Spreadsheet, Version=39.3.30.1215, Culture=neutral, PublicKeyToken=b1b72c69714d4847, processorArchitecture=MSIL">
65
      <HintPath>..\packages\GemBox.Spreadsheet.39.3.30.1215\lib\net30\GemBox.Spreadsheet.dll</HintPath>
66
    </Reference>
67
    <Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
68
      <HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
69
    </Reference>
70
    <Reference Include="MarkupToPDF">
71
      <HintPath>..\Old_lib\MarkupToPDF.dll</HintPath>
72
    </Reference>
73
    <Reference Include="Microsoft.CSharp" />
74
    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
75
      <HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net40\Newtonsoft.Json.dll</HintPath>
76
    </Reference>
77
    <Reference Include="System.Data.DataSetExtensions" />
78
    <Reference Include="System.Data.Entity" />
79
    <Reference Include="System.Runtime.Remoting" />
80
    <Reference Include="System.Runtime.Serialization" />
81
    <Reference Include="System.ServiceModel" />
82
    <Reference Include="System.Web.DynamicData" />
83
    <Reference Include="System.Web.Entity" />
84
    <Reference Include="System.Web.ApplicationServices" />
85
    <Reference Include="System" />
86
    <Reference Include="System.Data" />
87
    <Reference Include="System.Web.Extensions" />
88
    <Reference Include="System.Drawing" />
89
    <Reference Include="System.Web" />
90
    <Reference Include="System.Xml" />
91
    <Reference Include="System.Configuration" />
92
    <Reference Include="System.Web.Services" />
93
    <Reference Include="System.EnterpriseServices" />
94
    <Reference Include="System.Xml.Linq" />
95
  </ItemGroup>
96
  <ItemGroup>
97
    <Content Include="Conversion.asmx" />
98
    <None Include="..\Markus.Service.Station\Log.config">
99
      <Link>Log.config</Link>
100
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
101
    </None>
102
    <Content Include="DeepViewDataModel.dll.config">
103
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
104
    </Content>
105
    <None Include="packages.config" />
106
    <None Include="Properties\PublishProfiles\FILE.pubxml" />
107
    <Content Include="Web.config" />
108
    <Content Include="Web.Debug.config">
109
      <DependentUpon>Web.config</DependentUpon>
110
    </Content>
111
    <Content Include="Web.Release.config">
112
      <DependentUpon>Web.config</DependentUpon>
113
    </Content>
114
  </ItemGroup>
115
  <ItemGroup>
116
    <Compile Include="Conversion.asmx.cs">
117
      <DependentUpon>Conversion.asmx</DependentUpon>
118
      <SubType>Component</SubType>
119
    </Compile>
120
    <Compile Include="Properties\AssemblyInfo.cs" />
121
    <Compile Include="Properties\Settings.Designer.cs">
122
      <AutoGen>True</AutoGen>
123
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
124
      <DependentUpon>Settings.settings</DependentUpon>
125
    </Compile>
126
  </ItemGroup>
127
  <ItemGroup>
128
    <None Include="Properties\Settings.settings">
129
      <Generator>SettingsSingleFileGenerator</Generator>
130
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
131
    </None>
132
  </ItemGroup>
133
  <ItemGroup>
134
    <WCFMetadata Include="Service References\" />
135
  </ItemGroup>
136
  <ItemGroup>
137
    <COMReference Include="VBIDE">
138
      <Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
139
      <VersionMajor>5</VersionMajor>
140
      <VersionMinor>3</VersionMinor>
141
      <Lcid>0</Lcid>
142
      <WrapperTool>primary</WrapperTool>
143
      <Isolated>False</Isolated>
144
      <EmbedInteropTypes>True</EmbedInteropTypes>
145
    </COMReference>
146
  </ItemGroup>
147
  <ItemGroup>
148
    <ProjectReference Include="..\Markus.Service.DataBase\Markus.Service.DataBase.csproj">
149
      <Project>{400736fb-92c9-4bc0-b447-e8274103d813}</Project>
150
      <Name>Markus.Service.DataBase</Name>
151
    </ProjectReference>
152
  </ItemGroup>
153
  <PropertyGroup>
154
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
155
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
156
  </PropertyGroup>
157
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
158
    <DebugSymbols>true</DebugSymbols>
159
    <OutputPath>bin\</OutputPath>
160
    <DefineConstants>DEBUG;TRACE</DefineConstants>
161
    <DebugType>full</DebugType>
162
    <PlatformTarget>x64</PlatformTarget>
163
    <ErrorReport>prompt</ErrorReport>
164
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
165
    <Prefer32Bit>false</Prefer32Bit>
166
  </PropertyGroup>
167
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
168
    <OutputPath>bin\</OutputPath>
169
    <Optimize>true</Optimize>
170
    <DebugType>pdbonly</DebugType>
171
    <PlatformTarget>x64</PlatformTarget>
172
    <ErrorReport>prompt</ErrorReport>
173
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
174
    <Prefer32Bit>false</Prefer32Bit>
175
  </PropertyGroup>
176
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
177
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
178
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
179
  <ProjectExtensions>
180
    <VisualStudio>
181
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
182
        <WebProjectProperties>
183
          <UseIIS>False</UseIIS>
184
          <AutoAssignPort>True</AutoAssignPort>
185
          <DevelopmentServerPort>5295</DevelopmentServerPort>
186
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
187
          <IISUrl>
188
          </IISUrl>
189
          <NTLMAuthentication>False</NTLMAuthentication>
190
          <UseCustomServer>False</UseCustomServer>
191
          <CustomServerUrl>
192
          </CustomServerUrl>
193
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
194
        </WebProjectProperties>
195
      </FlavorProperties>
196
    </VisualStudio>
197
  </ProjectExtensions>
198
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
199
       Other similar extension points exist, see Microsoft.Common.targets.
200
  <Target Name="BeforeBuild">
201
  </Target>
202
  <Target Name="AfterBuild">
203
  </Target>
204
  -->
205
</Project>
ConvertService/ServiceBase/ConvertionWebServiceDefault/DeepViewDataModel.dll.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<configuration>
3
  <configSections>
4
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
5
      <section name="DeepViewDataModel.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
6
    </sectionGroup>
7
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
8
      <section name="DeepViewDataModel.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
9
    </sectionGroup>
10
  </configSections>
11
  <connectionStrings>
12
    <add name="DeepView_Entity" connectionString="metadata=res://*/DataModel.DeepView_Entity.csdl|res://*/DataModel.DeepView_Entity.ssdl|res://*/DataModel.DeepView_Entity.msl;provider=System.Data.SqlClient;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-MARKUS;initial catalog=Markus_V3;persist security info=True;user id=doftech;password=dof1073#;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
13
    
14
  </connectionStrings
15
  >
16
  
17
  <applicationSettings>
18
    <DeepViewDataModel.Properties.Settings>
19
      <setting name="ConverterConnectionString" serializeAs="String">
20
        <value>data source=.\SQLEXPRESS;initial catalog=Markus;persist security info=True;user id=ConvertService;Password=ConvertService;MultipleActiveResultSets=True;</value>
21
      </setting>
22
    </DeepViewDataModel.Properties.Settings>
23
  </applicationSettings>
24
</configuration>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Properties/AssemblyInfo.cs
1
using System.Reflection;
2
using System.Runtime.CompilerServices;
3
using System.Runtime.InteropServices;
4

  
5
// General Information about an assembly is controlled through the following 
6
// set of attributes. Change these attribute values to modify the information
7
// associated with an assembly.
8
[assembly: AssemblyTitle("ConvertionWebService")]
9
[assembly: AssemblyDescription("")]
10
[assembly: AssemblyConfiguration("")]
11
[assembly: AssemblyCompany("")]
12
[assembly: AssemblyProduct("ConvertionWebService")]
13
[assembly: AssemblyCopyright("Copyright ©  2012")]
14
[assembly: AssemblyTrademark("")]
15
[assembly: AssemblyCulture("")]
16

  
17
// Setting ComVisible to false makes the types in this assembly not visible 
18
// to COM components.  If you need to access a type in this assembly from 
19
// COM, set the ComVisible attribute to true on that type.
20
[assembly: ComVisible(false)]
21

  
22
// The following GUID is for the ID of the typelib if this project is exposed to COM
23
[assembly: Guid("3e66fa28-1d2a-4e90-be07-3d3bd749b62c")]
24

  
25
// Version information for an assembly consists of the following four values:
26
//
27
//      Major Version
28
//      Minor Version 
29
//      Build Number
30
//      Revision
31
//
32
// You can specify all the values or you can default the Revision and Build Numbers 
33
// by using the '*' as shown below:
34
[assembly: AssemblyVersion("2.5.6.0")]
35
[assembly: AssemblyFileVersion("2.5.6.0")]
36
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
ConvertService/ServiceBase/ConvertionWebServiceDefault/Properties/PublishProfiles/FILE.pubxml
1
<?xml version="1.0" encoding="utf-8"?>
2
<!--
3
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
4
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
5
-->
6
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7
  <PropertyGroup>
8
    <WebPublishMethod>FileSystem</WebPublishMethod>
9
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
10
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
11
    <SiteUrlToLaunchAfterPublish />
12
    <ExcludeApp_Data>False</ExcludeApp_Data>
13
    <publishUrl>D:\Source\MarkusTemp\ServiceBase\ConvertionWebServicePublish</publishUrl>
14
    <DeleteExistingFiles>True</DeleteExistingFiles>
15
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
16
  </PropertyGroup>
17
</Project>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Properties/Settings.Designer.cs
1
//------------------------------------------------------------------------------
2
// <auto-generated>
3
//     이 코드는 도구를 사용하여 생성되었습니다.
4
//     런타임 버전:4.0.30319.42000
5
//
6
//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7
//     이러한 변경 내용이 손실됩니다.
8
// </auto-generated>
9
//------------------------------------------------------------------------------
10

  
11
namespace ConvertionWebService.Properties {
12
    
13
    
14
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
16
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17
        
18
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19
        
20
        public static Settings Default {
21
            get {
22
                return defaultInstance;
23
            }
24
        }
25
        
26
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
27
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28
        [global::System.Configuration.DefaultSettingValueAttribute("")]
29
        public string ErrorNoticeID {
30
            get {
31
                return ((string)(this["ErrorNoticeID"]));
32
            }
33
        }
34
        
35
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
36
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
37
        [global::System.Configuration.DefaultSettingValueAttribute("000000,111111")]
38
        public string MARKUS_V3_PROJECTS {
39
            get {
40
                return ((string)(this["MARKUS_V3_PROJECTS"]));
41
            }
42
        }
43
        
44
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
45
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
46
        [global::System.Configuration.DefaultSettingValueAttribute("http://localhost:9101/StationService")]
47
        public string MARKUS_V3_ADDRESS {
48
            get {
49
                return ((string)(this["MARKUS_V3_ADDRESS"]));
50
            }
51
        }
52
        
53
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
54
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
55
        [global::System.Configuration.DefaultSettingValueAttribute("http://172.20.120.141:5977/TileSource/Excelexport/")]
56
        public string Excelresulturl {
57
            get {
58
                return ((string)(this["Excelresulturl"]));
59
            }
60
        }
61
        
62
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
63
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64
        [global::System.Configuration.DefaultSettingValueAttribute("\\\\172.20.121.220\\comment3\\TileSource\\Excelexport")]
65
        public string Excelfilepath {
66
            get {
67
                return ((string)(this["Excelfilepath"]));
68
            }
69
        }
70
        
71
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
72
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
73
        [global::System.Configuration.DefaultSettingValueAttribute("tcp://localhost:8091/remConverterPDF")]
74
        public string ConverterRemotingUrl {
75
            get {
76
                return ((string)(this["ConverterRemotingUrl"]));
77
            }
78
        }
79
    }
80
}
ConvertService/ServiceBase/ConvertionWebServiceDefault/Properties/Settings.settings
1
<?xml version='1.0' encoding='utf-8'?>
2
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="ConvertionWebService.Properties" GeneratedClassName="Settings">
3
  <Profiles />
4
  <Settings>
5
    <Setting Name="ErrorNoticeID" Type="System.String" Scope="Application">
6
      <Value Profile="(Default)" />
7
    </Setting>
8
    <Setting Name="MARKUS_V3_PROJECTS" Type="System.String" Scope="Application">
9
      <Value Profile="(Default)">000000,111111</Value>
10
    </Setting>
11
    <Setting Name="MARKUS_V3_ADDRESS" Type="System.String" Scope="Application">
12
      <Value Profile="(Default)">http://localhost:9101/StationService</Value>
13
    </Setting>
14
    <Setting Name="Excelresulturl" Type="System.String" Scope="Application">
15
      <Value Profile="(Default)">http://172.20.120.141:5977/TileSource/Excelexport/</Value>
16
    </Setting>
17
    <Setting Name="Excelfilepath" Type="System.String" Scope="Application">
18
      <Value Profile="(Default)">\\172.20.121.220\comment3\TileSource\Excelexport</Value>
19
    </Setting>
20
    <Setting Name="ConverterRemotingUrl" Type="System.String" Scope="Application">
21
      <Value Profile="(Default)">tcp://localhost:8091/remConverterPDF</Value>
22
    </Setting>
23
  </Settings>
24
</SettingsFile>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Web.Debug.config
1
<?xml version="1.0"?>
2

  
3
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
4

  
5
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6
  <!--
7
    In the example below, the "SetAttributes" transform will change the value of 
8
    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
9
    finds an atrribute "name" that has a value of "MyDB".
10
    
11
    <connectionStrings>
12
      <add name="MyDB" 
13
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
14
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15
    </connectionStrings>
16
  -->
17
  <system.web>
18
    <!--
19
      In the example below, the "Replace" transform will replace the entire 
20
      <customErrors> section of your web.config file.
21
      Note that because there is only one customErrors section under the 
22
      <system.web> node, there is no need to use the "xdt:Locator" attribute.
23
      
24
      <customErrors defaultRedirect="GenericError.htm"
25
        mode="RemoteOnly" xdt:Transform="Replace">
26
        <error statusCode="500" redirect="InternalError.htm"/>
27
      </customErrors>
28
    -->
29
  </system.web>
30
</configuration>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Web.Release.config
1
<?xml version="1.0"?>
2

  
3
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
4

  
5
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6
  <!--
7
    In the example below, the "SetAttributes" transform will change the value of 
8
    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
9
    finds an atrribute "name" that has a value of "MyDB".
10
    
11
    <connectionStrings>
12
      <add name="MyDB" 
13
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
14
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15
    </connectionStrings>
16
  -->
17
  <system.web>
18
    <compilation xdt:Transform="RemoveAttributes(debug)" />
19
    <!--
20
      In the example below, the "Replace" transform will replace the entire 
21
      <customErrors> section of your web.config file.
22
      Note that because there is only one customErrors section under the 
23
      <system.web> node, there is no need to use the "xdt:Locator" attribute.
24
      
25
      <customErrors defaultRedirect="GenericError.htm"
26
        mode="RemoteOnly" xdt:Transform="Replace">
27
        <error statusCode="500" redirect="InternalError.htm"/>
28
      </customErrors>
29
    -->
30
  </system.web>
31
</configuration>
ConvertService/ServiceBase/ConvertionWebServiceDefault/Web.config
1
<?xml version="1.0"?>
2
<!--
3
  For more information on how to configure your ASP.NET application, please visit
4
  http://go.microsoft.com/fwlink/?LinkId=169433
5
  -->
6
<configuration>
7
  <configSections>
8
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
9
      <section name="ConvertionWebService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
10
    </sectionGroup>
11
  </configSections>
12
  <!--
13
    web.config 변경 내용에 대한 설명은  http://go.microsoft.com/fwlink/?LinkId=235367을 참고하십시오.
14

  
15
    다음 특성은 <httpRuntime> 태그에 설정할 수 있습니다.
16
      <system.Web>
17
        <httpRuntime targetFramework="4.5.2" />
18
      </system.Web>
19
  -->
20
  <system.web>
21
    <compilation debug="true" targetFramework="4.5.2"/>
22
    <pages controlRenderingCompatibilityVersion="4.0"/>
23
  </system.web>
24
  <applicationSettings>
25
    <ConvertionWebService.Properties.Settings>
26
      <setting name="ErrorNoticeID" serializeAs="String">
27
        <value />
28
      </setting>
29
      <setting name="MARKUS_V3_PROJECTS" serializeAs="String">
30
        <value>000000,111111</value>
31
      </setting>
32
      <setting name="MARKUS_V3_ADDRESS" serializeAs="String">
33
        <value>http://localhost:9101/StationService</value>
34
      </setting>
35
      <setting name="Excelresulturl" serializeAs="String">
36
        <value>http://172.20.120.141:5977/TileSource/Excelexport/</value>
37
      </setting>
38
      <setting name="Excelfilepath" serializeAs="String">
39
        <value>\\172.20.121.220\comment3\TileSource\Excelexport</value>
40
      </setting>
41
      <setting name="ConverterRemotingUrl" serializeAs="String">
42
        <value>tcp://localhost:8091/remConverterPDF</value>
43
      </setting>
44
    </ConvertionWebService.Properties.Settings>
45
  </applicationSettings>
46
  <system.serviceModel>
47
    <bindings/>
48
    <client/>
49
  </system.serviceModel>
50
</configuration>
ConvertService/ServiceBase/ConvertionWebServiceDefault/packages.config
1
<?xml version="1.0" encoding="utf-8"?>
2
<packages>
3
  <package id="GemBox.Spreadsheet" version="39.3.30.1215" targetFramework="net452" />
4
  <package id="log4net" version="2.0.8" targetFramework="net452" />
5
  <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net40" requireReinstallation="true" />
6
</packages>
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

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