프로젝트

일반

사용자정보

개정판 f4230b40

IDf4230b4012a6b9902f53d948c2f62c597bd84ab5
상위 87d6be27
하위 edded054

유성호이(가) 일년 이상 전에 추가함

issue #0000
검증(Validation) - 도프텍 캡쳐, 삼성 캡쳐 삭제 - 진행 중
작업 - 캡쳐 추가
- BriefAndImages 컨트롤 제거
- Main UI 삭제
- AttFile 로직 전체 변경
- Model 수정
- Main > 작업 > 캡쳐 컨트롤 추가
- issue, 이미지, 답변 및 수정사항 로직 수정

Change-Id: Ie6c51ff7d70c70ee31457ea1c36df4295834ea72

차이점 보기:

ID2.Manager/ID2.Manager.Dapper/Repository/DocumentRepository.cs
254 254
                                                case "frreview":
255 255
                                                    doc.FrCapture++;
256 256
                                                    break;
257
                                                case "prodvalidation":
258
                                                    doc.ProdCapture++;
259
                                                    break;
260
                                                case "clientvalidation":
261
                                                    doc.ClientCapture++;
257
                                                //case "prodvalidation":
258
                                                //    doc.ProdCapture++;
259
                                                //    break;
260
                                                //case "clientvalidation":
261
                                                //    doc.ClientCapture++;
262
                                                //    break;
263
                                                case "id2work":
264
                                                    doc.ID2Capture++;
262 265
                                                    break;
263 266
                                            }
264 267

  
ID2.Manager/ID2.Manager.Data/Models/Documents.cs
105 105
        public string ID2Status { get; set; }
106 106
        [DataMember]
107 107
        public string ID2Issues { get; set; }
108
        public int ID2Capture { get; set; }
108 109
        [DataMember]
109 110
        public string ReplyModifications { get; set; }
110 111
        [DataMember]
......
131 132
        public string ProdIsResult { get; set; }
132 133
        [DataMember]
133 134
        public string ProdRemarks { get; set; }
134
        public int ProdCapture { get; set; }
135
        //public int ProdCapture { get; set; }
135 136
        [DataMember]
136 137
        public string ClientReviewer { get; set; }
137 138
        [DataMember]
138 139
        public string ClientIsResult { get; set; }
139 140
        [DataMember]
140 141
        public string ClientRemarks { get; set; }
141
        public int ClientCapture { get; set; }
142
        //public int ClientCapture { get; set; }
142 143
        [DataMember]
143 144
        public string DTIsGateWay { get; set; }
144 145
        [DataMember]
ID2.Manager/ID2.Manager/Controls/IssueImagesAndAnswer.Designer.cs
1

