개정판 b2d0f316
Feature: 선택한 객체를 앞으로(+)/뒤로(-) 보내기 기능 추가
Change-Id: I9130a93cfdb2d079f28258f3d669a6f532695f89
CommonLib/Common.cs | ||
---|---|---|
64 | 64 |
public static string GetConfigString(string section, string key, string def,bool isExternal) |
65 | 65 |
{ |
66 | 66 |
System.Text.StringBuilder strbuilder = new System.Text.StringBuilder(512); |
67 |
GetPrivateProfileString(section, key, def, strbuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini")); |
|
67 |
string FilePath = Path.Combine(AppStartFolder, "MARKUS.ini"); |
|
68 |
GetPrivateProfileString(section, key, def, strbuilder, 512, FilePath); |
|
68 | 69 |
|
69 | 70 |
string result = strbuilder.ToString(); |
70 | 71 |
//internal 이면 result return |
71 | 72 |
if (isExternal) |
72 | 73 |
{ |
73 | 74 |
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(512); |
74 |
GetPrivateProfileString("External", "IP", "", stringBuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini"));
|
|
75 |
GetPrivateProfileString("External", "IP", "", stringBuilder, 512, FilePath);
|
|
75 | 76 |
string external_ip = stringBuilder.ToString(); |
76 | 77 |
stringBuilder = new StringBuilder(); |
77 |
GetPrivateProfileString("Internal", "IP", "", stringBuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini"));
|
|
78 |
GetPrivateProfileString("Internal", "IP", "", stringBuilder, 512, FilePath);
|
|
78 | 79 |
string internal_ip = stringBuilder.ToString(); |
79 | 80 |
|
80 | 81 |
//internalport:externalport |
81 | 82 |
stringBuilder = new StringBuilder(); |
82 |
GetPrivateProfileString("PortForwarding", "HUB", "", stringBuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini"));
|
|
83 |
GetPrivateProfileString("PortForwarding", "HUB", "", stringBuilder, 512, FilePath);
|
|
83 | 84 |
string[] forwarding_hub = stringBuilder.ToString().Split(':'); |
84 | 85 |
stringBuilder = new StringBuilder(); |
85 |
GetPrivateProfileString("PortForwarding", "RESOURCE", "", stringBuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini"));
|
|
86 |
GetPrivateProfileString("PortForwarding", "RESOURCE", "", stringBuilder, 512, FilePath);
|
|
86 | 87 |
string[] forwarding_resource = stringBuilder.ToString().Split(':'); |
87 | 88 |
stringBuilder = new StringBuilder(); |
88 |
GetPrivateProfileString("PortForwarding", "BASE", "", stringBuilder, 512, Path.Combine(AppStartFolder, "MARKUS.ini"));
|
|
89 |
GetPrivateProfileString("PortForwarding", "BASE", "", stringBuilder, 512, FilePath);
|
|
89 | 90 |
string[] forwarding_base = stringBuilder.ToString().Split(':'); |
90 | 91 |
|
91 | 92 |
if(result.Contains(internal_ip)) |
... | ... | |
99 | 100 |
} |
100 | 101 |
return result; |
101 | 102 |
} |
103 |
|
|
102 | 104 |
public static string IPReplace(string url, bool isExternal) |
103 | 105 |
{ |
104 | 106 |
string result = url; |
IKCOM/Interface.cs | ||
---|---|---|
2 | 2 |
using MarkupToPDF.Controls.Common; |
3 | 3 |
using System; |
4 | 4 |
using System.Collections.Generic; |
5 |
using System.ComponentModel; |
|
5 | 6 |
using System.Linq; |
6 | 7 |
using System.Text; |
7 | 8 |
using System.Windows.Controls; |
... | ... | |
146 | 147 |
public int Data_Type { get; set; } |
147 | 148 |
public string ParsingMemo { get; set; } |
148 | 149 |
public string Symbol_ID { get; set; } |
149 |
//public long Group_ID { get; set; } |
|
150 |
[Description("컨트롤의 ZIndex")] |
|
151 |
public int ZIndex{ get; set; } |
|
150 | 152 |
} |
151 | 153 |
public enum SERVICE_NAME |
152 | 154 |
{ |
KCOM/App.xaml.cs | ||
---|---|---|
125 | 125 |
} |
126 | 126 |
|
127 | 127 |
private string versionPath = null; |
128 |
//public SplashScreen splash = new SplashScreen("splash.png"); |
|
129 |
public static SplashScreenWindow splashScreen = new SplashScreenWindow(); |
|
128 |
public static SplashScreenWindow splashScreen { get; } = new SplashScreenWindow(); |
|
130 | 129 |
|
131 | 130 |
public App() |
132 | 131 |
{ |
KCOM/Common/DataSaveTask.cs | ||
---|---|---|
148 | 148 |
bool IsSuccess = false; |
149 | 149 |
List <MARKUP_DATA> markupdata = new List<MARKUP_DATA>(); |
150 | 150 |
|
151 |
//markupdata = UserState.MarkupList.Select(x=> |
|
152 |
// new MARKUP_DATA() |
|
153 |
// { |
|
154 |
// ID = x.ID, |
|
155 |
// PAGENUMBER = x.PageNumber, |
|
156 |
// DATA = x.Data, |
|
157 |
// MARKUPINFO_VERSION_ID = UserState.MarkupVersionID, |
|
158 |
// DATA_TYPE = x.Data_Type |
|
159 |
// } |
|
160 |
//).ToList(); |
|
161 |
|
|
162 | 151 |
var updateItems = ViewerDataModel.Instance.MyMarkupList |
163 | 152 |
.Where(d => d.MarkupInfoID == UserState.MarkupInfoID && d.PageNumber == currentPageNo) |
164 |
.GroupBy(p => p.ID).Select(g => g.First()).ToList();
|
|
165 |
|
|
166 |
if (updateItems.Count() > 0)
|
|
153 |
.GroupBy(p => p.ID).Select(g => g.First()) |
|
154 |
.OrderBy(x => x.ZIndex).ToList(); |
|
155 |
if (updateItems.Any())
|
|
167 | 156 |
{ |
168 | 157 |
updateItems.ForEach(value => |
169 | 158 |
{ |
KCOM/Common/SelectionSet.cs | ||
---|---|---|
131 | 131 |
{ |
132 | 132 |
if (item.GetType().Name == "AdornerFinal") |
133 | 133 |
{ |
134 |
(item as AdornerFinal).unRegister();
|
|
134 |
(item as AdornerFinal).UnRegister();
|
|
135 | 135 |
|
136 |
foreach (var InnerItem in (item as AdornerFinal).Members.Cast<AdornerMember>())
|
|
136 |
foreach (var InnerItem in (item as AdornerFinal).Members) |
|
137 | 137 |
{ |
138 | 138 |
if (!ViewerDataModel.Instance.MarkupControls_USER.Contains(InnerItem.DrawingData)) |
139 | 139 |
{ |
... | ... | |
146 | 146 |
} |
147 | 147 |
|
148 | 148 |
var control = InnerItem.DrawingData as CommentUserInfo; |
149 |
ViewerDataModel.Instance.MarkupControls_USER.Add(control); |
|
150 |
|
|
151 |
#region Unselect하는데 Create 커맨드를 추가해야 하는지 이해되지 않음 |
|
152 |
/* |
|
153 |
var vUndoBeforeTargetItem = |
|
154 |
ViewerDataModel.Instance.UndoDataList.ToList().OrderBy(x => x.EventTime).LastOrDefault(); |
|
155 |
|
|
156 |
if (vUndoBeforeTargetItem != null && vUndoBeforeTargetItem.Event == EventType.Operation) |
|
157 |
{ |
|
158 |
|
|
159 |
} |
|
160 |
else |
|
161 |
{ |
|
162 |
MarkupToPDF.Common.UndoDataGroup UndoDataGroup = new UndoDataGroup() |
|
163 |
{ |
|
164 |
IsUndo = false, |
|
165 |
Event = EventType.Create, |
|
166 |
EventTime = DateTime.Now, |
|
167 |
MarkupDataColl = new List<UndoData>() |
|
168 |
}; |
|
169 |
|
|
170 |
var _UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(control); |
|
171 |
UndoDataGroup.MarkupDataColl.Add(_UndoData); |
|
172 |
ViewerDataModel.Instance.UndoDataList.Add(UndoDataGroup); |
|
173 |
} |
|
174 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.UpdateMyMarkupList(); |
|
175 |
*/ |
|
149 |
#region ZIndex 설정 |
|
150 |
System.Windows.Controls.Canvas.SetZIndex(control, control.ZIndex); |
|
176 | 151 |
#endregion |
152 |
ViewerDataModel.Instance.MarkupControls_USER.Add(control); |
|
177 | 153 |
} |
178 | 154 |
} |
179 | 155 |
} |
... | ... | |
183 | 159 |
} |
184 | 160 |
catch (Exception ex) |
185 | 161 |
{ |
186 |
//Logger.sendResLog("ReleaseAdorner", ex.ToString(), 0);
|
|
162 |
throw new InvalidOperationException(ex.Message);
|
|
187 | 163 |
} |
188 | 164 |
} |
189 | 165 |
|
KCOM/Common/ViewerDataModel.cs | ||
---|---|---|
118 | 118 |
|
119 | 119 |
//private ObservableCollection<CommentUserInfo> markupControls_Pre = new ObservableCollection<CommentUserInfo>(); |
120 | 120 |
|
121 |
private ObservableCollection<CommentUserInfo> markupControls = new ObservableCollection<CommentUserInfo>(); |
|
121 |
|
|
122 | 122 |
private ObservableCollection<CommentUserInfo> markupControls_Sync = new ObservableCollection<CommentUserInfo>(); |
123 |
private ObservableCollection<CommentUserInfo> markupControls_User = new ObservableCollection<CommentUserInfo>(); |
|
123 |
private ObservableCollection<CommentUserInfo> markupControls { get; } = new ObservableCollection<CommentUserInfo>(); |
|
124 |
/// <summary> |
|
125 |
/// 사용자가 작업 중인 markup 데이터 |
|
126 |
/// </summary> |
|
127 |
private ObservableCollection<CommentUserInfo> markupControls_User { get; } = new ObservableCollection<CommentUserInfo>(); |
|
124 | 128 |
|
125 | 129 |
|
126 | 130 |
////강인구 추가 |
KCOM/Controls/AdornerFinal.xaml.cs | ||
---|---|---|
258 | 258 |
InitializeComponent(); |
259 | 259 |
objectData.IsHitTestVisible = false; |
260 | 260 |
|
261 |
if ((objectData as ArrowTextControl) != null)
|
|
261 |
if (objectData is ArrowTextControl ArrTextCtrl)
|
|
262 | 262 |
{ |
263 |
(objectData as ArrowTextControl).Base_TextBox.Focusable = true;
|
|
263 |
ArrTextCtrl.Base_TextBox.Focusable = true;
|
|
264 | 264 |
} |
265 | 265 |
|
266 |
Canvas.SetZIndex(objectData, 84); |
|
266 |
///Canvas.SetZIndex(objectData, 84);
|
|
267 | 267 |
try |
268 | 268 |
{ |
269 | 269 |
ViewerDataModel.Instance.MarkupControls_USER.Remove(objectData); |
... | ... | |
274 | 274 |
|
275 | 275 |
} |
276 | 276 |
|
277 |
SetAdornerMember(objectData as CommentUserInfo);
|
|
277 |
SetAdornerMember(objectData); |
|
278 | 278 |
this.Focus(); |
279 | 279 |
} |
280 | 280 |
|
... | ... | |
284 | 284 |
foreach (var item in objectData) |
285 | 285 |
{ |
286 | 286 |
//item.IsHitTestVisible = false; |
287 |
if ((item as ArrowTextControl) != null)
|
|
287 |
if (item is ArrowTextControl ArrTextCtrl)
|
|
288 | 288 |
{ |
289 |
(item as ArrowTextControl).Base_TextBox.Focusable = true;
|
|
289 |
ArrTextCtrl.Base_TextBox.Focusable = true;
|
|
290 | 290 |
} |
291 | 291 |
try |
292 | 292 |
{ |
293 |
Canvas.SetZIndex(item, 80); |
|
293 |
///Canvas.SetZIndex(item, 80); |
|
294 |
|
|
294 | 295 |
ViewerDataModel.Instance.MarkupControls_USER.Remove(item); |
295 | 296 |
this.ContainerContent.Children.Add(item); |
296 | 297 |
} |
... | ... | |
342 | 343 |
{ |
343 | 344 |
return BorderSize; |
344 | 345 |
} |
345 |
public void addMemberControl(UIElement objectData) |
|
346 |
{ |
|
347 |
this.ContainerContent.Children.Add(objectData); |
|
348 |
SetAdornerMember(objectData as CommentUserInfo); |
|
349 |
this.Focus(); |
|
350 |
} |
|
351 | 346 |
|
352 | 347 |
private void TextControlLostFocus(object sender,RoutedEventArgs e) |
353 | 348 |
{ |
354 | 349 |
TextCompensation = false; |
355 | 350 |
BorderUpdate(); |
356 | 351 |
|
357 |
if (sender is TextBox) |
|
352 |
if (sender is TextBox TextBox)
|
|
358 | 353 |
{ |
359 |
if ((sender as TextBox).Text == "") //보류
|
|
354 |
if (TextBox.Text == "") //보류
|
|
360 | 355 |
{ |
361 | 356 |
this.ContainerContent.Children.Remove((sender as TextBox).Parent as MarkupToPDF.Common.CommentUserInfo); |
362 | 357 |
this.Visibility = Visibility.Collapsed; |
... | ... | |
821 | 816 |
/// <summary> |
822 | 817 |
/// UIElement 해제 |
823 | 818 |
/// </summary> |
824 |
public void unRegister()
|
|
819 |
public void UnRegister()
|
|
825 | 820 |
{ |
826 | 821 |
foreach (var item in this.ContainerContent.Children) |
827 | 822 |
{ |
... | ... | |
1668 | 1663 |
|
1669 | 1664 |
private void DragThumb_MouseDoubleClick(object sender, MouseButtonEventArgs e) |
1670 | 1665 |
{ |
1671 |
if ((this.Members[0] as AdornerMember).DrawingData.GetType().Name == "TextControl"
|
|
1672 |
|| (this.Members[0] as AdornerMember).DrawingData.GetType().Name == "ArrowTextControl")
|
|
1666 |
if (this.Members[0].DrawingData.GetType().Name == "TextControl"
|
|
1667 |
|| this.Members[0].DrawingData.GetType().Name == "ArrowTextControl")
|
|
1673 | 1668 |
{ |
1674 | 1669 |
DragThumb.Visibility = Visibility.Collapsed; |
1675 | 1670 |
} |
KCOM/Controls/Sample.xaml.cs | ||
---|---|---|
313 | 313 |
} |
314 | 314 |
} |
315 | 315 |
|
316 |
/// <summary> |
|
317 |
/// 페이지가 전환될때 해당 페이지의 마크업 데이터를 표시한다. |
|
318 |
/// </summary> |
|
319 |
/// <param name="selectItem"></param> |
|
316 | 320 |
private async void PageChange(KCOM.Common.ThumbnailItem selectItem) |
317 | 321 |
{ |
318 | 322 |
var number = selectItem.PageNumber; |
... | ... | |
393 | 397 |
/// <param name="iPageNo">변경할 페이지 번호</param> |
394 | 398 |
public void ChangePage(int iPageNo) |
395 | 399 |
{ |
396 |
var thumbitem = this._thumbnailItems.Where(item => item.PageNumber == iPageNo).FirstOrDefault();
|
|
400 |
var thumbitem = this._thumbnailItems.FirstOrDefault(item => item.PageNumber == iPageNo);
|
|
397 | 401 |
if ((PageChanged != null) && (thumbitem != null)) |
398 | 402 |
{ |
399 | 403 |
var uri = thumbitem.PageUri.ToString(); |
400 |
//_DefaultUri.Replace("{PageNo}", thumbitem.PageNumber.ToString()); |
|
401 | 404 |
|
402 |
var _DocPages = _PageList.Where(p => p.PAGE_NUMBER == thumbitem.PageNumber).FirstOrDefault();
|
|
405 |
var _DocPages = _PageList.Find(p => p.PAGE_NUMBER == thumbitem.PageNumber);
|
|
403 | 406 |
if (_DocPages != null) |
404 | 407 |
{ |
405 | 408 |
PageChanged(this, new PageChangeEventArgs |
... | ... | |
408 | 411 |
PageUri = uri, |
409 | 412 |
PageNumber = thumbitem.PageNumber |
410 | 413 |
}); |
411 |
//ImgListbox.SelectedItem = thumbitem; |
|
412 |
//ImgListbox.Items.MoveCurrentTo(thumbitem); |
|
413 | 414 |
|
414 | 415 |
this.CurrentPage = thumbitem; |
415 | 416 |
} |
KCOM/Events/Event_KeyEvent.cs | ||
---|---|---|
23 | 23 |
public double CumulativeWheel = 0; |
24 | 24 |
MarkupToPDF.Controls.Parsing.MarkupParser.MarkupReturn markupReturn = new MarkupToPDF.Controls.Parsing.MarkupParser.MarkupReturn(); |
25 | 25 |
|
26 |
/// <summary> |
|
27 |
/// 입력한 키 처리 |
|
28 |
/// </summary> |
|
29 |
/// <param name="sender"></param> |
|
30 |
/// <param name="e"></param> |
|
26 | 31 |
public async void KeyEventDownAction(object sender, KeyEventArgs e) |
27 | 32 |
{ |
28 | 33 |
//if (e.IsRepeat && !ViewerDataModel.Instance.IsPressCtrl && !ViewerDataModel.Instance.IsPressShift) |
... | ... | |
64 | 69 |
} |
65 | 70 |
break; |
66 | 71 |
|
67 |
#region 전체 선택(Ctrl + A)
|
|
72 |
#region 전체 선택(Ctrl + A) |
|
68 | 73 |
case Key.A: |
69 | 74 |
{ |
70 | 75 |
if (ViewerDataModel.Instance.IsPressCtrl && (App.ViewInfo.CreateFinalPDFPermission || App.ViewInfo.NewCommentPermission)) |
... | ... | |
442 | 447 |
case Key.PageDown: |
443 | 448 |
this.dzMainMenu.pageNavigator.GotoPage(Convert.ToInt32(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.pageNavigator.CurrentPage.PageNumber) + 1); |
444 | 449 |
break; |
445 |
} |
|
450 |
#region ZIndex 설정 |
|
451 |
case Key.Add: |
|
452 |
foreach (var item in SelectionSet.Instance.SelectedItems) |
|
453 |
{ |
|
454 |
if (item.ZIndex < 100) |
|
455 |
{ |
|
456 |
item.ZIndex++; |
|
457 |
Canvas.SetZIndex(item, item.ZIndex); |
|
458 |
} |
|
459 |
} |
|
460 |
ViewerDataModel.Instance.IsMarkupUpdate = true; |
|
461 |
break; |
|
462 |
case Key.Subtract: |
|
463 |
foreach(var item in SelectionSet.Instance.SelectedItems) |
|
464 |
{ |
|
465 |
if (item.ZIndex > 0) |
|
466 |
{ |
|
467 |
item.ZIndex--; |
|
468 |
Canvas.SetZIndex(item, item.ZIndex); |
|
469 |
} |
|
470 |
} |
|
471 |
ViewerDataModel.Instance.IsMarkupUpdate = true; |
|
472 |
break; |
|
473 |
#endregion |
|
474 |
} |
|
446 | 475 |
}); |
447 | 476 |
} |
448 | 477 |
|
KCOM/Events/Implementation/TopMenuEvent.cs | ||
---|---|---|
355 | 355 |
{ |
356 | 356 |
mainMenu.ConvertInkControlToPolygon(); |
357 | 357 |
|
358 |
//Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.zoomAndPanControl_MouseDown(this, new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Right)); |
|
359 |
|
|
360 |
//SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu); |
|
361 |
// update mylist and gridview |
|
362 | 358 |
mainMenu.UpdateMyMarkupList(); |
363 | 359 |
|
364 | 360 |
if (mainMenu.gridViewMarkup.SelectedItems.Count == 0 && mainMenu.gridViewMarkup.Items.Count > 0) |
... | ... | |
424 | 420 |
{ |
425 | 421 |
mainMenu.ConvertInkControlToPolygon(); |
426 | 422 |
|
427 |
SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu); |
|
428 | 423 |
// update mylist and gridview |
429 | 424 |
mainMenu.UpdateMyMarkupList(); |
430 | 425 |
|
... | ... | |
440 | 435 |
{ |
441 | 436 |
/// 저장 서비스 호출 |
442 | 437 |
result = await this.ExecuteSaveCommandAsync(mainMenu); |
443 |
|
|
444 |
ViewerDataModel.Instance._markupInfoList.Where(data => data.MarkupInfoID == (item as IKCOM.MarkupInfoItem).MarkupInfoID).FirstOrDefault().UpdateTime = DateTime.Now; |
|
445 |
} |
|
446 |
} |
|
447 |
} |
|
448 |
|
|
449 |
mainMenu.SetCommentPages(null); |
|
450 |
|
|
451 |
ViewerDataModel.Instance.UndoDataList.Clear(); |
|
452 |
result = true; |
|
453 |
} |
|
454 |
catch (Exception ex) |
|
455 |
{ |
|
456 |
System.Diagnostics.Debug.WriteLine("_SaveEvent Error : " + ex.ToString()); |
|
457 |
} |
|
458 |
finally |
|
459 |
{ |
|
460 |
/* |
|
461 |
/// delete markup information when 코멘트가 없을 경우 |
|
462 |
if (ViewerDataModel.Instance.MyMarkupList.Count == 0) |
|
463 |
{ |
|
464 |
foreach (var item in menu.gridViewMarkup.SelectedItems) |
|
465 |
{ |
|
466 |
if ((item as IKCOM.MarkupInfoItem).UserID == App.ViewInfo.UserID) |
|
467 |
{ |
|
468 |
//this.ParentOfType<MainWindow>().dzMainMenu.DeleteItem((item as IKCOM.MarkupInfoItem)); |
|
469 |
} |
|
470 |
} |
|
471 |
} |
|
472 |
*/ |
|
473 |
} |
|
474 |
|
|
475 |
return result; |
|
476 |
} |
|
477 |
|
|
478 |
public bool SaveEvent() |
|
479 |
{ |
|
480 |
bool result = false; |
|
481 |
|
|
482 |
var mainMenu = this.ParentOfType<MainWindow>().dzMainMenu; |
|
483 |
try |
|
484 |
{ |
|
485 |
mainMenu.ConvertInkControlToPolygon(); |
|
486 |
|
|
487 |
SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu); |
|
488 |
// update mylist and gridview |
|
489 |
mainMenu.UpdateMyMarkupList(); |
|
490 |
|
|
491 |
if (mainMenu.gridViewMarkup.SelectedItems.Count == 0 && mainMenu.gridViewMarkup.Items.Count > 0) |
|
492 |
{ |
|
493 |
this.ParentOfType<MainWindow>().DialogMessage_Alert("Please Select Your Comment List Item", "Alert"); |
|
494 |
} |
|
495 |
else |
|
496 |
{ |
|
497 |
foreach (var item in mainMenu.gridViewMarkup.SelectedItems) |
|
498 |
{ |
|
499 |
if ((item as IKCOM.MarkupInfoItem).UserID == App.ViewInfo.UserID) |
|
500 |
{ |
|
501 |
/// 저장 서비스 호출 |
|
502 |
result = this.ExecuteSaveCommandAsync(mainMenu).GetAwaiter().GetResult(); |
|
503 |
|
|
504 | 438 |
ViewerDataModel.Instance._markupInfoList.Where(data => data.MarkupInfoID == (item as IKCOM.MarkupInfoItem).MarkupInfoID).FirstOrDefault().UpdateTime = DateTime.Now; |
505 | 439 |
} |
506 | 440 |
} |
... | ... | |
536 | 470 |
} |
537 | 471 |
|
538 | 472 |
/// <summary> |
539 |
/// call save command
|
|
473 |
/// 마크업 데이터를 저장한다.
|
|
540 | 474 |
/// </summary> |
541 | 475 |
/// <param name="menu"></param> |
542 |
public void ExecuteSaveCommand2(MainMenu menu) |
|
543 |
{ |
|
544 |
if (menu.pageNavigator.CurrentPage != null) |
|
545 |
{ |
|
546 |
SaveCommand.Instance.Project_No = App.ViewInfo.ProjectNO; |
|
547 |
SaveCommand.Instance.document_id = App.ViewInfo.DocumentItemID; |
|
548 |
SaveCommand.Instance.user_id = App.ViewInfo.UserID; |
|
549 |
SaveCommand.Instance.page_no = menu.pageNavigator.CurrentPage.PageNumber; |
|
550 |
|
|
551 |
try |
|
552 |
{ |
|
553 |
if (ViewerDataModel.Instance.UndoDataList.Count > 0) |
|
554 |
{ |
|
555 |
List<IKCOM.MarkupInfoItem> SelectedMarkupInfos = new List<IKCOM.MarkupInfoItem>(); |
|
556 |
foreach (var item in menu.gridViewMarkup.SelectedItems) |
|
557 |
{ |
|
558 |
if ((item as IKCOM.MarkupInfoItem).UserID == App.ViewInfo.UserID) |
|
559 |
{ |
|
560 |
SelectedMarkupInfos.Add(item as IKCOM.MarkupInfoItem); |
|
561 |
} |
|
562 |
} |
|
563 |
|
|
564 |
SaveCommand.Instance.Execute(SelectedMarkupInfos); |
|
565 |
} |
|
566 |
|
|
567 |
if (ViewerDataModel.Instance.RotationDocs.Count > 0) |
|
568 |
{ |
|
569 |
SaveCommand.Instance.PageAngleSave(App.ViewInfo.ProjectNO, ViewerDataModel.Instance.RotationDocs); |
|
570 |
} |
|
571 |
} |
|
572 |
catch (Exception ex) |
|
573 |
{ |
|
574 |
this.ParentOfType<MainWindow>().dzMainMenu.DialogMessage_Alert(string.Format("세이브 실패:{0}", ex.Message), "Alert"); |
|
575 |
throw ex; |
|
576 |
} |
|
577 |
} |
|
578 |
else |
|
579 |
{ |
|
580 |
System.Diagnostics.Debug.WriteLine("ExecuteSaveCommand Error - pageNavigator.CurrentPage null"); |
|
581 |
} |
|
582 |
} |
|
476 |
/// <returns></returns> |
|
583 | 477 |
public async Task<bool> ExecuteSaveCommandAsync(MainMenu menu) |
584 | 478 |
{ |
585 | 479 |
bool result = false; |
... | ... | |
620 | 514 |
catch (Exception ex) |
621 | 515 |
{ |
622 | 516 |
this.ParentOfType<MainWindow>().dzMainMenu.DialogMessage_Alert(string.Format("세이브 실패:{0}", ex.Message), "Alert"); |
623 |
throw ex; |
|
624 |
} |
|
625 |
} |
|
626 |
else |
|
627 |
{ |
|
628 |
System.Diagnostics.Debug.WriteLine("ExecuteSaveCommand Error - pageNavigator.CurrentPage null"); |
|
629 |
} |
|
630 |
|
|
631 |
return result; |
|
632 |
} |
|
633 |
|
|
634 |
public bool ExecuteSaveCommand(MainMenu menu) |
|
635 |
{ |
|
636 |
bool result = false; |
|
637 |
|
|
638 |
if (menu.pageNavigator.CurrentPage != null) |
|
639 |
{ |
|
640 |
SaveCommand.Instance.Project_No = App.ViewInfo.ProjectNO; |
|
641 |
SaveCommand.Instance.document_id = App.ViewInfo.DocumentItemID; |
|
642 |
SaveCommand.Instance.user_id = App.ViewInfo.UserID; |
|
643 |
SaveCommand.Instance.page_no = menu.pageNavigator.CurrentPage.PageNumber; |
|
644 |
|
|
645 |
try |
|
646 |
{ |
|
647 |
if (ViewerDataModel.Instance.UndoDataList.Count > 0 || ViewerDataModel.Instance.IsMarkupUpdate) |
|
648 |
{ |
|
649 |
List<IKCOM.MarkupInfoItem> SelectedMarkupInfos = new List<IKCOM.MarkupInfoItem>(); |
|
650 |
foreach (var item in menu.gridViewMarkup.SelectedItems) |
|
651 |
{ |
|
652 |
if ((item as IKCOM.MarkupInfoItem).UserID == App.ViewInfo.UserID) |
|
653 |
{ |
|
654 |
SelectedMarkupInfos.Add(item as IKCOM.MarkupInfoItem); |
|
655 |
} |
|
656 |
} |
|
657 |
|
|
658 |
result = SaveCommand.Instance.Execute(SelectedMarkupInfos).GetAwaiter().GetResult(); |
|
659 |
ViewerDataModel.Instance.IsMarkupUpdate = false; |
|
660 |
} |
|
661 |
else |
|
662 |
{ |
|
663 |
result = true; |
|
664 |
} |
|
665 |
|
|
666 |
if (ViewerDataModel.Instance.RotationDocs.Count > 0) |
|
667 |
{ |
|
668 |
SaveCommand.Instance.PageAngleSave(App.ViewInfo.ProjectNO, ViewerDataModel.Instance.RotationDocs); |
|
669 |
} |
|
670 |
} |
|
671 |
catch (Exception ex) |
|
672 |
{ |
|
673 |
this.ParentOfType<MainWindow>().dzMainMenu.DialogMessage_Alert(string.Format("세이브 실패:{0}", ex.Message), "Alert"); |
|
674 |
throw ex; |
|
517 |
throw new InvalidOperationException(ex.Message); |
|
675 | 518 |
} |
676 | 519 |
} |
677 | 520 |
else |
KCOM/Events/SaveCommand.cs | ||
---|---|---|
80 | 80 |
|
81 | 81 |
try |
82 | 82 |
{ |
83 |
|
|
84 |
SelectionSet.Instance.UnSelect(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu); |
|
85 | 83 |
var mainmenu = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu; |
86 | 84 |
|
87 | 85 |
foreach (var UserState in UserStates) |
88 | 86 |
{ |
89 | 87 |
List<MARKUP_DATA> markupdata = new List<MARKUP_DATA>(); |
90 |
ViewerDataModel.Instance.MyMarkupList.Where(d => d.MarkupInfoID == UserState.MarkupInfoID).ToList().GroupBy(p => p.ID).Select(g => g.First()).ToList().ForEach(value => |
|
88 |
ViewerDataModel.Instance.MyMarkupList.Where(d => d.MarkupInfoID == UserState.MarkupInfoID).ToList() |
|
89 |
.GroupBy(p => p.ID).Select(g => g.First()) |
|
90 |
.OrderBy(x => x.ZIndex).ToList().ForEach(value => |
|
91 | 91 |
{ |
92 | 92 |
markupdata.Add(new MARKUP_DATA() |
93 | 93 |
{ |
... | ... | |
103 | 103 |
try |
104 | 104 |
{ |
105 | 105 |
var SaveResult = await ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseTaskClient.SaveMarkupDataAsync(UserState, Project_No, document_id, user_id, markupdata); |
106 |
|
|
107 | 106 |
result = SaveResult; |
108 | 107 |
} |
109 | 108 |
catch(Exception ex) |
110 | 109 |
{ |
110 |
#region 저장에 실패했을때 다시 시도한다.(다시 시도한다고 될까?) |
|
111 | 111 |
var client = new KcomService.ServiceDeepViewClient(App._binding, App._EndPoint); |
112 |
|
|
113 | 112 |
var SaveResult = await client.SaveMarkupDataAsync(UserState, Project_No, document_id, user_id, markupdata); |
114 | 113 |
result = SaveResult; |
114 |
#endregion |
|
115 | 115 |
|
116 | 116 |
if (!SaveResult) |
117 | 117 |
{ |
... | ... | |
128 | 128 |
mainmenu.gridViewMarkup.Rebind(); |
129 | 129 |
//TempFile.Remove(); //임시파일삭제 |
130 | 130 |
} |
131 |
catch (Exception) |
|
131 |
catch (Exception ex)
|
|
132 | 132 |
{ |
133 |
throw; |
|
133 |
throw new InvalidOperationException(ex.Message);
|
|
134 | 134 |
} |
135 | 135 |
|
136 | 136 |
return result; |
KCOM/LEADTOOLS.LIC | ||
---|---|---|
1 |
[Info] |
|
2 |
Description = License file for LEADTOOLS SDK |
|
3 |
|
|
4 |
[Customer] |
|
5 |
Company = Unknown |
|
6 |
Application = Unknown |
|
7 |
LEADContact = sales-rumi@leadtools.com |
|
8 |
UserContact = Unknown |
|
9 |
|
|
10 |
[Product] |
|
11 |
Version = Unknown |
|
12 |
PurchaseDate = 12/12/2014 |
|
13 |
Product1 = LEADTOOLS |
|
14 |
|
|
15 |
[SerialNumbers] |
|
16 |
SN = AQAR-BZ8A-AACJ-ALgA |
|
17 |
|
|
18 |
[Unlocks] |
|
19 |
L_SUPPORT_DOCUMENT |
|
20 |
L_SUPPORT_BARCODES_1D |
|
21 |
L_SUPPORT_BARCODES_2D |
|
22 |
L_SUPPORT_RASTER_PDF_READ |
|
23 |
L_SUPPORT_RASTER_PDF_SAVE |
|
24 |
L_SUPPORT_PDF_ADVANCED |
|
25 |
L_SUPPORT_JBIG2 |
|
26 |
L_SUPPORT_OCR_ADVANTAGE |
|
27 |
L_SUPPORT_OCR_PLUS |
|
28 |
L_SUPPORT_OCR_PROFESSIONAL |
|
29 |
L_SUPPORT_OCR_PROFESSIONAL_ASIAN |
|
30 |
L_SUPPORT_OCR_ARABIC |
|
31 |
L_SUPPORT_OCR_ADVANTAGE_PDF_OUTPUT |
|
32 |
L_SUPPORT_OCR_PLUS_PDF_OUTPUT |
|
33 |
L_SUPPORT_OCR_PROFESSIONAL_PDF_OUTPUT |
|
34 |
L_SUPPORT_OCR_ARABIC_PDF_OUTPUT |
|
35 |
L_SUPPORT_OMR |
|
36 |
L_SUPPORT_ICR_PLUS |
|
37 |
L_SUPPORT_ICR_PROFESSIONAL |
|
38 |
L_SUPPORT_DOCUMENT_WRITERS |
|
39 |
L_SUPPORT_DOCUMENT_WRITERS_PDF |
|
40 |
L_SUPPORT_PRINT_DRIVER |
|
41 |
L_SUPPORT_PRINT_DRIVER_SERVER |
|
42 |
L_SUPPORT_PRINT_DRIVER_NETWORK |
|
43 |
L_SUPPORT_FORMS |
|
44 |
L_SUPPORT_MEDIA_WRITER |
|
45 |
L_SUPPORT_MEDICAL |
|
46 |
L_SUPPORT_MEDICAL_3D |
|
47 |
L_SUPPORT_DICOM_COMMUNICATION |
|
48 |
L_SUPPORT_CCOW |
|
49 |
L_SUPPORT_VECTOR |
|
50 |
L_SUPPORT_CLOUD |
|
51 |
L_SUPPORT_APP_STORE |
|
52 |
L_SUPPORT_BASIC |
|
53 |
|
|
54 |
[License] |
|
55 |
License = <doc><ver>2.0</ver><code>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</code></doc> |
KCOM/LEADTOOLS.LIC.KEY | ||
---|---|---|
1 |
gcxLXptTi5bPbVDDR9E+k4CRC8BLLm0IuN383qJp6jPqoMTYamOe1yuYzHqrCmFEN5zDcumaaCTXpO9GpeGal0wjSKF8nxnu |
KCOM/Services/BaseServices.cs | ||
---|---|---|
372 | 372 |
if (e.Result != null) |
373 | 373 |
{ |
374 | 374 |
ViewerDataModel.Instance._markupInfoList.Clear(); |
375 |
if (e.Result.Count > 0) ViewerDataModel.Instance.MyMarkupList.Clear();
|
|
375 |
if (e.Result.Any()) ViewerDataModel.Instance.MyMarkupList.Clear();
|
|
376 | 376 |
|
377 | 377 |
foreach (var info in e.Result) |
378 | 378 |
{ |
... | ... | |
716 | 716 |
{ |
717 | 717 |
ViewerDataModel.Instance.SyncPageNumber = 1; |
718 | 718 |
} |
719 |
if (e.AddedItems.Count() > 0)
|
|
719 |
if (e.AddedItems.Any())
|
|
720 | 720 |
{ |
721 | 721 |
foreach (var item in gridSelectionItem) |
722 | 722 |
{ |
... | ... | |
733 | 733 |
} |
734 | 734 |
} |
735 | 735 |
} |
736 |
else if (e.RemovedItems.Count > 0)
|
|
736 |
else if (e.RemovedItems.Any())
|
|
737 | 737 |
{ |
738 | 738 |
var _infoItem = e.RemovedItems.Cast<MarkupInfoItem>().ToList(); |
739 | 739 |
|
KCOM/Views/MainMenu.xaml.cs | ||
---|---|---|
639 | 639 |
{ |
640 | 640 |
Logger.sendCheckLog("pageNavigator_PageChanging_ChangeCommentReact", 1); |
641 | 641 |
|
642 |
#region 선택된 객체를 선택 해제한다.(그래야 작업 내용이 적용됨) |
|
643 |
SelectionSet.Instance.UnSelect(Common.ViewerDataModel.Instance.SystemMain.dzMainMenu); |
|
644 |
#endregion |
|
645 |
|
|
642 | 646 |
/// add or update markup list |
643 | 647 |
foreach (var control in ViewerDataModel.Instance.MarkupControls_USER) |
644 | 648 |
{ |
645 |
var root = MarkupParser.MarkupToString(control, App.ViewInfo.UserID);
|
|
649 |
var markup = MarkupParser.MarkupToString(control, App.ViewInfo.UserID);
|
|
646 | 650 |
|
647 |
var exist = ViewerDataModel.Instance.MyMarkupList.Find(data => data.ID == root.CommentID); |
|
648 |
if (exist != null) //신규 추가 된 코멘트 |
|
651 |
var exist = ViewerDataModel.Instance.MyMarkupList.Find(data => data.ID == markup.CommentID); |
|
652 |
#region 기존 코멘트 |
|
653 |
if (exist != null) |
|
649 | 654 |
{ |
650 |
if (exist.Data != root.ConvertData) //코멘트가 같은지
|
|
655 |
if (exist.Data != markup.ConvertData) //코멘트가 같은지
|
|
651 | 656 |
{ |
652 |
exist.Data = root.ConvertData; |
|
657 |
exist.Data = markup.ConvertData; |
|
658 |
exist.ZIndex = control.ZIndex; |
|
653 | 659 |
exist.IsUpdate = true; |
654 | 660 |
} |
655 | 661 |
} |
656 |
else if (root.CommentID != null) |
|
662 |
#endregion |
|
663 |
else if (markup.CommentID != null) |
|
657 | 664 |
{ |
658 | 665 |
ViewerDataModel.Instance.MyMarkupList.Add(new MarkupItemEx |
659 | 666 |
{ |
660 | 667 |
ID = control.CommentID, |
661 |
Data = root.ConvertData,
|
|
662 |
Data_Type = root.DATA_TYPE,
|
|
668 |
Data = markup.ConvertData,
|
|
669 |
Data_Type = markup.DATA_TYPE,
|
|
663 | 670 |
MarkupInfoID = App.Custom_ViewInfoId, |
664 | 671 |
PageNumber = this.pageNavigator.CurrentPage.PageNumber, |
665 | 672 |
Symbol_ID = control.SymbolID, |
666 |
//Group_ID = control.GroupID,
|
|
673 |
ZIndex = control.ZIndex,
|
|
667 | 674 |
}); |
668 | 675 |
} |
669 | 676 |
} |
670 |
|
|
671 |
//if (this.pageNavigator.CurrentPage != null) |
|
672 |
//{ |
|
673 |
// /// delete markup list |
|
674 |
// int iPageNo = this.pageNavigator.CurrentPage.PageNumber; |
|
675 |
|
|
676 |
// var deleted = (from markup in ViewerDataModel.Instance.MyMarkupList |
|
677 |
// where (markup.PageNumber == iPageNo) |
|
678 |
// && (null == ViewerDataModel.Instance.MarkupControls_USER.Where(control => control.CommentID == markup.ID).FirstOrDefault()) |
|
679 |
// select markup).ToList(); |
|
680 |
|
|
681 |
// foreach (var markup in deleted) |
|
682 |
// { |
|
683 |
// ViewerDataModel.Instance.MyMarkupList.Remove(markup); |
|
684 |
// } |
|
685 |
//} |
|
686 |
//else |
|
687 |
//{ |
|
688 |
// System.Diagnostics.Debug.WriteLine("UpdateMyMarkupList : this.pageNavigator.CurrentPage null "); |
|
689 |
//} |
|
690 |
|
|
691 |
/// up to here |
|
692 |
|
|
693 |
//if (modified) |
|
694 |
//{ |
|
695 |
// if (ViewerDataModel.Instance._markupInfoList.Where(info => info.UserID == PreviewUserMarkupInfoItem.UserID).FirstOrDefault() == null) |
|
696 |
// { |
|
697 |
// ComingNewBieEnd = true; |
|
698 |
// ViewerDataModel.Instance._markupInfoList.Insert(0, PreviewUserMarkupInfoItem); |
|
699 |
// PreviewUserMarkupInfoItem.IsPreviewUser = false; |
|
700 |
// gridViewMarkup.ItemsSource = null; |
|
701 |
// gridViewMarkup.ItemsSource = ViewerDataModel.Instance._markupInfoList; |
|
702 |
// gridViewMarkup.SelectedItem = PreviewUserMarkupInfoItem; |
|
703 |
|
|
704 |
// GroupDescriptor descriptor = new GroupDescriptor(); |
|
705 |
// descriptor.Member = "Depatment"; |
|
706 |
// descriptor.DisplayContent = "DEPT"; |
|
707 |
// descriptor.SortDirection = ListSortDirection.Ascending; |
|
708 |
// gridViewMarkup.GroupDescriptors.Add(descriptor); |
|
709 |
// } |
|
710 |
//} |
|
711 | 677 |
} |
712 | 678 |
|
713 | 679 |
/// <summary> |
... | ... | |
915 | 881 |
instanceMain.dzTopMenu.tlcurrentPage_readonly.Text = e.CurrentPage.PAGE_NUMBER.ToString(); |
916 | 882 |
|
917 | 883 |
instanceMain.dzTopMenu.rotateOffSet = 0; |
918 |
var pageinfo = this.CurrentDoc.docInfo.DOCPAGE.Where(p => p.PAGE_NUMBER == e.CurrentPage.PAGE_NUMBER).FirstOrDefault();
|
|
884 |
var pageinfo = this.CurrentDoc.docInfo.DOCPAGE.FirstOrDefault(p => p.PAGE_NUMBER == e.CurrentPage.PAGE_NUMBER);
|
|
919 | 885 |
drawingPannelRotate(pageinfo.PAGE_ANGLE); |
920 | 886 |
|
921 | 887 |
/// 페이지의 모든 마크업을 로드한 후 호출 |
922 | 888 |
/// 좌측 마크업 list의 아이템을 클릭하는 경우 MarkupControls_USER가 0으로 나와서 추가함. |
923 | 889 |
ViewerDataModel.Instance.LoadPageMarkupFinish(new Rect { X = 0, Y = 0, Width = zoomAndPanCanvas.Width, Height = zoomAndPanCanvas.Height }); |
924 |
|
|
925 |
//Point startPoint = new Point(15, 15); |
|
926 |
|
|
927 |
//var markupinfo = ViewerDataModel.Instance._markupInfoList.Where(x => x.UserID == App.ViewInfo.UserID).First(); |
|
928 |
|
|
929 |
////var rect = GetRectControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID, startPoint); |
|
930 |
|
|
931 |
////var txtApproved = GetTextControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID, |
|
932 |
//// "APPROVED",30, FontWeights.Bold, TextAlignment.Center, rect.ItemRect, 15); |
|
933 |
|
|
934 |
////var txtCreator = GetTextControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID |
|
935 |
//// , "By HYOSUNG", 18, FontWeights.Bold, TextAlignment.Center, rect.ItemRect, txtApproved.StartPoint.Y + txtApproved.BoxHeight + 3); |
|
936 |
|
|
937 |
//var symCtrl = GetSymNControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID, startPoint); |
|
938 |
|
|
939 |
//var bottom = Rect.Offset(symCtrl.ItemRect, new Vector(0, symCtrl.ItemRect.Height)); |
|
940 |
|
|
941 |
//var txtOriginator = GetTextControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID |
|
942 |
// , App.ViewInfo.UserID, 18, FontWeights.Bold, TextAlignment.Left, bottom, bottom.Top + 3); |
|
943 |
|
|
944 |
//var dtfi = new System.Globalization.DateTimeFormatInfo { DateSeparator = "-", ShortDatePattern = @"yyyy/MM/dd" }; |
|
945 |
|
|
946 |
//var txtDate = GetTextControl(Convert.ToDouble(pageinfo.PAGE_WIDTH), Convert.ToDouble(pageinfo.PAGE_HEIGHT), markupinfo.UserID, markupinfo.MarkupInfoID |
|
947 |
// , DateTime.Now.ToString("d", dtfi), 18, FontWeights.Bold, TextAlignment.Left, bottom, txtOriginator.StartPoint.Y + txtOriginator.BoxHeight + 2); |
|
948 |
|
|
949 |
//ViewerDataModel.Instance.MarkupControls_USER.Add(symCtrl); |
|
950 |
////ViewerDataModel.Instance.MarkupControls_USER.Add(txtApproved); |
|
951 |
////ViewerDataModel.Instance.MarkupControls_USER.Add(txtCreator); |
|
952 |
//ViewerDataModel.Instance.MarkupControls_USER.Add(txtOriginator); |
|
953 |
//ViewerDataModel.Instance.MarkupControls_USER.Add(txtDate); |
|
954 |
|
|
955 |
//symCtrl.ApplyTemplate(); |
|
956 |
////txtApproved.ApplyTemplate(); |
|
957 |
////txtCreator.ApplyTemplate(); |
|
958 |
//txtOriginator.ApplyTemplate(); |
|
959 |
//txtDate.ApplyTemplate(); |
|
960 |
|
|
961 |
////SetTextControl(txtApproved); |
|
962 |
////SetTextControl(txtCreator); |
|
963 |
//SetTextControl(txtOriginator); |
|
964 |
//SetTextControl(txtDate); |
|
965 |
|
|
966 |
//multi_UndoData = new Multi_UndoData(); |
|
967 |
|
|
968 |
//MarkupToPDF.Common.UndoData UndoData = new UndoData() |
|
969 |
//{ |
|
970 |
// IsUndo = false, |
|
971 |
// Event = EventType.Create, |
|
972 |
// EventTime = DateTime.Now, |
|
973 |
// MarkupDataColl = new List<Multi_UndoData>() |
|
974 |
//}; |
|
975 |
|
|
976 |
//multi_UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(symCtrl as MarkupToPDF.Common.CommentUserInfo); |
|
977 |
//UndoData.MarkupDataColl.Add(multi_UndoData); |
|
978 |
|
|
979 |
////multi_UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(txtApproved as MarkupToPDF.Common.CommentUserInfo); |
|
980 |
////UndoData.MarkupDataColl.Add(multi_UndoData); |
|
981 |
|
|
982 |
////multi_UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(txtCreator as MarkupToPDF.Common.CommentUserInfo); |
|
983 |
////UndoData.MarkupDataColl.Add(multi_UndoData); |
|
984 |
|
|
985 |
//multi_UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(txtOriginator as MarkupToPDF.Common.CommentUserInfo); |
|
986 |
//UndoData.MarkupDataColl.Add(multi_UndoData); |
|
987 |
|
|
988 |
//multi_UndoData = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.Control_Style(txtDate as MarkupToPDF.Common.CommentUserInfo); |
|
989 |
//UndoData.MarkupDataColl.Add(multi_UndoData); |
|
990 |
|
|
991 |
//ViewerDataModel.Instance.UndoDataList.Add(UndoData); |
|
992 |
|
|
993 |
//System.Diagnostics.Debug.WriteLine(symCtrl.GetMarkupData(App.ViewInfo.UserID, 1, markupinfo.MarkupVersionID).DATA); |
|
994 |
////System.Diagnostics.Debug.WriteLine(txtApproved.GetMarkupData(App.ViewInfo.UserID, 1, markupinfo.MarkupVersionID).DATA); |
|
995 |
////System.Diagnostics.Debug.WriteLine(txtCreator.GetMarkupData(App.ViewInfo.UserID, 1, markupinfo.MarkupVersionID).DATA); |
|
996 |
//System.Diagnostics.Debug.WriteLine(txtOriginator.GetMarkupData(App.ViewInfo.UserID, 1, markupinfo.MarkupVersionID).DATA); |
|
997 |
//System.Diagnostics.Debug.WriteLine(txtDate.GetMarkupData(App.ViewInfo.UserID, 1, markupinfo.MarkupVersionID).DATA); |
|
998 | 890 |
} |
999 | 891 |
|
1000 | 892 |
private void SetTextControl(TextControl textControl) |
... | ... | |
1161 | 1053 |
return e.DesiredSize; |
1162 | 1054 |
} |
1163 | 1055 |
|
1056 |
/// <summary> |
|
1057 |
/// 주어진 pageNumber의 마크업 데이터를 읽어 화면에 표시한다. |
|
1058 |
/// </summary> |
|
1059 |
/// <param name="pageNumber"></param> |
|
1060 |
/// <param name="PageAngle"></param> |
|
1061 |
/// <param name="cts"></param> |
|
1062 |
/// <returns></returns> |
|
1164 | 1063 |
private async Task MarkupLoadAsync(int pageNumber,Double PageAngle, CancellationToken cts) |
1165 | 1064 |
{ |
1166 | 1065 |
System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); |
1167 | 1066 |
stopwatch.Start(); |
1168 | 1067 |
|
1169 |
/// 컨트롤을 새로 생성한다.
|
|
1068 |
#region 컨트롤을 새로 생성한다.
|
|
1170 | 1069 |
Common.ViewerDataModel.Instance.MarkupControls_USER.Clear(); //전체 제거 |
1171 | 1070 |
Common.ViewerDataModel.Instance.MarkupControls.Clear(); //전체 제거 |
1172 | 1071 |
|
... | ... | |
1179 | 1078 |
return; |
1180 | 1079 |
} |
1181 | 1080 |
|
1182 |
var info = ViewerDataModel.Instance._markupInfoList.Where(param => param.MarkupInfoID == markup.MarkupInfoID).FirstOrDefault();
|
|
1081 |
var info = ViewerDataModel.Instance._markupInfoList.FirstOrDefault(param => param.MarkupInfoID == markup.MarkupInfoID);
|
|
1183 | 1082 |
if (info != null) |
1184 | 1083 |
{ |
1185 | 1084 |
string sColor = (info.UserID == App.ViewInfo.UserID) ? "#FFFF0000" : info.DisplayColor; |
... | ... | |
1187 | 1086 |
{ |
1188 | 1087 |
var control = await MarkupParser.ParseExAsync(App.BaseAddress, cts, App.ViewInfo.ProjectNO, markup.Data, Common.ViewerDataModel.Instance.MarkupControls_USER, PageAngle, sColor, "", |
1189 | 1088 |
markup.MarkupInfoID, markup.ID); |
1089 |
Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex); |
|
1190 | 1090 |
control.Visibility = Visibility.Hidden; |
1191 | 1091 |
} |
1192 | 1092 |
else |
1193 | 1093 |
{ |
1194 | 1094 |
var control = await MarkupParser.ParseExAsync(App.BaseAddress, cts, App.ViewInfo.ProjectNO, markup.Data, Common.ViewerDataModel.Instance.MarkupControls, PageAngle, sColor, "", |
1195 | 1095 |
markup.MarkupInfoID, markup.ID); |
1096 |
Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex); |
|
1196 | 1097 |
control.Visibility = Visibility.Hidden; |
1197 | 1098 |
} |
1198 | 1099 |
} |
1199 |
};
|
|
1200 |
/// up to here
|
|
1100 |
} |
|
1101 |
#endregion
|
|
1201 | 1102 |
|
1202 | 1103 |
System.Diagnostics.Debug.WriteLine("MarkupLoad - MarkupParser " + new TimeSpan(stopwatch.ElapsedTicks).ToString()); |
1203 | 1104 |
|
1204 | 1105 |
/// fire selection event |
1205 |
// DIG 요청으로 첫 로드시 전체 선택 되도록 수정 2024-06-04 IRON |
|
1206 |
// 다른 페이지 넘어갈 시 메시지 박스가 여러개 떠서 추가기능 주석 처리 2024-06-05 IRON |
|
1207 |
//gridViewMarkup.SelectAll(); |
|
1208 | 1106 |
List<MarkupInfoItem> gridSelectionItem = gridViewMarkup.SelectedItems.Cast<MarkupInfoItem>().ToList(); //선택 된 마크업 |
1209 | 1107 |
this.gridViewMarkup.UnselectAll(); |
1210 | 1108 |
this.gridViewMarkup.Select(gridSelectionItem); |
... | ... | |
4971 | 4869 |
} |
4972 | 4870 |
} |
4973 | 4871 |
|
4872 |
/// <summary> |
|
4873 |
/// Final PDF를 실행한다. |
|
4874 |
/// </summary> |
|
4875 |
/// <param name="sender"></param> |
|
4876 |
/// <param name="e"></param> |
|
4974 | 4877 |
private async void FinalPDFEvent(object sender, RoutedEventArgs e) |
4975 | 4878 |
{ |
4976 |
SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu); |
|
4977 | 4879 |
// update mylist and gridview |
4978 | 4880 |
this.UpdateMyMarkupList(); |
4979 | 4881 |
|
... | ... | |
4985 | 4887 |
} |
4986 | 4888 |
else |
4987 | 4889 |
{ |
4988 |
var item = gridViewMarkup.Items.Cast<MarkupInfoItem>().Where(d => d.Consolidate == 1 && d.AvoidConsolidate == 0).FirstOrDefault(); |
|
4989 |
|
|
4890 |
var item = gridViewMarkup.Items.Cast<MarkupInfoItem>().FirstOrDefault(d => d.Consolidate == 1 && d.AvoidConsolidate == 0); |
|
4990 | 4891 |
if (item != null) |
4991 | 4892 |
{ |
4992 | 4893 |
if (BaseClient.FinalPDF_GetFinalPDFStatus(_DocInfo.ID, item.MarkupInfoID, _ViewInfo.UserID)) |
... | ... | |
5008 | 4909 |
DialogMessage_Alert("Consolidation 된 코멘트가 존재하지 않습니다", "안내"); |
5009 | 4910 |
} |
5010 | 4911 |
} |
5011 |
|
|
5012 | 4912 |
} |
5013 | 4913 |
|
5014 | 4914 |
private void btnFinalPDF_Loaded(object sender, RoutedEventArgs e) |
MarkupToPDF/Common/CommentUserInfo.cs | ||
---|---|---|
3 | 3 |
using MarkupToPDF.Controls.Parsing; |
4 | 4 |
using System; |
5 | 5 |
using System.Collections.Generic; |
6 |
using System.ComponentModel; |
|
6 | 7 |
using System.Linq; |
7 | 8 |
using System.Text; |
8 | 9 |
using System.Windows; |
... | ... | |
33 | 34 |
public string SymbolID { get; set; } |
34 | 35 |
public long GroupID { get; set; } |
35 | 36 |
|
37 |
[Description("ZIndex 값이 높을 수록 앞쪽으로 배치된다.")] |
|
38 |
public int ZIndex { get; set; } = 0; |
|
39 |
|
|
36 | 40 |
private SolidColorBrush _TempBorderBrush { get; set; } |
37 |
private SolidColorBrush _HoverBorderBrush = new SolidColorBrush(Color.FromRgb(255, 0, 255)); |
|
41 |
private SolidColorBrush _HoverBorderBrush { get; } = new SolidColorBrush(Color.FromRgb(255, 0, 255));
|
|
38 | 42 |
|
39 | 43 |
public CommentUserInfo() |
40 | 44 |
{ |
MarkupToPDF/Controls/Cad/ClipWhiteControlcs.cs | ||
---|---|---|
599 | 599 |
/// <returns></returns> |
600 | 600 |
public override string Serialize() |
601 | 601 |
{ |
602 |
using (S_ClipWhiteControl STemp = new S_ClipWhiteControl())
|
|
603 |
{ |
|
604 |
STemp.TransformPoint = "0|0";
|
|
605 |
STemp.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
STemp.PaintState = this.Paint;
|
|
607 |
STemp.PointSet = this.PointSet;
|
|
608 |
//STemp.StrokeColor = "#FF00FF00";
|
|
609 |
STemp.StrokeColor = this.StrokeColor.Color.ToString();
|
|
602 |
using (S_ClipWhiteControl ctrl = new S_ClipWhiteControl())
|
|
603 |
{ |
|
604 |
ctrl.TransformPoint = "0|0";
|
|
605 |
ctrl.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
ctrl.PaintState = this.Paint;
|
|
607 |
ctrl.PointSet = this.PointSet;
|
|
608 |
//ctrl.StrokeColor = "#FF00FF00";
|
|
609 |
ctrl.StrokeColor = this.StrokeColor.Color.ToString();
|
|
610 | 610 |
if (this.FillColor != null) |
611 | 611 |
{ |
612 |
STemp.FillColor = this.FillColor.Color.ToString();
|
|
612 |
ctrl.FillColor = this.FillColor.Color.ToString();
|
|
613 | 613 |
} |
614 |
STemp.StartPoint = this.StartPoint; |
|
615 |
STemp.UserID = this.UserID; |
|
616 |
STemp.EndPoint = this.EndPoint; |
|
617 |
STemp.LB = this.LeftBottomPoint; |
|
618 |
STemp.TR = this.TopRightPoint; |
|
619 |
STemp.DashSize = this.DashSize; |
|
620 |
STemp.Opac = this.Opacity; |
|
621 |
STemp.Name = this.GetType().Name.ToString(); |
|
622 |
STemp.Memo = this.Memo; |
|
623 |
|
|
624 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
614 |
ctrl.StartPoint = this.StartPoint; |
|
615 |
ctrl.UserID = this.UserID; |
|
616 |
ctrl.EndPoint = this.EndPoint; |
|
617 |
ctrl.LB = this.LeftBottomPoint; |
|
618 |
ctrl.TR = this.TopRightPoint; |
|
619 |
ctrl.DashSize = this.DashSize; |
|
620 |
ctrl.Opac = this.Opacity; |
|
621 |
ctrl.Name = this.GetType().Name.ToString(); |
|
622 |
ctrl.Memo = this.Memo; |
|
623 |
ctrl.ZIndex = this.ZIndex; |
|
624 |
|
|
625 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
625 | 626 |
}; |
626 | 627 |
} |
627 | 628 |
|
... | ... | |
650 | 651 |
PointSet = s.PointSet, |
651 | 652 |
UserID = s.UserID, |
652 | 653 |
FillColor = Brushes.White, |
653 |
Memo = s.Memo |
|
654 |
Memo = s.Memo, |
|
655 |
ZIndex = s.ZIndex |
|
654 | 656 |
}; |
655 | 657 |
} |
656 | 658 |
} |
MarkupToPDF/Controls/Cad/CoordinateControl.cs | ||
---|---|---|
598 | 598 |
/// <returns></returns> |
599 | 599 |
public override string Serialize() |
600 | 600 |
{ |
601 |
using (S_CoordinateControl STemp = new S_CoordinateControl())
|
|
602 |
{ |
|
603 |
STemp.TransformPoint = "0|0";
|
|
604 |
STemp.SizeSet = String.Format("{0}", this.LineSize);
|
|
605 |
STemp.PaintState = this.Paint;
|
|
606 |
STemp.PointSet = this.PointSet;
|
|
607 |
//STemp.StrokeColor = "#FF00FF00";
|
|
608 |
STemp.StrokeColor = this.StrokeColor.Color.ToString();
|
|
601 |
using (S_CoordinateControl ctrl = new S_CoordinateControl())
|
|
602 |
{ |
|
603 |
ctrl.TransformPoint = "0|0";
|
|
604 |
ctrl.SizeSet = String.Format("{0}", this.LineSize);
|
|
605 |
ctrl.PaintState = this.Paint;
|
|
606 |
ctrl.PointSet = this.PointSet;
|
|
607 |
//ctrl.StrokeColor = "#FF00FF00";
|
|
608 |
ctrl.StrokeColor = this.StrokeColor.Color.ToString();
|
|
609 | 609 |
if (this.FillColor != null) |
610 | 610 |
{ |
611 |
STemp.FillColor = this.FillColor.Color.ToString();
|
|
611 |
ctrl.FillColor = this.FillColor.Color.ToString();
|
|
612 | 612 |
} |
613 |
STemp.StartPoint = this.StartPoint; |
|
614 |
STemp.UserID = this.UserID; |
|
615 |
STemp.EndPoint = this.EndPoint; |
|
616 |
STemp.LB = this.LeftBottomPoint; |
|
617 |
STemp.TR = this.TopRightPoint; |
|
618 |
STemp.DashSize = this.DashSize; |
|
619 |
STemp.Opac = this.Opacity; |
|
620 |
STemp.Name = this.GetType().Name.ToString(); |
|
621 |
STemp.Memo = this.Memo; |
|
622 |
|
|
623 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
613 |
ctrl.StartPoint = this.StartPoint; |
|
614 |
ctrl.UserID = this.UserID; |
|
615 |
ctrl.EndPoint = this.EndPoint; |
|
616 |
ctrl.LB = this.LeftBottomPoint; |
|
617 |
ctrl.TR = this.TopRightPoint; |
|
618 |
ctrl.DashSize = this.DashSize; |
|
619 |
ctrl.Opac = this.Opacity; |
|
620 |
ctrl.Name = this.GetType().Name.ToString(); |
|
621 |
ctrl.Memo = this.Memo; |
|
622 |
ctrl.ZIndex = this.ZIndex; |
|
623 |
|
|
624 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
624 | 625 |
}; |
625 | 626 |
} |
626 | 627 |
|
... | ... | |
649 | 650 |
PointSet = s.PointSet, |
650 | 651 |
UserID = s.UserID, |
651 | 652 |
// FillColor = Brushes.Yellow, |
652 |
Memo = s.Memo |
|
653 |
Memo = s.Memo, |
|
654 |
ZIndex = s.ZIndex |
|
653 | 655 |
}; |
654 | 656 |
} |
655 | 657 |
} |
MarkupToPDF/Controls/Cad/InsideWhiteControlcs.cs | ||
---|---|---|
599 | 599 |
/// <returns></returns> |
600 | 600 |
public override string Serialize() |
601 | 601 |
{ |
602 |
using (S_InsideWhiteControl STemp = new S_InsideWhiteControl())
|
|
603 |
{ |
|
604 |
STemp.TransformPoint = "0|0";
|
|
605 |
STemp.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
STemp.PaintState = this.Paint;
|
|
607 |
STemp.PointSet = this.PointSet;
|
|
608 |
//STemp.StrokeColor = "#FF00FF00";
|
|
609 |
STemp.StrokeColor = this.StrokeColor.Color.ToString();
|
|
602 |
using (S_InsideWhiteControl ctrl = new S_InsideWhiteControl())
|
|
603 |
{ |
|
604 |
ctrl.TransformPoint = "0|0";
|
|
605 |
ctrl.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
ctrl.PaintState = this.Paint;
|
|
607 |
ctrl.PointSet = this.PointSet;
|
|
608 |
//ctrl.StrokeColor = "#FF00FF00";
|
|
609 |
ctrl.StrokeColor = this.StrokeColor.Color.ToString();
|
|
610 | 610 |
if (this.FillColor != null) |
611 | 611 |
{ |
612 |
STemp.FillColor = this.FillColor.Color.ToString();
|
|
612 |
ctrl.FillColor = this.FillColor.Color.ToString();
|
|
613 | 613 |
} |
614 |
STemp.StartPoint = this.StartPoint; |
|
615 |
STemp.UserID = this.UserID; |
|
616 |
STemp.EndPoint = this.EndPoint; |
|
617 |
STemp.LB = this.LeftBottomPoint; |
|
618 |
STemp.TR = this.TopRightPoint; |
|
619 |
STemp.DashSize = this.DashSize; |
|
620 |
STemp.Opac = this.Opacity; |
|
621 |
STemp.Name = this.GetType().Name.ToString(); |
|
622 |
STemp.Memo = this.Memo; |
|
623 |
|
|
624 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
614 |
ctrl.StartPoint = this.StartPoint; |
|
615 |
ctrl.UserID = this.UserID; |
|
616 |
ctrl.EndPoint = this.EndPoint; |
|
617 |
ctrl.LB = this.LeftBottomPoint; |
|
618 |
ctrl.TR = this.TopRightPoint; |
|
619 |
ctrl.DashSize = this.DashSize; |
|
620 |
ctrl.Opac = this.Opacity; |
|
621 |
ctrl.Name = this.GetType().Name.ToString(); |
|
622 |
ctrl.Memo = this.Memo; |
|
623 |
ctrl.ZIndex = this.ZIndex; |
|
624 |
|
|
625 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
625 | 626 |
}; |
626 | 627 |
} |
627 | 628 |
|
... | ... | |
650 | 651 |
PointSet = s.PointSet, |
651 | 652 |
UserID = s.UserID, |
652 | 653 |
FillColor = Brushes.White, |
653 |
Memo = s.Memo |
|
654 |
Memo = s.Memo, |
|
655 |
ZIndex = s.ZIndex |
|
654 | 656 |
}; |
655 | 657 |
} |
656 | 658 |
} |
MarkupToPDF/Controls/Cad/OverlapWhiteControl.cs | ||
---|---|---|
599 | 599 |
/// <returns></returns> |
600 | 600 |
public override string Serialize() |
601 | 601 |
{ |
602 |
using (S_OverlapWhiteControl STemp = new S_OverlapWhiteControl())
|
|
603 |
{ |
|
604 |
STemp.TransformPoint = "0|0";
|
|
605 |
STemp.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
STemp.PaintState = this.Paint;
|
|
607 |
STemp.PointSet = this.PointSet;
|
|
608 |
//STemp.StrokeColor = "#FF00FF00";
|
|
609 |
STemp.StrokeColor = this.StrokeColor.Color.ToString();
|
|
602 |
using (S_OverlapWhiteControl ctrl = new S_OverlapWhiteControl())
|
|
603 |
{ |
|
604 |
ctrl.TransformPoint = "0|0";
|
|
605 |
ctrl.SizeSet = String.Format("{0}", this.LineSize);
|
|
606 |
ctrl.PaintState = this.Paint;
|
|
607 |
ctrl.PointSet = this.PointSet;
|
|
608 |
//ctrl.StrokeColor = "#FF00FF00";
|
|
609 |
ctrl.StrokeColor = this.StrokeColor.Color.ToString();
|
|
610 | 610 |
if (this.FillColor != null) |
611 | 611 |
{ |
612 |
STemp.FillColor = this.FillColor.Color.ToString();
|
|
612 |
ctrl.FillColor = this.FillColor.Color.ToString();
|
|
613 | 613 |
} |
614 |
STemp.StartPoint = this.StartPoint; |
|
615 |
STemp.UserID = this.UserID; |
|
616 |
STemp.EndPoint = this.EndPoint; |
|
617 |
STemp.LB = this.LeftBottomPoint; |
|
618 |
STemp.TR = this.TopRightPoint; |
|
619 |
STemp.DashSize = this.DashSize; |
|
620 |
STemp.Opac = this.Opacity; |
|
621 |
STemp.Name = this.GetType().Name.ToString(); |
|
622 |
STemp.Memo = this.Memo; |
|
623 |
|
|
624 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
614 |
ctrl.StartPoint = this.StartPoint; |
|
615 |
ctrl.UserID = this.UserID; |
|
616 |
ctrl.EndPoint = this.EndPoint; |
|
617 |
ctrl.LB = this.LeftBottomPoint; |
|
618 |
ctrl.TR = this.TopRightPoint; |
|
619 |
ctrl.DashSize = this.DashSize; |
|
620 |
ctrl.Opac = this.Opacity; |
|
621 |
ctrl.Name = this.GetType().Name.ToString(); |
|
622 |
ctrl.Memo = this.Memo; |
|
623 |
ctrl.ZIndex = this.ZIndex; |
|
624 |
|
|
625 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
625 | 626 |
}; |
626 | 627 |
} |
627 | 628 |
|
... | ... | |
650 | 651 |
PointSet = s.PointSet, |
651 | 652 |
UserID = s.UserID, |
652 | 653 |
FillColor = Brushes.White, |
653 |
Memo = s.Memo |
|
654 |
Memo = s.Memo, |
|
655 |
ZIndex = s.ZIndex |
|
654 | 656 |
}; |
655 | 657 |
} |
656 | 658 |
} |
MarkupToPDF/Controls/Etc/DateControl.cs | ||
---|---|---|
57 | 57 |
PointSet = item.PointSet.ConvertAll(x => new Point(x.X, x.Y)); |
58 | 58 |
UserID = item.UserID; |
59 | 59 |
Memo = item.Memo; |
60 |
ZIndex = item.ZIndex; |
|
60 | 61 |
} |
61 | 62 |
} |
62 | 63 |
|
... | ... | |
580 | 581 |
/// <returns></returns> |
581 | 582 |
public override string Serialize() |
582 | 583 |
{ |
583 |
using (S_DateControl STemp = new S_DateControl())
|
|
584 |
using (S_DateControl ctrl = new S_DateControl())
|
|
584 | 585 |
{ |
585 |
STemp.Angle = this.CommentAngle;
|
|
586 |
STemp.EndPoint = this.EndPoint;
|
|
587 |
STemp.UserID = this.UserID;
|
|
588 |
STemp.LB = this.LeftBottomPoint;
|
|
589 |
STemp.Name = this.GetType().Name;
|
|
590 |
STemp.PointSet = this.PointSet;
|
|
591 |
STemp.StartPoint = this.StartPoint;
|
|
592 |
STemp.Opac = this.Opacity;
|
|
593 |
STemp.TR = this.TopRightPoint;
|
|
594 |
STemp.TransformPoint = "0|0";
|
|
595 |
STemp.FontColor = this.FontColor.Color.ToString();
|
|
596 |
//STemp.FontColor = "#FFFFFF00";
|
|
597 |
STemp.SizeSet = String.Format("{0}", this.LineSize);
|
|
598 |
STemp.Text = this.Text;
|
|
586 |
ctrl.Angle = this.CommentAngle;
|
|
587 |
ctrl.EndPoint = this.EndPoint;
|
|
588 |
ctrl.UserID = this.UserID;
|
|
589 |
ctrl.LB = this.LeftBottomPoint;
|
|
590 |
ctrl.Name = this.GetType().Name;
|
|
591 |
ctrl.PointSet = this.PointSet;
|
|
592 |
ctrl.StartPoint = this.StartPoint;
|
|
593 |
ctrl.Opac = this.Opacity;
|
|
594 |
ctrl.TR = this.TopRightPoint;
|
|
595 |
ctrl.TransformPoint = "0|0";
|
|
596 |
ctrl.FontColor = this.FontColor.Color.ToString();
|
|
597 |
//ctrl.FontColor = "#FFFFFF00";
|
|
598 |
ctrl.SizeSet = String.Format("{0}", this.LineSize);
|
|
599 |
ctrl.Text = this.Text;
|
|
599 | 600 |
///강인구 추가(2017.11.02) |
600 | 601 |
///Memo 추가 |
601 |
STemp.Memo = this.Memo;
|
|
602 |
ctrl.Memo = this.Memo;
|
|
602 | 603 |
|
603 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
604 |
ctrl.ZIndex = this.ZIndex; |
|
605 |
|
|
606 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
604 | 607 |
} |
605 | 608 |
} |
606 | 609 |
|
... | ... | |
627 | 630 |
Text = s.Text, |
628 | 631 |
PointSet = s.PointSet, |
629 | 632 |
UserID = s.UserID, |
630 |
Memo = s.Memo |
|
633 |
Memo = s.Memo, |
|
634 |
ZIndex = s.ZIndex |
|
631 | 635 |
}; |
632 | 636 |
} |
633 | 637 |
} |
MarkupToPDF/Controls/Etc/ImgControl.cs | ||
---|---|---|
58 | 58 |
this.UserID = imgControl.UserID; |
59 | 59 |
this.ImageData = imgControl.ImageData; |
60 | 60 |
this.Memo = imgControl.Memo; |
61 |
this.ZIndex = imgControl.ZIndex; |
|
61 | 62 |
} |
62 | 63 |
} |
63 | 64 |
|
... | ... | |
506 | 507 |
/// <returns></returns> |
507 | 508 |
public override string Serialize() |
508 | 509 |
{ |
509 |
using (S_ImgControl STemp = new S_ImgControl())
|
|
510 |
using (S_ImgControl ctrl = new S_ImgControl())
|
|
510 | 511 |
{ |
511 |
STemp.Angle = this.CommentAngle;
|
|
512 |
STemp.EndPoint = this.EndPoint;
|
|
513 |
STemp.LB = this.LeftBottomPoint;
|
|
514 |
STemp.Name = this.GetType().Name;
|
|
515 |
STemp.PointSet = this.PointSet;
|
|
516 |
STemp.StartPoint = this.StartPoint;
|
|
517 |
STemp.UserID = this.UserID;
|
|
518 |
STemp.Opac = this.Opacity;
|
|
519 |
STemp.TR = this.TopRightPoint;
|
|
520 |
STemp.ImagePath = this.FilePath;
|
|
512 |
ctrl.Angle = this.CommentAngle;
|
|
513 |
ctrl.EndPoint = this.EndPoint;
|
|
514 |
ctrl.LB = this.LeftBottomPoint;
|
|
515 |
ctrl.Name = this.GetType().Name;
|
|
516 |
ctrl.PointSet = this.PointSet;
|
|
517 |
ctrl.StartPoint = this.StartPoint;
|
|
518 |
ctrl.UserID = this.UserID;
|
|
519 |
ctrl.Opac = this.Opacity;
|
|
520 |
ctrl.TR = this.TopRightPoint;
|
|
521 |
ctrl.ImagePath = this.FilePath;
|
|
521 | 522 |
///강인구 추가(2017.11.02) |
522 | 523 |
///Memo 추가 |
523 |
STemp.Memo = this.Memo;
|
|
524 |
ctrl.Memo = this.Memo;
|
|
524 | 525 |
|
525 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
526 |
ctrl.ZIndex = this.ZIndex; |
|
527 |
|
|
528 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
526 | 529 |
} |
527 | 530 |
} |
528 | 531 |
|
... | ... | |
566 | 569 |
FilePath = uri.Uri.ToString(), |
567 | 570 |
UserID = s.UserID, |
568 | 571 |
ImageData = img.Source, |
569 |
Memo = s.Memo |
|
572 |
Memo = s.Memo, |
|
573 |
ZIndex = s.ZIndex |
|
570 | 574 |
}; |
571 | 575 |
|
572 | 576 |
instance.ImageData = img.Source; |
MarkupToPDF/Controls/Etc/SignControl.cs | ||
---|---|---|
57 | 57 |
this.UserID = item.UserID; |
58 | 58 |
this.UserNumber = item.UserNumber; |
59 | 59 |
this.Memo = item.Memo; |
60 |
this.ZIndex = item.ZIndex; |
|
60 | 61 |
} |
61 | 62 |
} |
62 | 63 |
|
... | ... | |
488 | 489 |
/// <returns></returns> |
489 | 490 |
public override string Serialize() |
490 | 491 |
{ |
491 |
using (S_SignControl STemp = new S_SignControl())
|
|
492 |
using (S_SignControl ctrl = new S_SignControl())
|
|
492 | 493 |
{ |
493 |
STemp.Angle = this.CommentAngle;
|
|
494 |
STemp.EndPoint = this.EndPoint;
|
|
495 |
STemp.UserID = this.UserID;
|
|
496 |
STemp.LB = this.LeftBottomPoint;
|
|
497 |
STemp.Name = this.GetType().Name;
|
|
498 |
STemp.PointSet = this.PointSet;
|
|
499 |
STemp.StartPoint = this.StartPoint;
|
|
500 |
STemp.Opac = this.Opacity;
|
|
501 |
STemp.TR = this.TopRightPoint;
|
|
502 |
STemp.UserNumber = this.UserNumber == null ? this.UserID: this.UserNumber;
|
|
494 |
ctrl.Angle = this.CommentAngle;
|
|
495 |
ctrl.EndPoint = this.EndPoint;
|
|
496 |
ctrl.UserID = this.UserID;
|
|
497 |
ctrl.LB = this.LeftBottomPoint;
|
|
498 |
ctrl.Name = this.GetType().Name;
|
|
499 |
ctrl.PointSet = this.PointSet;
|
|
500 |
ctrl.StartPoint = this.StartPoint;
|
|
501 |
ctrl.Opac = this.Opacity;
|
|
502 |
ctrl.TR = this.TopRightPoint;
|
|
503 |
ctrl.UserNumber = this.UserNumber == null ? this.UserID: this.UserNumber;
|
|
503 | 504 |
|
504 | 505 |
///강인구 추가(2017.11.02) |
505 | 506 |
///Memo 추가 |
506 |
STemp.Memo = this.Memo;
|
|
507 |
ctrl.Memo = this.Memo;
|
|
507 | 508 |
|
508 |
return "|DZ|" + JsonSerializerHelper.CompressString((STemp.JsonSerialize())); |
|
509 |
ctrl.ZIndex = this.ZIndex; |
|
510 |
|
|
511 |
return "|DZ|" + JsonSerializerHelper.CompressString((ctrl.JsonSerialize())); |
|
509 | 512 |
} |
510 | 513 |
} |
511 | 514 |
|
... | ... | |
531 | 534 |
SignImage = null, |
532 | 535 |
UserID = s.UserID, |
533 | 536 |
UserNumber = s.UserNumber, |
534 |
Memo = s.Memo |
|
537 |
Memo = s.Memo, |
|
538 |
ZIndex = s.ZIndex |
|
535 | 539 |
}; |
내보내기 Unified diff