프로젝트

일반

사용자정보

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

markus / KCOM / Events / SaveCommand.cs @ 24678e06

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

1
using IKCOM;
2
using KCOM.Common;
3
using KCOMDataModel.Common;
4
using KCOMDataModel.DataModel;
5
using MarkupToPDF.Common;
6
using MarkupToPDF.Controls.Parsing;
7
using System;
8
using System.Collections.Generic;
9
using System.Linq;
10
using System.Text;
11
using System.Windows.Controls;
12

    
13
namespace KCOM.Events
14
{
15
    public class SaveCommand
16
    {
17
        private static readonly SaveCommand _instance = new SaveCommand();
18

    
19
        // Explicit static constructor to tell C# compiler
20
        // not to mark type as beforefieldinit
21
        static SaveCommand()
22
        {
23
        }
24

    
25
        private SaveCommand()
26
        {
27
        }
28

    
29
        public static SaveCommand Instance
30
        {
31
            get
32
            {
33
                return _instance;
34
            }
35
        }
36

    
37
        #region Properties
38

    
39
        public ViewInfo _ViewInfo;
40
        public string Project_No
41
        {
42
            get;
43
            set;
44
        }
45
        public string document_id
46
        {
47
            get;
48
            set;
49
        }
50

    
51
        public string user_id
52
        {
53
            get;
54
            set;
55
        }
56

    
57
        public int page_no
58
        {
59
            get;
60
            set;
61
        }
62
        #endregion
63

    
64
        public void MarkupConsolidate()
65
        {
66

    
67
        }
68

    
69
        /// <summary>
70
        /// save comments related to given markup information
71
        /// </summary>
72
        /// <param name="UserState"></param>
73
        /// <param name="iPageNo"></param>
74
        public void Execute(ICollection<MarkupInfoItem> UserStates, int iPageNo)
75
        {
76
            try
77
            {
78
                foreach (var UserState in UserStates)
79
                {
80
                    List<MARKUP_DATA> markupdata = new List<MARKUP_DATA>();
81
                    ViewerDataModel.Instance.MarkupControls_USER.Where(d => d.MarkupInfoID == UserState.MarkupInfoID).ToList().GroupBy(p => p.CommentID).Select(g => g.First()).ToList().ForEach(value =>
82
                    {
83
                        markupdata.Add(value.GetMarkupData(App.ViewInfo.UserID, iPageNo, UserState.MarkupVersionID));
84
                    });
85

    
86
                    Logger.sendReqLog("GetMarkupDataListperPage: ", UserState + "," + Project_No + "," + document_id + "," + user_id + "," + markupdata, 1);
87
                    Logger.sendResLog("GetMarkupDataListperPage", Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.SaveMarkupData(UserState, Project_No, document_id, user_id, markupdata).ToString(), 1);
88
                }
89
                TempFile.Remove(); //임시파일삭제
90
            }
91
            catch (Exception)
92
            {
93
                throw;
94
            }
95
        }
96

    
97
        public void SymbolSave(string Name, string Url, string Data)
98
        {
99
            try
100
            {
101
                SYMBOL_PRIVATE symbol_private = new SYMBOL_PRIVATE
102
                {
103
                    ID = Commons.shortGuid(),
104
                    MEMBER_USER_ID = App.ViewInfo.UserID,
105
                    NAME = Name,
106
                    IMAGE_URL = Url,
107
                    DATA = Data
108
                };
109

    
110
                Logger.sendReqLog("SaveSymbolAsync: ", symbol_private.ID + "," + symbol_private.MEMBER_USER_ID + "," + symbol_private.NAME + "," + symbol_private.IMAGE_URL + "," + symbol_private.DATA, 1);
111
                Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.SaveSymbolAsync(symbol_private);
112
            }
113
            catch(Exception)
114
            {
115
                throw;
116
            }
117
        }
118
        public void SymbolSave_Public(string Name, string Url, string Data, string Department)
119
        {
120
            try
121
            {
122
                SYMBOL_PUBLIC symbol_public = new SYMBOL_PUBLIC
123
                {
124
                    ID = Commons.shortGuid(),
125
                    DEPARTMENT = Department,
126
                    NAME = Name,
127
                    IMAGE_URL = Url,
128
                    DATA = Data
129
                };
130

    
131
                Logger.sendReqLog("AddPublicSymbol: ", symbol_public.ID + "," + symbol_public.DEPARTMENT + "," + symbol_public.NAME + "," + symbol_public.IMAGE_URL + "," + symbol_public.DATA, 1);
132
                Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.AddPublicSymbol(symbol_public);
133
            }
134
            catch (Exception)
135
            {
136
                throw;
137
            }
138
        }
139
        public void PageAngleSave(string project_no, List<DOCPAGE> _mldocpage)
140
        {
141
            try
142
            {
143

    
144
                Logger.sendReqLog("SavePageAngle: ", project_no + "," + _mldocpage, 1);
145
                Logger.sendResLog("SavePageAngle", Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.SavePageAngle(project_no, _mldocpage).ToString(), 1);
146
                Common.ViewerDataModel.Instance.RotationDocs.Clear();
147
            }
148
            catch (Exception)
149
            {
150
                throw;
151
            }
152
        }
153
    }
154
}
클립보드 이미지 추가 (최대 크기: 500 MB)