2
namespace ID2.Manager.Controls
3
{
4
    partial class IssueImagesAndAnswer
5
    {
6
        /// <summary> 
7
        /// 필수 디자이너 변수입니다.
8
        /// </summary>
9
        private System.ComponentModel.IContainer components = null;
10

  
11
        /// <summary> 
12
        /// 사용 중인 모든 리소스를 정리합니다.
13
        /// </summary>
14
        /// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
15
        protected override void Dispose(bool disposing)
16
        {
17
            if (disposing && (components != null))
18
            {
19
                components.Dispose();
20
            }
21
            base.Dispose(disposing);
22
        }
23

  
24
        #region 구성 요소 디자이너에서 생성한 코드
25

  
26
        /// <summary> 
27
        /// 디자이너 지원에 필요한 메서드입니다. 
28
        /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
29
        /// </summary>
30
        private void InitializeComponent()
31
        {
32
            this.LayoutRoot = new System.Windows.Forms.TableLayoutPanel();
33
            this.LayoutImages = new System.Windows.Forms.TableLayoutPanel();
34
            this.label1 = new System.Windows.Forms.Label();
35
            this.selectImage = new Telerik.WinControls.UI.RadPictureBox();
36
            this.LayoutDoftech = new System.Windows.Forms.TableLayoutPanel();
37
            this.lblIssue = new System.Windows.Forms.Label();
38
            this.txtIssue = new Telerik.WinControls.UI.RadTextBox();
39
            this.lstImages = new Telerik.WinControls.UI.RadListView();
40
            this.LayoutSec = new System.Windows.Forms.TableLayoutPanel();
41
            this.lblReplyModification = new System.Windows.Forms.Label();
42
            this.txtReplyModification = new Telerik.WinControls.UI.RadTextBox();
43
            this.LayoutRoot.SuspendLayout();
44
            this.LayoutImages.SuspendLayout();
45
            ((System.ComponentModel.ISupportInitialize)(this.selectImage)).BeginInit();
46
            this.LayoutDoftech.SuspendLayout();
47
            ((System.ComponentModel.ISupportInitialize)(this.txtIssue)).BeginInit();
48
            ((System.ComponentModel.ISupportInitialize)(this.lstImages)).BeginInit();
49
            this.LayoutSec.SuspendLayout();
50
            ((System.ComponentModel.ISupportInitialize)(this.txtReplyModification)).BeginInit();
51
            this.SuspendLayout();
52
            // 
53
            // LayoutRoot
54
            // 
55
            this.LayoutRoot.AutoSize = true;
56
            this.LayoutRoot.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
57
            this.LayoutRoot.ColumnCount = 1;
58
            this.LayoutRoot.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
59
            this.LayoutRoot.Controls.Add(this.LayoutImages, 0, 2);
60
            this.LayoutRoot.Controls.Add(this.LayoutDoftech, 0, 0);
61
            this.LayoutRoot.Controls.Add(this.LayoutSec, 0, 1);
62
            this.LayoutRoot.Dock = System.Windows.Forms.DockStyle.Fill;
63
            this.LayoutRoot.Location = new System.Drawing.Point(0, 0);
64
            this.LayoutRoot.Name = "LayoutRoot";
65
            this.LayoutRoot.RowCount = 3;
66
            this.LayoutRoot.RowStyles.Add(new System.Windows.Forms.RowStyle());
67
            this.LayoutRoot.RowStyles.Add(new System.Windows.Forms.RowStyle());
68
            this.LayoutRoot.RowStyles.Add(new System.Windows.Forms.RowStyle());
69
            this.LayoutRoot.Size = new System.Drawing.Size(286, 570);
70
            this.LayoutRoot.TabIndex = 1;
71
            // 
72
            // LayoutImages
73
            // 
74
            this.LayoutImages.AutoSize = true;
75
            this.LayoutImages.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
76
            this.LayoutImages.ColumnCount = 1;
77
            this.LayoutImages.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
78
            this.LayoutImages.Controls.Add(this.label1, 0, 0);
79
            this.LayoutImages.Controls.Add(this.selectImage, 0, 1);
80
            this.LayoutImages.Dock = System.Windows.Forms.DockStyle.Fill;
81
            this.LayoutImages.Location = new System.Drawing.Point(3, 225);
82
            this.LayoutImages.Name = "LayoutImages";
83
            this.LayoutImages.RowCount = 2;
84
            this.LayoutImages.RowStyles.Add(new System.Windows.Forms.RowStyle());
85
            this.LayoutImages.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
86
            this.LayoutImages.Size = new System.Drawing.Size(280, 342);
87
            this.LayoutImages.TabIndex = 1;
88
            // 
89
            // label1
90
            // 
91
            this.label1.AutoSize = true;
92
            this.label1.BackColor = System.Drawing.Color.Transparent;
93
            this.label1.Dock = System.Windows.Forms.DockStyle.Left;
94
            this.label1.Location = new System.Drawing.Point(3, 3);
95
            this.label1.Margin = new System.Windows.Forms.Padding(3);
96
            this.label1.Name = "label1";
97
            this.label1.Size = new System.Drawing.Size(99, 12);
98
            this.label1.TabIndex = 1;
99
            this.label1.Text = "- Select Image -";
100
            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
101
            // 
102
            // selectImage
103
            // 
104
            this.selectImage.Dock = System.Windows.Forms.DockStyle.Fill;
105
            this.selectImage.Location = new System.Drawing.Point(3, 21);
106
            this.selectImage.Name = "selectImage";
107
            this.selectImage.ShowBorder = true;
108
            this.selectImage.Size = new System.Drawing.Size(274, 318);
109
            this.selectImage.TabIndex = 3;
110
            // 
111
            // LayoutDoftech
112
            // 
113
            this.LayoutDoftech.AutoSize = true;
114
            this.LayoutDoftech.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
115
            this.LayoutDoftech.ColumnCount = 1;
116
            this.LayoutDoftech.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
117
            this.LayoutDoftech.Controls.Add(this.lblIssue, 0, 0);
118
            this.LayoutDoftech.Controls.Add(this.txtIssue, 0, 1);
119
            this.LayoutDoftech.Controls.Add(this.lstImages, 0, 2);
120
            this.LayoutDoftech.Dock = System.Windows.Forms.DockStyle.Fill;
121
            this.LayoutDoftech.Location = new System.Drawing.Point(3, 3);
122
            this.LayoutDoftech.MinimumSize = new System.Drawing.Size(0, 105);
123
            this.LayoutDoftech.Name = "LayoutDoftech";
124
            this.LayoutDoftech.RowCount = 3;
125
            this.LayoutDoftech.RowStyles.Add(new System.Windows.Forms.RowStyle());
126
            this.LayoutDoftech.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
127
            this.LayoutDoftech.RowStyles.Add(new System.Windows.Forms.RowStyle());
128
            this.LayoutDoftech.Size = new System.Drawing.Size(280, 105);
129
            this.LayoutDoftech.TabIndex = 0;
130
            // 
131
            // lblIssue
132
            // 
133
            this.lblIssue.AutoSize = true;
134
            this.lblIssue.BackColor = System.Drawing.Color.Transparent;
135
            this.lblIssue.Dock = System.Windows.Forms.DockStyle.Left;
136
            this.lblIssue.Location = new System.Drawing.Point(3, 3);
137
            this.lblIssue.Margin = new System.Windows.Forms.Padding(3);
138
            this.lblIssue.Name = "lblIssue";
139
            this.lblIssue.Size = new System.Drawing.Size(56, 12);
140
            this.lblIssue.TabIndex = 0;
141
            this.lblIssue.Text = "- Issue -";
142
            this.lblIssue.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
143
            // 
144
            // txtIssue
145
            // 
146
            this.txtIssue.AcceptsReturn = true;
147
            this.txtIssue.Dock = System.Windows.Forms.DockStyle.Fill;
148
            this.txtIssue.Location = new System.Drawing.Point(3, 21);
149
            this.txtIssue.MinimumSize = new System.Drawing.Size(30, 0);
150
            this.txtIssue.Multiline = true;
151
            this.txtIssue.Name = "txtIssue";
152
            // 
153
            // 
154
            // 
155
            this.txtIssue.RootElement.MinSize = new System.Drawing.Size(30, 0);
156
            this.txtIssue.RootElement.StretchVertically = true;
157
            this.txtIssue.ShowClearButton = true;
158
            this.txtIssue.ShowNullText = true;
159
            this.txtIssue.Size = new System.Drawing.Size(274, 21);
160
            this.txtIssue.TabIndex = 1;
161
            // 
162
            // lstImages
163
            // 
164
            this.lstImages.AllowEdit = false;
165
            this.lstImages.AutoScroll = true;
166
            this.lstImages.Dock = System.Windows.Forms.DockStyle.Fill;
167
            this.lstImages.FullRowSelect = false;
168
            this.lstImages.ItemSize = new System.Drawing.Size(50, 50);
169
            this.lstImages.Location = new System.Drawing.Point(3, 48);
170
            this.lstImages.MaximumSize = new System.Drawing.Size(0, 60);
171
            this.lstImages.Name = "lstImages";
172
            // 
173
            // 
174
            // 
175
            this.lstImages.RootElement.MaxSize = new System.Drawing.Size(0, 60);
176
            this.lstImages.ShowItemToolTips = false;
177
            this.lstImages.Size = new System.Drawing.Size(274, 54);
178
            this.lstImages.TabIndex = 4;
179
            this.lstImages.ViewType = Telerik.WinControls.UI.ListViewType.IconsView;
180
            // 
181
            // LayoutSec
182
            // 
183
            this.LayoutSec.AutoSize = true;
184
            this.LayoutSec.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
185
            this.LayoutSec.ColumnCount = 1;
186
            this.LayoutSec.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
187
            this.LayoutSec.Controls.Add(this.lblReplyModification, 0, 0);
188
            this.LayoutSec.Controls.Add(this.txtReplyModification, 0, 1);
189
            this.LayoutSec.Dock = System.Windows.Forms.DockStyle.Fill;
190
            this.LayoutSec.Location = new System.Drawing.Point(3, 114);
191
            this.LayoutSec.MinimumSize = new System.Drawing.Size(0, 105);
192
            this.LayoutSec.Name = "LayoutSec";
193
            this.LayoutSec.RowCount = 2;
194
            this.LayoutSec.RowStyles.Add(new System.Windows.Forms.RowStyle());
195
            this.LayoutSec.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
196
            this.LayoutSec.Size = new System.Drawing.Size(280, 105);
197
            this.LayoutSec.TabIndex = 2;
198
            // 
199
            // lblReplyModification
200
            // 
201
            this.lblReplyModification.AutoSize = true;
202
            this.lblReplyModification.BackColor = System.Drawing.Color.Transparent;
203
            this.lblReplyModification.Dock = System.Windows.Forms.DockStyle.Left;
204
            this.lblReplyModification.Location = new System.Drawing.Point(3, 3);
205
            this.lblReplyModification.Margin = new System.Windows.Forms.Padding(3);
206
            this.lblReplyModification.Name = "lblReplyModification";
207
            this.lblReplyModification.Size = new System.Drawing.Size(117, 12);
208
            this.lblReplyModification.TabIndex = 1;
209
            this.lblReplyModification.Text = "- 답변 및 수정사항 -";
210
            this.lblReplyModification.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
211
            // 
212
            // txtReplyModification
213
            // 
214
            this.txtReplyModification.AcceptsReturn = true;
215
            this.txtReplyModification.Dock = System.Windows.Forms.DockStyle.Fill;
216
            this.txtReplyModification.Location = new System.Drawing.Point(3, 21);
217
            this.txtReplyModification.MinimumSize = new System.Drawing.Size(30, 0);
218
            this.txtReplyModification.Multiline = true;
219
            this.txtReplyModification.Name = "txtReplyModification";
220
            // 
221
            // 
222
            // 
223
            this.txtReplyModification.RootElement.MinSize = new System.Drawing.Size(30, 0);
224
            this.txtReplyModification.RootElement.StretchVertically = true;
225
            this.txtReplyModification.ShowClearButton = true;
226
            this.txtReplyModification.ShowNullText = true;
227
            this.txtReplyModification.Size = new System.Drawing.Size(274, 81);
228
            this.txtReplyModification.TabIndex = 2;
229
            // 
230
            // IssueImagesAndAnswer
231
            // 
232
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
233
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
234
            this.Controls.Add(this.LayoutRoot);
235
            this.Name = "IssueImagesAndAnswer";
236
            this.Size = new System.Drawing.Size(286, 570);
237
            this.LayoutRoot.ResumeLayout(false);
238
            this.LayoutRoot.PerformLayout();
239
            this.LayoutImages.ResumeLayout(false);
240
            this.LayoutImages.PerformLayout();
241
            ((System.ComponentModel.ISupportInitialize)(this.selectImage)).EndInit();
242
            this.LayoutDoftech.ResumeLayout(false);
243
            this.LayoutDoftech.PerformLayout();
244
            ((System.ComponentModel.ISupportInitialize)(this.txtIssue)).EndInit();
245
            ((System.ComponentModel.ISupportInitialize)(this.lstImages)).EndInit();
246
            this.LayoutSec.ResumeLayout(false);
247
            this.LayoutSec.PerformLayout();
248
            ((System.ComponentModel.ISupportInitialize)(this.txtReplyModification)).EndInit();
249
            this.ResumeLayout(false);
250
            this.PerformLayout();
251

  
252
        }
253

  
254
        #endregion
255

  
256
        private System.Windows.Forms.TableLayoutPanel LayoutRoot;
257
        private System.Windows.Forms.TableLayoutPanel LayoutImages;
258
        private System.Windows.Forms.Label label1;
259
        private Telerik.WinControls.UI.RadPictureBox selectImage;
260
        private System.Windows.Forms.TableLayoutPanel LayoutDoftech;
261
        private System.Windows.Forms.Label lblIssue;
262
        private Telerik.WinControls.UI.RadTextBox txtIssue;
263
        private Telerik.WinControls.UI.RadListView lstImages;
264
        private System.Windows.Forms.TableLayoutPanel LayoutSec;
265
        private System.Windows.Forms.Label lblReplyModification;
266
        private Telerik.WinControls.UI.RadTextBox txtReplyModification;
267
    }
268
}
ID2.Manager/ID2.Manager/Controls/IssueImagesAndAnswer.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Linq;
7
using System.Text;
8
using System.Threading.Tasks;
9
using System.Windows.Forms;
10

  
11
using System.IO;
12

  
13
using ID2.Manager.Common;
14

  
15
using Telerik.WinControls;
16
using Telerik.WinControls.UI;
17

  
18
namespace ID2.Manager.Controls
19
{
20
    public partial class IssueImagesAndAnswer : UserControl
21
    {
22
        readonly Informations informations = Informations.Instance;
23
        const int TextMinHeight = 30;
24
        public event EventHandler<AttImageInfo> RemoveImage;
25
        bool IsClient = false;
26

  
27
        public IssueImagesAndAnswer()
28
        {
29
            InitializeComponent();
30

  
31
            txtIssue.DataBindings.Add(new Binding("Text", this, "IssueText", false, DataSourceUpdateMode.OnPropertyChanged));
32
            txtReplyModification.DataBindings.Add(new Binding("Text", this, "ReplyModificationText", false, DataSourceUpdateMode.OnPropertyChanged));
33
            txtIssue.TextBoxElement.TextBoxItem.MouseDown += TextBoxItemIssue_MouseDown;
34
            txtReplyModification.TextBoxElement.TextBoxItem.LostFocus += TextBoxItemIssue_LostFocus;
35

  
36
            txtReplyModification.TextBoxElement.TextBoxItem.MouseDown += TextBoxItemReplyModification_MouseDown;
37
            txtReplyModification.TextBoxElement.TextBoxItem.LostFocus += TextBoxItemReplyModification_LostFocus;
38

  
39
            lstImages.ListViewElement.ViewElement.Orientation = Orientation.Horizontal;
40

  
41
            selectImage.ContextMenuOpened += SelectImage_ContextMenuOpened;
42
            selectImage.MouseWheel += SelectImage_MouseWheel;
43

  
44
            lstImages.SelectedItemChanged += LstImages_SelectedItemChanged;
45
            lstImages.ItemRemoving += LstToImages_ItemRemoving;
46
            lstImages.ItemRemoved += LstToImages_ItemRemoved;
47
            lstImages.VisualItemFormatting += LstImages_VisualItemFormatting;
48
            lstImages.EditorInitialized += LstToImages_EditorInitialized;
49

  
50
            this.IsClient = !string.IsNullOrEmpty(informations.ActiveUser.RefProjectID);
51
            txtIssue.ReadOnly = this.IsClient;
52
            txtReplyModification.ReadOnly = this.IsClient;
53
        }
54

  
55
        private void LstToImages_EditorInitialized(object sender, ListViewItemEditorInitializedEventArgs e)
56
        {
57
        }
58

  
59
        private void LstToImages_ItemRemoving(object sender, ListViewItemCancelEventArgs e)
60
        {
61
            if (RemoveImage != null)
62
            {
63
                e.Cancel = this.IsClient;
64
            }
65
        }
66

  
67
        private void LstToImages_ItemRemoved(object sender, ListViewItemEventArgs e)
68
        {
69
            if (RemoveImage != null)
70
            {
71
                RemoveImage(this, e.Item.DataBoundItem as AttImageInfo);
72
            }
73
        }
74

  
75
        private void TextBoxItemIssue_LostFocus(object sender, EventArgs e)
76
        {
77
            txtIssue.MinimumSize = new Size(0, TextMinHeight);
78

  
79
            LayoutDoftech.RowStyles[1].Height = 100;
80
            LayoutDoftech.RowStyles[1].SizeType = SizeType.Percent;
81
        }
82

  
83
        private void TextBoxItemIssue_MouseDown(object sender, MouseEventArgs e)
84
        {
85
            txtIssue.MinimumSize = new Size(0, 100);
86

  
87
            LayoutDoftech.RowStyles[1].Height = 100;
88
            LayoutDoftech.RowStyles[1].SizeType = SizeType.Absolute;
89
        }
90

  
91
        private void TextBoxItemReplyModification_LostFocus(object sender, EventArgs e)
92
        {
93

  
94
            txtReplyModification.MinimumSize = new Size(0, TextMinHeight);
95

  
96
            LayoutSec.RowStyles[1].Height = 100;
97
            LayoutSec.RowStyles[1].SizeType = SizeType.Percent;
98
        }
99

  
100
        private void TextBoxItemReplyModification_MouseDown(object sender, MouseEventArgs e)
101
        {
102
            txtReplyModification.MinimumSize = new Size(0, 100);
103

  
104
            LayoutSec.RowStyles[1].Height = 100;
105
            LayoutSec.RowStyles[1].SizeType = SizeType.Absolute;
106
        }
107

  
108
        public event PropertyChangedEventHandler PropertyChanged;
109

  
110
        private void LstImages_VisualItemFormatting(object sender, ListViewVisualItemEventArgs e)
111
        {
112
            e.VisualItem.ImageLayout = ImageLayout.Stretch;
113
        }
114

  
115
        private void LstImages_SelectedItemChanged(object sender, EventArgs e)
116
        {
117
            var lstImages = sender as RadListViewElement;
118

  
119
            selectImage.Image = lstImages.SelectedItem?.Image;
120
        }
121

  
122
        private void SelectImage_MouseWheel(object sender, MouseEventArgs e)
123
        {
124
            if (e.Delta < 0)
125
            {
126
                selectImage.ZoomProperties.ZoomOut();
127
            }
128
            else
129
            {
130
                selectImage.ZoomProperties.ZoomIn();
131
            }
132

  
133
        }
134

  
135
        private void SelectImage_ContextMenuOpened(object sender, EventArgs e)
136
        {
137
            selectImage.ContextMenuProperties.OpenItem.Visibility = ElementVisibility.Collapsed;
138
            selectImage.ContextMenuProperties.RemoveItem.Visibility = ElementVisibility.Collapsed;
139
            selectImage.ContextMenuProperties.CutItem.Visibility = ElementVisibility.Collapsed;
140
            selectImage.ContextMenuProperties.PasteItem.Visibility = ElementVisibility.Collapsed;
141
        }
142

  
143
        public void SetImages(List<AttImageInfo> images)
144
        {
145
            foreach (var image in images)
146
            {
147
                AddImage(image);
148
            }
149

  
150
            if (images?.Count() > 0)
151
            {
152
                lstImages.SelectedIndex = 0;
153
            }
154
        }
155

  
156
        public void AddImage(AttImageInfo image, bool SelectItem = false)
157
        {
158
            ListViewDataItem item = new ListViewDataItem("");
159
            item.DataBoundItem = image;
160
            item.ImageAlignment = ContentAlignment.MiddleCenter;
161
            item.Image = GetImage(image.Data);
162
            item.TextImageRelation = TextImageRelation.ImageBeforeText;
163
            lstImages.Items.Add(item);
164

  
165
            if (SelectItem)
166
            {
167
                lstImages.SelectedItem = item;
168
            }
169
        }
170

  
171
        public void Clear()
172
        {
173
            this.DataBindings.Clear();
174
            lstImages.Items.Clear();
175
            selectImage.Image = null;
176
            IssueText = "";//대소문자확인필요
177
            ReplyModificationText = "";//대소문자확인필요
178
        }
179

  
180
        private string issueText;
181
        public string IssueText
182
        {
183
            get { return issueText; }
184
            set
185
            {
186
                if (issueText != value)
187
                {
188
                    issueText = value;
189
                    var propArg = new PropertyChangedEventArgs(nameof(IssueText));
190
                    PropertyChanged?.Invoke(this, propArg);
191
                }
192
            }
193
        }
194

  
195
        private string replyModificationText;
196
        public string ReplyModificationText
197
        {
198
            get { return replyModificationText; }
199
            set
200
            {
201
                if (replyModificationText != value)
202
                {
203
                    replyModificationText = value;
204
                    var propArg = new PropertyChangedEventArgs(nameof(ReplyModificationText));
205
                    PropertyChanged?.Invoke(this, propArg);
206
                }
207
            }
208
        }
209

  
210
        private Image GetImage(byte[] data)
211
        {
212
            Image result = null;
213

  
214
            using (MemoryStream ms = new MemoryStream(data))
215
            {
216
                result = Image.FromStream(ms);
217
            }
218

  
219
            return result;
220
        }
221

  
222
        //private void txtBrief_TextChanged(object sender, EventArgs e)
223
        //{
224
        //    IssueText = txtIssue.Text;
225
        //}
226

  
227
        //private void txtBriefSec_TextChanged(object sender, EventArgs e)
228
        //{
229
        //    ReplyModificationText = txtReplyModification.Text;
230
        //}
231
    }
232
}
ID2.Manager/ID2.Manager/Controls/IssueImagesAndAnswer.resx
1
<?xml version="1.0" encoding="utf-8"?>
2
<root>
3
  <!-- 
4
    Microsoft ResX Schema 
5
    
6
    Version 2.0
7
    
8
    The primary goals of this format is to allow a simple XML format 
9
    that is mostly human readable. The generation and parsing of the 
10
    various data types are done through the TypeConverter classes 
11
    associated with the data types.
12
    
13
    Example:
14
    
15
    ... ado.net/XML headers & schema ...
16
    <resheader name="resmimetype">text/microsoft-resx</resheader>
17
    <resheader name="version">2.0</resheader>
18
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23
        <value>[base64 mime encoded serialized .NET Framework object]</value>
24
    </data>
25
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27
        <comment>This is a comment</comment>
28
    </data>
29
                
30
    There are any number of "resheader" rows that contain simple 
31
    name/value pairs.
32
    
33
    Each data row contains a name, and value. The row also contains a 
34
    type or mimetype. Type corresponds to a .NET class that support 
35
    text/value conversion through the TypeConverter architecture. 
36
    Classes that don't support this are serialized and stored with the 
37
    mimetype set.
38
    
39
    The mimetype is used for serialized objects, and tells the 
40
    ResXResourceReader how to depersist the object. This is currently not 
41
    extensible. For a given mimetype the value must be set accordingly:
42
    
43
    Note - application/x-microsoft.net.object.binary.base64 is the format 
44
    that the ResXResourceWriter will generate, however the reader can 
45
    read any of the formats listed below.
46
    
47
    mimetype: application/x-microsoft.net.object.binary.base64
48
    value   : The object must be serialized with 
49
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50
            : and then encoded with base64 encoding.
51
    
52
    mimetype: application/x-microsoft.net.object.soap.base64
53
    value   : The object must be serialized with 
54
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55
            : and then encoded with base64 encoding.
56

  
57
    mimetype: application/x-microsoft.net.object.bytearray.base64
58
    value   : The object must be serialized into a byte array 
59
            : using a System.ComponentModel.TypeConverter
60
            : and then encoded with base64 encoding.
61
    -->
62
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64
    <xsd:element name="root" msdata:IsDataSet="true">
65
      <xsd:complexType>
66
        <xsd:choice maxOccurs="unbounded">
67
          <xsd:element name="metadata">
68
            <xsd:complexType>
69
              <xsd:sequence>
70
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
71
              </xsd:sequence>
72
              <xsd:attribute name="name" use="required" type="xsd:string" />
73
              <xsd:attribute name="type" type="xsd:string" />
74
              <xsd:attribute name="mimetype" type="xsd:string" />
75
              <xsd:attribute ref="xml:space" />
76
            </xsd:complexType>
77
          </xsd:element>
78
          <xsd:element name="assembly">
79
            <xsd:complexType>
80
              <xsd:attribute name="alias" type="xsd:string" />
81
              <xsd:attribute name="name" type="xsd:string" />
82
            </xsd:complexType>
83
          </xsd:element>
84
          <xsd:element name="data">
85
            <xsd:complexType>
86
              <xsd:sequence>
87
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89
              </xsd:sequence>
90
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93
              <xsd:attribute ref="xml:space" />
94
            </xsd:complexType>
95
          </xsd:element>
96
          <xsd:element name="resheader">
97
            <xsd:complexType>
98
              <xsd:sequence>
99
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100
              </xsd:sequence>
101
              <xsd:attribute name="name" type="xsd:string" use="required" />
102
            </xsd:complexType>
103
          </xsd:element>
104
        </xsd:choice>
105
      </xsd:complexType>
106
    </xsd:element>
107
  </xsd:schema>
108
  <resheader name="resmimetype">
109
    <value>text/microsoft-resx</value>
110
  </resheader>
111
  <resheader name="version">
112
    <value>2.0</value>
113
  </resheader>
114
  <resheader name="reader">
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116
  </resheader>
117
  <resheader name="writer">
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119
  </resheader>
120
</root>
ID2.Manager/ID2.Manager/ID2.Manager.csproj
122 122
    <Compile Include="Controls\DetailGridViewTemplate.cs">
123 123
      <SubType>Component</SubType>
124 124
    </Compile>
125
    <Compile Include="Controls\IssueImagesAndAnswer.cs">
126
      <SubType>UserControl</SubType>
127
    </Compile>
128
    <Compile Include="Controls\IssueImagesAndAnswer.Designer.cs">
129
      <DependentUpon>IssueImagesAndAnswer.cs</DependentUpon>
130
    </Compile>
125 131
    <Compile Include="Controls\OpenProjectView.cs">
126 132
      <SubType>UserControl</SubType>
127 133
    </Compile>
......
201 207
    <EmbeddedResource Include="Controls\BriefAndImages.resx">
202 208
      <DependentUpon>BriefAndImages.cs</DependentUpon>
203 209
    </EmbeddedResource>
210
    <EmbeddedResource Include="Controls\IssueImagesAndAnswer.resx">
211
      <DependentUpon>IssueImagesAndAnswer.cs</DependentUpon>
212
    </EmbeddedResource>
204 213
    <EmbeddedResource Include="Controls\OpenProjectView.resx">
205 214
      <DependentUpon>OpenProjectView.cs</DependentUpon>
206 215
    </EmbeddedResource>
ID2.Manager/ID2.Manager/Main.Designer.cs
54 54
            Telerik.WinControls.UI.GridViewDateTimeColumn gridViewDateTimeColumn2 = new Telerik.WinControls.UI.GridViewDateTimeColumn();
55 55
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn9 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
56 56
            Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn7 = new Telerik.WinControls.UI.GridViewTextBoxColumn();
57
            Telerik.WinControls.UI.GridViewImageColumn gridViewImageColumn3 = new Telerik.WinControls.UI.GridViewImageColumn();
57 58
            Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn8 = new Telerik.WinControls.UI.GridViewTextBoxColumn();
58 59
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn10 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
59 60
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn11 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
......
67 68
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn15 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
68 69
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn16 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
69 70
            Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn10 = new Telerik.WinControls.UI.GridViewTextBoxColumn();
70
            Telerik.WinControls.UI.GridViewImageColumn gridViewImageColumn3 = new Telerik.WinControls.UI.GridViewImageColumn();
71 71
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn17 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
72 72
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn18 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
73 73
            Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn11 = new Telerik.WinControls.UI.GridViewTextBoxColumn();
74
            Telerik.WinControls.UI.GridViewImageColumn gridViewImageColumn4 = new Telerik.WinControls.UI.GridViewImageColumn();
75 74
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn19 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
76 75
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn20 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
77 76
            Telerik.WinControls.UI.GridViewComboBoxColumn gridViewComboBoxColumn21 = new Telerik.WinControls.UI.GridViewComboBoxColumn();
......
176 175
            this.DockWindowComment = new Telerik.WinControls.UI.Docking.ToolWindow();
177 176
            this.radPageViewComment = new Telerik.WinControls.UI.RadPageView();
178 177
            this.radPageViewPageReview = new Telerik.WinControls.UI.RadPageViewPage();
179
            this.radPageViewPageValidation = new Telerik.WinControls.UI.RadPageViewPage();
178
            this.radPageViewPageWork = new Telerik.WinControls.UI.RadPageViewPage();
180 179
            this.DockContainerMain = new Telerik.WinControls.UI.Docking.DocumentContainer();
181 180
            this.DockMainTabStrip = new Telerik.WinControls.UI.Docking.DocumentTabStrip();
182 181
            this.DockWindowMain = new Telerik.WinControls.UI.Docking.ToolWindow();
......
479 478
            this.tableLayoutPanelCondition.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
480 479
            this.tableLayoutPanelCondition.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 85F));
481 480
            this.tableLayoutPanelCondition.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
482
            this.tableLayoutPanelCondition.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 91F));
481
            this.tableLayoutPanelCondition.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 93F));
483 482
            this.tableLayoutPanelCondition.Controls.Add(this.radDropDownListFrReviewStatus, 4, 2);
484 483
            this.tableLayoutPanelCondition.Controls.Add(this.radDropDownListToIsDiscussion, 2, 2);
485 484
            this.tableLayoutPanelCondition.Controls.Add(this.radLabelFrReviewStatus, 3, 2);
......
1216 1215
            gridViewTextBoxColumn7.HeaderText = "이슈사항";
1217 1216
            gridViewTextBoxColumn7.Name = "ID2Issues";
1218 1217
            gridViewTextBoxColumn7.Width = 150;
1218
            gridViewImageColumn3.HeaderText = "Detail(캡쳐)";
1219
            gridViewImageColumn3.Name = "ID2Capture";
1220
            gridViewImageColumn3.Width = 80;
1219 1221
            gridViewTextBoxColumn8.FieldName = "ReplyModifications";
1220 1222
            gridViewTextBoxColumn8.HeaderText = "답변 및 수정사항";
1221 1223
            gridViewTextBoxColumn8.Name = "ReplyModifications";
......
1291 1293
            gridViewTextBoxColumn10.HeaderText = "비고";
1292 1294
            gridViewTextBoxColumn10.Name = "ProdRemarks";
1293 1295
            gridViewTextBoxColumn10.Width = 150;
1294
            gridViewImageColumn3.HeaderText = "캡쳐";
1295
            gridViewImageColumn3.Name = "ProdCapture";
1296 1296
            gridViewComboBoxColumn17.EnableExpressionEditor = false;
1297 1297
            gridViewComboBoxColumn17.FieldName = "ClientReviewer";
1298 1298
            gridViewComboBoxColumn17.HeaderText = "검토자";
......
1310 1310
            gridViewTextBoxColumn11.HeaderText = "비고";
1311 1311
            gridViewTextBoxColumn11.Name = "ClientRemarks";
1312 1312
            gridViewTextBoxColumn11.Width = 150;
1313
            gridViewImageColumn4.HeaderText = "캡쳐";
1314
            gridViewImageColumn4.Name = "ClientCapture";
1315 1313
            gridViewComboBoxColumn19.EnableExpressionEditor = false;
1316 1314
            gridViewComboBoxColumn19.FieldName = "DTIsGateWay";
1317 1315
            gridViewComboBoxColumn19.HeaderText = "GateWay";
......
1361 1359
            gridViewDateTimeColumn2,
1362 1360
            gridViewComboBoxColumn9,
1363 1361
            gridViewTextBoxColumn7,
1362
            gridViewImageColumn3,
1364 1363
            gridViewTextBoxColumn8,
1365 1364
            gridViewComboBoxColumn10,
1366 1365
            gridViewComboBoxColumn11,
......
1374 1373
            gridViewComboBoxColumn15,
1375 1374
            gridViewComboBoxColumn16,
1376 1375
            gridViewTextBoxColumn10,
1377
            gridViewImageColumn3,
1378 1376
            gridViewComboBoxColumn17,
1379 1377
            gridViewComboBoxColumn18,
1380 1378
            gridViewTextBoxColumn11,
1381
            gridViewImageColumn4,
1382 1379
            gridViewComboBoxColumn19,
1383 1380
            gridViewComboBoxColumn20,
1384 1381
            gridViewComboBoxColumn21,
......
1659 1656
            // radPageViewComment
1660 1657
            // 
1661 1658
            this.radPageViewComment.Controls.Add(this.radPageViewPageReview);
1662
            this.radPageViewComment.Controls.Add(this.radPageViewPageValidation);
1659
            this.radPageViewComment.Controls.Add(this.radPageViewPageWork);
1663 1660
            this.radPageViewComment.Dock = System.Windows.Forms.DockStyle.Fill;
1664 1661
            this.radPageViewComment.Location = new System.Drawing.Point(0, 0);
1665 1662
            this.radPageViewComment.Name = "radPageViewComment";
......
1676 1673
            this.radPageViewPageReview.Size = new System.Drawing.Size(276, 559);
1677 1674
            this.radPageViewPageReview.Text = "검토";
1678 1675
            // 
1679
            // radPageViewPageValidation
1676
            // radPageViewPageWork
1680 1677
            // 
1681
            this.radPageViewPageValidation.ItemSize = new System.Drawing.SizeF(39F, 28F);
1682
            this.radPageViewPageValidation.Location = new System.Drawing.Point(10, 37);
1683
            this.radPageViewPageValidation.Name = "radPageViewPageValidation";
1684
            this.radPageViewPageValidation.Size = new System.Drawing.Size(258, 240);
1685
            this.radPageViewPageValidation.Text = "검증";
1678
            this.radPageViewPageWork.ItemSize = new System.Drawing.SizeF(39F, 28F);
1679
            this.radPageViewPageWork.Location = new System.Drawing.Point(10, 37);
1680
            this.radPageViewPageWork.Name = "radPageViewPageWork";
1681
            this.radPageViewPageWork.Size = new System.Drawing.Size(258, 240);
1682
            this.radPageViewPageWork.Text = "작업";
1686 1683
            // 
1687 1684
            // DockContainerMain
1688 1685
            // 
......
1958 1955
        private Telerik.WinControls.UI.Docking.ToolTabStrip DockTabStripComment;
1959 1956
        private Telerik.WinControls.UI.RadPageView radPageViewComment;
1960 1957
        private Telerik.WinControls.UI.RadPageViewPage radPageViewPageReview;
1961
        private Telerik.WinControls.UI.RadPageViewPage radPageViewPageValidation;
1958
        private Telerik.WinControls.UI.RadPageViewPage radPageViewPageWork;
1962 1959
        private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator3;
1963 1960
        private Telerik.WinControls.UI.BackstageButtonItem backstageButtonItemSelectDB;
1964 1961
        private Telerik.WinControls.UI.Docking.DocumentWindow DockValidation;
ID2.Manager/ID2.Manager/Main.cs
55 55
        int TotalCount = 0;
56 56

  
57 57
        BriefAndImages briefAndImagesReview = new BriefAndImages { Dock = DockStyle.Fill };
58
        BriefAndImages briefAndImagesValidation = new BriefAndImages { Dock = DockStyle.Fill };
58
        IssueImagesAndAnswer issueImagesAndAnswerWork = new IssueImagesAndAnswer { Dock = DockStyle.Fill };
59 59

  
60 60
#if DEBUG
61 61
        Telerik.WinControls.RadControlSpy.RadControlSpyForm radControlSpyForm = new Telerik.WinControls.RadControlSpy.RadControlSpyForm();
......
128 128
            this.InitColumnGroupsViewDefinition(this.radGridViewDocuments);
129 129

  
130 130
            this.radPageViewPageReview.Controls.Add(briefAndImagesReview);
131
            this.radPageViewPageValidation.Controls.Add(briefAndImagesValidation);
131
            this.radPageViewPageWork.Controls.Add(issueImagesAndAnswerWork);
132 132

  
133 133
            briefAndImagesReview.RemoveImage += BriefAndImages_RemoveImage;
134
            briefAndImagesValidation.RemoveImage += BriefAndImages_RemoveImage;
134
            issueImagesAndAnswerWork.RemoveImage += IssueImagesAndAnswer_RemoveImage;
135 135
            this.Initialize();
136 136
        }
137 137

  
......
167 167
            }
168 168
        }
169 169

  
170
        private void IssueImagesAndAnswer_RemoveImage(object sender, AttImageInfo e)
171
        {
172
            try
173
            {
174
                if (e is AttImageInfo)
175
                {
176
                    if (this.radGridViewDocuments.SelectedRows.Count() > 0 && this.radGridViewDocuments.SelectedRows.First().DataBoundItem is Documents doc)
177
                    {
178
                        var reslut = doc.AttFiles.RemoveAll(x => x.FileID == e.ID);
179

  
180
                        if (reslut > 0)
181
                        {
182

  
183
                        }
184
                        else
185
                        {
186
                            MessageBox.Show("삭제오류");
187
                        }
188
                    }
189
                }
190
            }
191
            catch (Exception ex)
192
            {
193
                Program.logger.Error("IssueImagesAndAnswer_RemoveImage", ex);
194
            }
195
        }
196

  
170 197
        private void SaveDockingLayout()
171 198
        {
172 199
            try
......
329 356
                        {
330 357
                            category = "frreview";
331 358
                        }
332
                        else if (IsDoftech && !selectReview)
333
                        {
334
                            category = "prodvalidation";
335
                        }
336
                        else 
359
                        //else if (IsDoftech && !selectReview)
360
                        //{
361
                        //    category = "prodvalidation";
362
                        //}
363
                        //else 
364
                        //{
365
                        //    category = "clientvalidation";
366
                        //}
367
                        else
337 368
                        {
338
                            category = "clientvalidation";
369
                            category = "id2work";
339 370
                        }
340 371

  
341 372

  
......
370 401
                            case "frreview":
371 402
                                briefAndImagesReview.AddFrImage(imageInfo, true);
372 403
                                break;
373
                            case "prodvalidation":
374
                                briefAndImagesValidation.AddToImage(imageInfo, true);
375
                                break;
376
                            case "clientvalidation":
377
                                briefAndImagesValidation.AddFrImage(imageInfo, true);
404
                            //case "prodvalidation":
405
                            //    briefAndImagesValidation.AddToImage(imageInfo, true);
406
                            //    break;
407
                            //case "clientvalidation":
408
                            //    briefAndImagesValidation.AddFrImage(imageInfo, true);
409
                            //    break;
410
                            case "id2work":
411
                                issueImagesAndAnswerWork.AddImage(imageInfo, true);
378 412
                                break;
379 413
                        }
380 414
                    }
......
410 444
        public void BindingDocumentToDetailEditor(Documents doc)
411 445
        {
412 446
            briefAndImagesReview.Clear();
413
            briefAndImagesValidation.Clear();
447
            issueImagesAndAnswerWork.Clear();
414 448

  
415 449
            //FrRemarks 추가
416 450

  
417 451
            briefAndImagesReview.DataBindings.Add(new Binding("BriefDoftech", doc, "ToRemarks", false, DataSourceUpdateMode.OnPropertyChanged, null));
418 452
            briefAndImagesReview.DataBindings.Add(new Binding("BriefSec", doc, "FrRemarks", false, DataSourceUpdateMode.OnPropertyChanged, null));
419 453

  
420
            briefAndImagesValidation.DataBindings.Add(new Binding("BriefDoftech", doc, "ProdRemarks", false, DataSourceUpdateMode.OnPropertyChanged, null));
421
            briefAndImagesValidation.DataBindings.Add(new Binding("BriefSec", doc, "ClientRemarks", false, DataSourceUpdateMode.OnPropertyChanged, null));
454
            issueImagesAndAnswerWork.DataBindings.Add(new Binding("IssueText", doc, "ID2Issues", false, DataSourceUpdateMode.OnPropertyChanged, null));
455
            issueImagesAndAnswerWork.DataBindings.Add(new Binding("ReplyModificationText", doc, "ReplyModifications", false, DataSourceUpdateMode.OnPropertyChanged, null));
422 456

  
423 457
            if (doc.AttFiles != null)
424 458
            {
......
434 468
                    briefAndImagesReview.SetFrImages(images.ToList());
435 469
                }
436 470

  
437
                if (doc.AttFiles.Any(x => x.Category == "prodvalidation"))
438
                {
439
                    var images = doc.AttFiles.Where(x => x.Category == "prodvalidation").Select(x => new AttImageInfo { ID = x.FileID, Category = x.Category, Data = x.FileData });
440
                    briefAndImagesValidation.SetToImages(images.ToList());
441
                }
471
                //if (doc.AttFiles.Any(x => x.Category == "prodvalidation"))
472
                //{
473
                //    var images = doc.AttFiles.Where(x => x.Category == "prodvalidation").Select(x => new AttImageInfo { ID = x.FileID, Category = x.Category, Data = x.FileData });
474
                //    briefAndImagesValidation.SetToImages(images.ToList());
475
                //}
476

  
477
                //if (doc.AttFiles.Any(x => x.Category == "clientvalidation"))
478
                //{
479
                //    var images = doc.AttFiles.Where(x => x.Category == "clientvalidation").Select(x => new AttImageInfo { ID = x.FileID, Category = x.Category, Data = x.FileData });
480
                //    briefAndImagesValidation.SetFrImages(images.ToList());
481
                //}
442 482

  
443
                if (doc.AttFiles.Any(x => x.Category == "clientvalidation"))
483
                //수정필요
484
                if (doc.AttFiles.Any(x => x.Category == "id2work"))
444 485
                {
445
                    var images = doc.AttFiles.Where(x => x.Category == "clientvalidation").Select(x => new AttImageInfo { ID = x.FileID, Category = x.Category, Data = x.FileData });
446
                    briefAndImagesValidation.SetFrImages(images.ToList());
486
                    var images = doc.AttFiles.Where(x => x.Category == "id2work").Select(x => new AttImageInfo { ID = x.FileID, Category = x.Category, Data = x.FileData });
487
                    issueImagesAndAnswerWork.SetImages(images.ToList());
447 488
                }
448 489
            }
449 490
        }
......
1458 1499
                                    e.CellElement.Image = Properties.Resources.files18;
1459 1500
                                }
1460 1501
                                break;
1461
                            case "ProdCapture":
1462
                                if (result.ProdCapture > 0)
1463
                                {
1464
                                    e.CellElement.Image = Properties.Resources.files18;
1465
                                }
1466
                                break;
1467
                            case "ClientCapture":
1468
                                if (result.ClientCapture > 0)
1502
                            //case "ProdCapture":
1503
                            //    if (result.ProdCapture > 0)
1504
                            //    {
1505
                            //        e.CellElement.Image = Properties.Resources.files18;
1506
                            //    }
1507
                            //    break;
1508
                            //case "ClientCapture":
1509
                            //    if (result.ClientCapture > 0)
1510
                            //    {
1511
                            //        e.CellElement.Image = Properties.Resources.files18;
1512
                            //    }
1513
                            //    break;
1514
                            case "ID2Capture":
1515
                                if (result.ID2Capture > 0)
1469 1516
                                {
1470 1517
                                    e.CellElement.Image = Properties.Resources.files18;
1471 1518
                                }
......
2262 2309
            List<string> docInfoColNames = new List<string>() { "RefProjectCode", "System", "SubSystemCode", "DocumentNo", "PersonInCharge", "Worker", "AVEVAPersonInCharge", "AVEVAWorker", "JobLevel", "RevisonNo" };
2263 2310
            List<string> rvToColNames = new List<string>() { "ToIsDiscussion", "ToRemarks", "ToCreator", "ToCapture" };
2264 2311
            List<string> rvFrColNames = new List<string>() { "FrReviewStatus", "FrRemarks", "FrCreator", "FrCapture" };
2265
            List<string> wkID2ColNames = new List<string>() { "ID2StartDate", "ID2EndDate", "ID2Status", "ID2Issues", "ReplyModifications", "ReplyRequester", "IsConvert" };
2312
            List<string> wkID2ColNames = new List<string>() { "ID2StartDate", "ID2EndDate", "ID2Status", "ID2Issues", "ID2Capture", "ReplyModifications", "ReplyRequester", "IsConvert" };
2266 2313
            List<string> wkAVEVAColNames = new List<string>() { "AVEVAConvertDate", "AVEVAWorkDate", "AVEVAStatus", "AVEVAIssues" };
2267
            List<string> valProdColNames = new List<string>() { "AVEVAReviewDate", "ProdReviewer", "ProdIsResult", "ProdRemarks", "ProdCapture" };
2268
            List<string> valCntColNames = new List<string>() { "ClientReviewer", "ClientIsResult", "ClientRemarks", "ClientCapture" };
2314
            List<string> valProdColNames = new List<string>() { "AVEVAReviewDate", "ProdReviewer", "ProdIsResult", "ProdRemarks" };
2315
            List<string> valCntColNames = new List<string>() { "ClientReviewer", "ClientIsResult", "ClientRemarks" };
2269 2316
            List<string> dtColNames = new List<string>() { "DTIsGateWay", "DTIsImport", "DTIsRegSystem", "DTRemarks" };
2270 2317

  
2271 2318
            //도면

내보내기 Unified diff

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