개정판 cb806a91
AliveGrid count expander열림, dashboard 테두리
Change-Id: Id50a07c853f65d7037685ba4c220cdd739c10fca
ConvertService/ServiceBase/Markus.Service.StationController/Controls/RowIndexColumn.cs | ||
---|---|---|
43 | 43 |
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove) |
44 | 44 |
{ |
45 | 45 |
this.Dispatcher.InvokeAsync(() => this.Refresh()); |
46 |
//이거 때믄에 row 개수 옮길때 ex)200개 -> 50개 할때 에러 하지만 이게 있어야 row컨버터 후 삭제 및 다시add 할때 index번호가 들어감 |
|
47 |
//후 조취: 그냥 에러부분을 messagebox가 아닌 오류 목록에 놨음 |
|
48 | 46 |
} |
49 | 47 |
}; |
50 | 48 |
} |
ConvertService/ServiceBase/Markus.Service.StationController/Extensions/ConvertItemChangeValue.cs | ||
---|---|---|
9 | 9 |
{ |
10 | 10 |
public static class ConvertItemEx |
11 | 11 |
{ |
12 |
public static void ChangeValues(object changeitem, object newitem)//그리드에 있는 컬렉션, 디비에 있는 컬렉션
|
|
12 |
public static void ChangeValues(object changeitem, object newitem) |
|
13 | 13 |
{ |
14 |
var changeProp = changeitem.GetType().GetProperties();//그리드
|
|
15 |
var newProp = newitem.GetType().GetProperties();//디비
|
|
14 |
var changeProp = changeitem.GetType().GetProperties(); |
|
15 |
var newProp = newitem.GetType().GetProperties(); |
|
16 | 16 |
|
17 |
foreach (var item in changeProp)//그리드 포문
|
|
17 |
foreach (var item in changeProp) |
|
18 | 18 |
{ |
19 | 19 |
|
20 |
var newinfo = newProp.Where(x => x.Name == item.Name);//그리드와 디비 조건에 맞는 오브젝트
|
|
20 |
var newinfo = newProp.Where(x => x.Name == item.Name); |
|
21 | 21 |
|
22 | 22 |
if(newinfo.Count() > 0) |
23 | 23 |
{ |
24 | 24 |
if (item.GetValue(changeitem) != newinfo.First().GetValue(newitem)) |
25 | 25 |
{ |
26 |
item.SetValue(changeitem, newinfo.First().GetValue(newitem));//오브젝트, 객체
|
|
26 |
item.SetValue(changeitem, newinfo.First().GetValue(newitem)); |
|
27 | 27 |
} |
28 | 28 |
} |
29 | 29 |
} |
ConvertService/ServiceBase/Markus.Service.StationController/Extensions/DataExport.cs | ||
---|---|---|
1 | 1 |
using GemBox.Spreadsheet; |
2 |
//using Markus.Service.Interface; |
|
3 | 2 |
using Microsoft.Win32; |
4 | 3 |
using System; |
5 | 4 |
using System.Collections.Generic; |
... | ... | |
23 | 22 |
try |
24 | 23 |
{ |
25 | 24 |
SpreadsheetInfo.SetLicense("EXK0-W4HZ-N518-IMEW"); |
26 |
// SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");//프리버전은 15줄까지만 가능 |
|
27 | 25 |
|
28 | 26 |
var workbook = new ExcelFile(); |
29 | 27 |
var worksheet = workbook.Worksheets.Add(SheetName); |
30 | 28 |
|
31 |
// IEnumerable<T> collections를 for문 |
|
32 |
for (int rowNumber = 0; rowNumber < collections.Count(); rowNumber++)//1857 양이 너무 많아서 빨리 엑셀출력 누르면 숫자가 감소됨 차분히 기다리면 숫자 늘어남 |
|
29 |
for (int rowNumber = 0; rowNumber < collections.Count(); rowNumber++) |
|
33 | 30 |
{ |
34 |
// index에 해당하는 row를 가져온다. |
|
35 |
object row = collections.ElementAt(rowNumber);//우왕좌왕하게 모든 프로퍼티 있음 생성자 프로퍼티도 있음 |
|
31 |
object row = collections.ElementAt(rowNumber); |
|
36 | 32 |
|
37 |
//row의 properties를 가져옴. |
|
38 |
var rowPropInfos = row.GetType().GetProperties();//행렬로 보기좋게 프로퍼티 나옴 |
|
33 |
var rowPropInfos = row.GetType().GetProperties(); |
|
39 | 34 |
|
40 |
/// 지정된 header에 대해서 프로퍼티에 해당하는 값을 가져와서 cell에 출력 |
|
41 |
for (int i = 0; i < headerMembers.Count(); i++)//13 |
|
35 |
for (int i = 0; i < headerMembers.Count(); i++) |
|
42 | 36 |
{ |
43 |
var prop = rowPropInfos.Where(x => x.Name == headerMembers[i].Property);//prop 0으로 나옴
|
|
37 |
var prop = rowPropInfos.Where(x => x.Name == headerMembers[i].Property); |
|
44 | 38 |
if (headerMembers[i].Property == "CreateTime") |
45 | 39 |
{ |
46 | 40 |
worksheet.Cells[rowNumber + 1, i].Value = prop.First().GetValue(row).ToString(); |
... | ... | |
67 | 61 |
|
68 | 62 |
|
69 | 63 |
|
70 |
var header = new CellStyle();//헤더
|
|
64 |
var header = new CellStyle(); |
|
71 | 65 |
|
72 | 66 |
header.FillPattern.SetSolid(SpreadsheetColor.FromArgb(0, 100, 220)); |
73 | 67 |
header.Font.Weight = ExcelFont.BoldWeight; |
74 | 68 |
header.HorizontalAlignment = HorizontalAlignmentStyle.Center; |
75 | 69 |
header.VerticalAlignment = VerticalAlignmentStyle.Center; |
76 |
//worksheet.Cells.GetSubrange("A1:M1").Style = header; |
|
70 |
|
|
77 | 71 |
worksheet.Cells.GetSubrangeAbsolute(0, 0, collections.Count(), headerMembers.Count() - 1).Style = header; |
78 | 72 |
|
79 | 73 |
|
80 | 74 |
|
81 | 75 |
var style = new CellStyle(); |
82 |
//style.Borders.SetBorders(MultipleBorders.Right | MultipleBorders.Top | MultipleBorders.Left | MultipleBorders.Bottom, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thick);//바깥쪽 border 두껍게 성공 |
|
83 |
style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thick);//바깥쪽 border 두껍게 성공
|
|
76 |
|
|
77 |
style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thick); |
|
84 | 78 |
|
85 | 79 |
|
86 | 80 |
|
87 | 81 |
style.HorizontalAlignment = HorizontalAlignmentStyle.Center; |
88 | 82 |
style.VerticalAlignment = VerticalAlignmentStyle.Center; |
89 |
style.Font.Color = SpreadsheetColor.FromArgb(75, 60, 50);//글자 색갈
|
|
90 |
style.FillPattern.SetSolid(SpreadsheetColor.FromArgb(126, 239, 239));//cell 색갈
|
|
83 |
style.Font.Color = SpreadsheetColor.FromArgb(75, 60, 50); |
|
84 |
style.FillPattern.SetSolid(SpreadsheetColor.FromArgb(126, 239, 239)); |
|
91 | 85 |
style.Font.Name = "맑은 고딕"; |
92 | 86 |
style.Font.Size = 9 * 20; |
93 | 87 |
worksheet.Cells.GetSubrangeAbsolute(0, 0, collections.Count(), headerMembers.Count() - 1).Style = style; |
94 |
//worksheet.Cells.GetSubrange("A1:M1858").Style = style; |
|
95 | 88 |
|
96 |
for (int line = 0; line < collections.Count() - 1; line++) //바깥border과 안쪽 얇은 border 같이 쓰면 안됨
|
|
89 |
for (int line = 0; line < collections.Count() - 1; line++) |
|
97 | 90 |
{ |
98 |
//for (int j = 0; j < 14 - 1 - 1; j++) |
|
99 | 91 |
for (int j = 0; j < headerMembers.Count() - 1 - 1; j++) |
100 | 92 |
{ |
101 |
worksheet.Cells[line + 1, j + 1].Style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin);//안쪽 (1,1) ~ (마지막-1,마지막-1) 가운데 성공
|
|
93 |
worksheet.Cells[line + 1, j + 1].Style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin); |
|
102 | 94 |
} |
103 | 95 |
} |
104 | 96 |
|
105 | 97 |
|
106 |
for (int line = 0; line < collections.Count(); line++) //바깥border과 안쪽 얇은 border 같이 쓰면 안됨
|
|
107 |
{//Projectsource.Count() = 761개 ( 0 ~ 760 )
|
|
98 |
for (int line = 0; line < collections.Count(); line++) |
|
99 |
{ |
|
108 | 100 |
for (int j = 0; j < headerMembers.Count() - 1; j++) |
109 | 101 |
{ |
110 |
worksheet.Cells[0, j].Style.Borders.SetBorders(MultipleBorders.Right, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin);//(0,0) ~ (0,마지막-1) 위 성공
|
|
102 |
worksheet.Cells[0, j].Style.Borders.SetBorders(MultipleBorders.Right, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin); |
|
111 | 103 |
|
112 |
worksheet.Cells[collections.Count(), j].Style.Borders.SetBorders(MultipleBorders.Right, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin);//(마지막,0) ~ (마지막,마지막-1) 아래 성공
|
|
104 |
worksheet.Cells[collections.Count(), j].Style.Borders.SetBorders(MultipleBorders.Right, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin); |
|
113 | 105 |
} |
114 | 106 |
|
115 |
worksheet.Cells[line, 0].Style.Borders.SetBorders(MultipleBorders.Bottom, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin);//(0,0) ~ (마지막-1,0) 왼쪽 성공
|
|
107 |
worksheet.Cells[line, 0].Style.Borders.SetBorders(MultipleBorders.Bottom, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin); |
|
116 | 108 |
|
117 |
worksheet.Cells[line, headerMembers.Count() - 1].Style.Borders.SetBorders(MultipleBorders.Bottom, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin);//(0,마지막) ~ (마지막-1,마지막) 오른쪽 성공
|
|
109 |
worksheet.Cells[line, headerMembers.Count() - 1].Style.Borders.SetBorders(MultipleBorders.Bottom, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thin); |
|
118 | 110 |
|
119 | 111 |
} |
120 | 112 |
|
121 |
workbook.Save(SaveFile);//파일 열었던 파일로 저장 성공
|
|
113 |
workbook.Save(SaveFile); |
|
122 | 114 |
MessageBox.Show("성공"); |
123 | 115 |
} |
124 | 116 |
|
ConvertService/ServiceBase/Markus.Service.StationController/MainWindow.xaml | ||
---|---|---|
69 | 69 |
</Grid> |
70 | 70 |
</DockPanel> |
71 | 71 |
</materialDesign:ColorZone> |
72 |
<!--<Grid Grid.Row="1"> |
|
73 |
<Grid.RowDefinitions> |
|
74 |
<RowDefinition Height="*" /> |
|
75 |
</Grid.RowDefinitions>--> |
|
76 |
<!--<ScrollViewer Grid.Row="1" Width="{Binding ActualWidth, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" |
|
77 |
HorizontalScrollBarVisibility="Auto" |
|
78 |
VerticalScrollBarVisibility="Auto">--> |
|
79 | 72 |
<ContentControl Grid.Row="1" Content="{Binding SelectNavigationItem.Content}"/> |
80 |
<!--</ScrollViewer>--> |
|
81 |
<!--</Grid>--> |
|
82 | 73 |
</Grid> |
83 | 74 |
</materialDesign:DrawerHost> |
84 | 75 |
</materialDesign:DialogHost> |
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/ConvertExcelDialogViewModel.cs | ||
---|---|---|
144 | 144 |
} |
145 | 145 |
} |
146 | 146 |
|
147 |
// var headers = new List<HeaderMember> |
|
148 |
//{ |
|
149 |
|
|
150 |
//new HeaderMember{HeaderName = "ServiceID", Property = "ServiceID" }, |
|
151 |
//new HeaderMember{HeaderName = "ConvertID", Property = "ConvertID" }, |
|
152 |
//new HeaderMember{HeaderName = "ProjectNumber", Property = "ProjectNumber" }, |
|
153 |
//new HeaderMember{HeaderName = "ConvertState", Property = "ConvertState" }, |
|
154 |
//new HeaderMember{HeaderName = "CurrentPageNo", Property = "CurrentPageNo" }, |
|
155 |
//new HeaderMember{HeaderName = "TotalPage", Property = "TotalPage" }, |
|
156 |
//new HeaderMember{HeaderName = "OriginfilePath", Property = "OriginfilePath" }, |
|
157 |
//new HeaderMember{HeaderName = "ConvertPath", Property = "ConvertPath" }, |
|
158 |
//new HeaderMember{HeaderName = "CreateTime", Property = "CreateTime" }, |
|
159 |
//new HeaderMember{HeaderName = "Exception", Property = "Exception" }, |
|
160 |
//new HeaderMember{HeaderName = "ReConverter", Property = "ReConverter" }, |
|
161 |
//new HeaderMember{HeaderName = "UniqueKey", Property = "UniqueKey" } |
|
162 |
//}; |
|
163 |
// new HeaderMember{HeaderName = "ProcessorAffinity", Property = "ProcessorAffinity" }, |
|
164 |
|
|
165 | 147 |
DataExport dataExport = new DataExport(); |
166 | 148 |
dataExport.DataExportExcel(saveFileDialog.FileName, "Convert PDF", ExcelSource, headers); |
167 | 149 |
} |
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/DashBoardViewModel.cs | ||
---|---|---|
201 | 201 |
}); |
202 | 202 |
} |
203 | 203 |
|
204 |
//await Task.Delay(5000); |
|
205 | 204 |
await Task.Delay(10000); |
206 | 205 |
|
207 |
//System.Threading.Thread.Sleep(new TimeSpan(0,0,0,0,100)); |
|
208 |
|
|
209 | 206 |
dispatcherTimer.Start(); |
210 | 207 |
} |
211 | 208 |
|
... | ... | |
269 | 266 |
_status = (int)SelectedStatus.Value; |
270 | 267 |
} |
271 | 268 |
|
272 |
//DocumentID = unikey |
|
273 | 269 |
DateTime? Start_CreateTime = null; |
274 | 270 |
DateTime? Finish_CreateTime = null; |
275 | 271 |
if (SelectedCreateTimeBegin != DefaultCreateTime) |
... | ... | |
296 | 292 |
} |
297 | 293 |
else |
298 | 294 |
{ |
299 |
|
|
300 |
//세미 업데이트 |
|
301 | 295 |
foreach (var newitem in Listitems) |
302 | 296 |
{ |
303 | 297 |
collection.UpdateWhere(changeitem => |
... | ... | |
308 | 302 |
if (statusCodeTypeList.Count() == 1) |
309 | 303 |
{ |
310 | 304 |
|
311 |
//삭제 |
|
312 | 305 |
for (int i = collection.Count() - 1; i >= 0; --i) |
313 | 306 |
{ |
314 | 307 |
var item = collection[i]; |
... | ... | |
322 | 315 |
|
323 | 316 |
if (statusCodeTypeList.Count() == 1) |
324 | 317 |
{ |
325 |
//추가 convert 후 추가됨 |
|
326 | 318 |
foreach (var item in Listitems) |
327 | 319 |
{ |
328 | 320 |
if (collection.Count(x => x.Project_NO == item.Project_NO && x.Count == item.Count) == 0) |
... | ... | |
355 | 347 |
_status = (int)SelectedStatus.Value; |
356 | 348 |
} |
357 | 349 |
|
358 |
//DocumentID = unikey |
|
359 | 350 |
DateTime? Start_CreateTime = null; |
360 | 351 |
DateTime? Finish_CreateTime = null; |
361 | 352 |
if (SelectedCreateTimeBegin != DefaultCreateTime) |
... | ... | |
382 | 373 |
} |
383 | 374 |
else |
384 | 375 |
{ |
385 |
|
|
386 |
//세미 업데이트 |
|
387 | 376 |
foreach (var newitem in Listitems) |
388 | 377 |
{ |
389 | 378 |
collection.UpdateWhere(changeitem => |
... | ... | |
393 | 382 |
|
394 | 383 |
if (statusCodeTypeList.Count() == 1) |
395 | 384 |
{ |
396 |
|
|
397 |
//삭제 |
|
398 | 385 |
for (int i = collection.Count() - 1; i >= 0; --i) |
399 | 386 |
{ |
400 | 387 |
var item = collection[i]; |
... | ... | |
408 | 395 |
|
409 | 396 |
if (statusCodeTypeList.Count() == 1) |
410 | 397 |
{ |
411 |
//추가 convert 후 추가됨 |
|
412 | 398 |
foreach (var item in Listitems) |
413 | 399 |
{ |
414 | 400 |
if (collection.Count(x => x.Project_NO == item.Project_NO && x.Count == item.Count) == 0) |
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/DataBaseItemsModel.cs | ||
---|---|---|
22 | 22 |
using System.Windows.Controls; |
23 | 23 |
using System.IO; |
24 | 24 |
using Newtonsoft.Json; |
25 |
//using Markus.Service.Interface; |
|
26 | 25 |
using static Markus.Service.StationController.Data.ConvertPDF; |
27 | 26 |
using System.Collections.ObjectModel; |
28 | 27 |
|
... | ... | |
565 | 564 |
} |
566 | 565 |
} |
567 | 566 |
|
567 |
public bool _AliveShow; |
|
568 |
public bool AliveShow |
|
569 |
{ |
|
570 |
get => _AliveShow; |
|
571 |
set |
|
572 |
{ |
|
573 |
if (_AliveShow = !value) |
|
574 |
{ |
|
575 |
_AliveShow = false; |
|
576 |
} |
|
577 |
_AliveShow = value; |
|
578 |
OnPropertyChanged(() => AliveShow); |
|
579 |
} |
|
580 |
} |
|
581 |
|
|
568 | 582 |
#endregion |
569 | 583 |
|
570 | 584 |
#region Command |
... | ... | |
641 | 655 |
} |
642 | 656 |
|
643 | 657 |
await Task.Delay(5000); |
644 |
//await Task.Delay(10000); |
|
645 | 658 |
|
646 | 659 |
System.Threading.Thread.Sleep(new TimeSpan(0, 0, 0, 0, 100)); |
647 | 660 |
|
... | ... | |
770 | 783 |
{ |
771 | 784 |
if (statusCodeTypeList.Count() == 1) |
772 | 785 |
{ |
773 |
//Listitems.ForEach(x => collection.Add(x)); |
|
774 | 786 |
foreach (var Listitem in Listitems.ToList()) |
775 | 787 |
{ |
776 | 788 |
collection.Add(Listitem); |
... | ... | |
829 | 841 |
catch (Exception ex) |
830 | 842 |
{ |
831 | 843 |
MessageBox.Show(ex.ToString()); |
832 |
//System.Diagnostics.Debug.WriteLine(ex.ToString()); |
|
833 | 844 |
} |
834 | 845 |
} |
835 | 846 |
|
... | ... | |
842 | 853 |
{ |
843 | 854 |
_status = (int)SelectedStatus.Value; |
844 | 855 |
} |
845 |
|
|
846 |
//DocumentID = unikey |
|
847 | 856 |
DateTime? Start_CreateTime = null; |
848 | 857 |
DateTime? Finish_CreateTime = null; |
849 | 858 |
if (SelectedCreateTimeBegin != DefaultCreateTime) |
... | ... | |
882 | 891 |
} |
883 | 892 |
else |
884 | 893 |
{ |
885 |
|
|
886 |
////세미 업데이트 |
|
887 | 894 |
foreach (var newitem in Listitems) |
888 | 895 |
{ |
889 | 896 |
collection.UpdateWhere(changeitem => |
... | ... | |
893 | 900 |
|
894 | 901 |
if (statusCodeTypeList.Count() == 1) |
895 | 902 |
{ |
896 |
|
|
897 |
//삭제 |
|
898 | 903 |
for (int i = collection.Count() - 1; i >= 0; --i) |
899 | 904 |
{ |
900 | 905 |
var item = collection[i]; |
... | ... | |
908 | 913 |
|
909 | 914 |
if (statusCodeTypeList.Count() == 1) |
910 | 915 |
{ |
911 |
//추가 convert 후 추가됨 |
|
912 | 916 |
foreach (var item in Listitems) |
913 | 917 |
{ |
914 | 918 |
if (collection.Count(x => x.ConvertID == item.ConvertID && x.ProjectNumber == item.ProjectNumber) == 0) |
... | ... | |
937 | 941 |
catch (Exception ex) |
938 | 942 |
{ |
939 | 943 |
MessageBox.Show(ex.ToString()); |
940 |
//System.Diagnostics.Debug.WriteLine(ex.ToString()); |
|
941 | 944 |
} |
942 | 945 |
} |
943 | 946 |
/// <summary> |
... | ... | |
987 | 990 |
itemsToEach.OriginfilePath = item.OriginfilePath; |
988 | 991 |
itemsToEach.ConvertPath = item.ConvertPath; |
989 | 992 |
itemsToEach.MarkusLink = MarkusLink; |
990 |
itemsToEach.UniqueKey = item.UniqueKey;//DocumentNO 없음 |
|
991 |
itemsToEach.GroupNo = item.GroupNo;//없음 |
|
992 |
//itemsToEach.ProcessorAffinity = item.ProcessorAffinity; |
|
993 |
itemsToEach.UniqueKey = item.UniqueKey; |
|
994 |
itemsToEach.GroupNo = item.GroupNo; |
|
993 | 995 |
itemsToEach.DocumentName = item.DocumnetName; |
994 |
itemsToEach.Revision = item.Revision; //없음
|
|
995 |
itemsToEach.Exception = item.Exception;//없음
|
|
996 |
itemsToEach.Revision = item.Revision; |
|
997 |
itemsToEach.Exception = item.Exception; |
|
996 | 998 |
itemsToEach.ConvertPath = item.ConvertPath; |
997 | 999 |
itemsToEach.CreateTime = item.CreateTime; |
998 | 1000 |
itemsToEach.ReConverter = item.ReConverter; |
... | ... | |
1053 | 1055 |
} |
1054 | 1056 |
else |
1055 | 1057 |
{ |
1056 |
/// 데이터 업데이트 |
|
1057 | 1058 |
newitems.ForEach(newitem => |
1058 | 1059 |
{ |
1059 | 1060 |
AliveItems.UpdateWhere(changeitem => ConvertItemEx.ChangeValues(changeitem, newitem), x => x.ProjectNumber == newitem.ProjectNumber && x.ConvertID == newitem.ConvertID); |
1060 | 1061 |
}); |
1061 | 1062 |
|
1062 |
// 추가 |
|
1063 | 1063 |
foreach (var item in newitems) |
1064 | 1064 |
{ |
1065 | 1065 |
if (AliveItems.Count(x => x.ConvertID == item.ConvertID && x.ProjectNumber == item.ProjectNumber) == 0) |
... | ... | |
1068 | 1068 |
} |
1069 | 1069 |
} |
1070 | 1070 |
|
1071 |
/// 삭제 |
|
1072 |
|
|
1073 | 1071 |
for (int i = AliveItems.Count() - 1; i > -1; --i) |
1074 | 1072 |
{ |
1075 | 1073 |
var item = AliveItems[i]; |
... | ... | |
1087 | 1085 |
} |
1088 | 1086 |
} |
1089 | 1087 |
} |
1088 |
|
|
1089 |
if (AliveItems.Count() > 1) |
|
1090 |
{ |
|
1091 |
AliveShow = true; |
|
1092 |
} |
|
1090 | 1093 |
} |
1091 | 1094 |
|
1092 | 1095 |
|
... | ... | |
1137 | 1140 |
{ |
1138 | 1141 |
if (SelectRealConvert != null) |
1139 | 1142 |
{ |
1140 |
SetCleanUpItem(SelectRealConvert);//ConvertDataBase
|
|
1143 |
SetCleanUpItem(SelectRealConvert); |
|
1141 | 1144 |
} |
1142 | 1145 |
if (SelectFilterConvertList != null) |
1143 | 1146 |
{ |
... | ... | |
1182 | 1185 |
var _CREATE_DATETIME = DateTime.Now; |
1183 | 1186 |
var _STATUS = (int)StatusCodeType.None; |
1184 | 1187 |
|
1185 |
await WcfClient.GET_SELECT_RERECONVERT_ITEMAsync(_ConvertItem.ConvertID, _RECONVERTER, _CREATE_DATETIME, _STATUS, null);//_END_DATETIME = null 에러
|
|
1188 |
await WcfClient.GET_SELECT_RERECONVERT_ITEMAsync(_ConvertItem.ConvertID, _RECONVERTER, _CREATE_DATETIME, _STATUS, null); |
|
1186 | 1189 |
} |
1187 | 1190 |
} |
1188 | 1191 |
|
... | ... | |
1262 | 1265 |
{ |
1263 | 1266 |
dispatcherTimer.Tick -= new EventHandler(Timer_Tick); |
1264 | 1267 |
dispatcherTimer.Tick += new EventHandler(SearchTimer_Tick); |
1265 |
//DataSearch(new[] { (StatusCodeType)(SelectedStatus.Value) }, FilterConvertSource); |
|
1266 | 1268 |
} |
1267 | 1269 |
|
1268 | 1270 |
#endregion |
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/FinalPDFExcelDialogViewModel.cs | ||
---|---|---|
127 | 127 |
{ |
128 | 128 |
SaveFileDialog saveFileDialog = new SaveFileDialog(); |
129 | 129 |
|
130 |
saveFileDialog.FileName = "Document"; // Default file name
|
|
131 |
saveFileDialog.DefaultExt = ".txt"; // Default file extension
|
|
132 |
saveFileDialog.Filter = "Csv documents (.Csv)|*.csv|Excel(2017~2019)Worksheets|*.xlsx"; // Filter files by extension
|
|
130 |
saveFileDialog.FileName = "Document"; |
|
131 |
saveFileDialog.DefaultExt = ".txt"; |
|
132 |
saveFileDialog.Filter = "Csv documents (.Csv)|*.csv|Excel(2017~2019)Worksheets|*.xlsx"; |
|
133 | 133 |
|
134 | 134 |
if (saveFileDialog.ShowDialog() == true) |
135 | 135 |
{ |
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/FinalPDFViewModel.cs | ||
---|---|---|
13 | 13 |
using System.Windows; |
14 | 14 |
using Telerik.Windows.Controls; |
15 | 15 |
using Telerik.Windows.Data; |
16 |
//using ConvertItem = Markus.Service.Interface.ConvertItem; |
|
17 | 16 |
using System.Net; |
18 | 17 |
using System.Windows.Threading; |
19 | 18 |
using System.Diagnostics; |
... | ... | |
23 | 22 |
using System.Windows.Controls; |
24 | 23 |
using System.IO; |
25 | 24 |
using Newtonsoft.Json; |
26 |
//using Markus.Service.Interface; |
|
27 | 25 |
using static Markus.Service.StationController.Data.FinalPDF; |
28 | 26 |
using System.Collections.ObjectModel; |
29 | 27 |
|
... | ... | |
630 | 628 |
} |
631 | 629 |
} |
632 | 630 |
|
631 |
public bool _AliveShow; |
|
632 |
public bool AliveShow |
|
633 |
{ |
|
634 |
get => _AliveShow; |
|
635 |
set |
|
636 |
{ |
|
637 |
if (_AliveShow = !value) |
|
638 |
{ |
|
639 |
_AliveShow = false; |
|
640 |
} |
|
641 |
_AliveShow = value; |
|
642 |
OnPropertyChanged(() => AliveShow); |
|
643 |
} |
|
644 |
} |
|
645 |
|
|
633 | 646 |
|
634 | 647 |
private bool _ExcptionCheck = false; |
635 | 648 |
public bool ExcptionCheck |
... | ... | |
721 | 734 |
} |
722 | 735 |
|
723 | 736 |
await Task.Delay(5000); |
724 |
//await Task.Delay(10000); |
|
725 |
|
|
726 |
//System.Threading.Thread.Sleep(new TimeSpan(0,0,0,0,100)); |
|
727 | 737 |
|
728 | 738 |
dispatcherTimer.Start(); |
729 | 739 |
} |
... | ... | |
947 | 957 |
var Listitems = from x in await WcfClient.GET_SELECT_FINAL_PDF_ITEMAsync(null, ProjectNumberFilter.Project_NO, DocumentIDFilter, MarkupInfo_IDFilter, DOCINFO_IDFilter, Document_NameFilter, Document_NOFilter, |
948 | 958 |
CreateUser_IDFilter, _status, SelectedCount.ValueMember, GROUP_NOFilter, REVISIONFilter, Start_CreateTime, Finish_CreateTime, null, null, null, null, Document_URLFilter, ExcptionCheck) |
949 | 959 |
let MarkusLink = "kcom://" + CreateMarkusParam(x.ID, x.DOCUMENT_ID, "doftech") |
950 |
select new FinalPDF(x.ID, x.PROJECT_NO, _status, x.DOCUMENT_ID, x.MARKUPINFO_ID, x.DOCINFO_ID, x.DOCUMENT_NAME, x.DOCUMENT_NO, x.CREATE_USER_ID,
|
|
960 |
select new FinalPDF(x.ID, x.PROJECT_NO, x.STATUS, x.DOCUMENT_ID, x.MARKUPINFO_ID, x.DOCINFO_ID, x.DOCUMENT_NAME, x.DOCUMENT_NO, x.CREATE_USER_ID,
|
|
951 | 961 |
x.REVISION, x.CURRENT_PAGE, x.TOTAL_PAGE, x.EXCEPTION, x.GROUP_NO, x.CREATE_DATETIME, x.START_DATETIME, x.END_DATETIME |
952 | 962 |
, x.ORIGINAL_FILE, x.CONVERT_PATH, MarkusLink); |
953 | 963 |
|
... | ... | |
1045 | 1055 |
|
1046 | 1056 |
var MarkusLink = "kcom://" + CreateMarkusParam(item.ProjectNumber, item.DocumentID, "doftech"); |
1047 | 1057 |
|
1048 |
//var convertpath = GetSearchConvertPathAndMarkus(item.ProjectNumber, item.UniqueKey); |
|
1049 |
|
|
1050 | 1058 |
if (item.ConvertState != null) |
1051 | 1059 |
{ |
1052 | 1060 |
itemsToEach.ConvertState = (StatusCodeType)Enum.Parse(typeof(StatusCodeType), item.ConvertState); |
... | ... | |
1076 | 1084 |
itemsToEach.CreateTime = item.CreateTime; |
1077 | 1085 |
itemsToEach.StartTime = item.StartTime; |
1078 | 1086 |
itemsToEach.EndTime = item.EndTime; |
1079 |
//itemsToEach.MarkupInfo_ID = |
|
1080 |
//itemsToEach.DocInfo_ID = |
|
1081 |
//itemsToEach.Create_User_ID = |
|
1082 | 1087 |
|
1083 | 1088 |
itemsToList.Add(itemsToEach); |
1084 | 1089 |
} |
... | ... | |
1133 | 1138 |
} |
1134 | 1139 |
else |
1135 | 1140 |
{ |
1136 |
// 데이터 업데이트 |
|
1137 | 1141 |
newitems.ForEach(newitem => |
1138 | 1142 |
{ |
1139 | 1143 |
AliveItems.UpdateWhere(changeitem => ConvertItemEx.ChangeValues(changeitem, newitem), x => x.ProjectNumber == newitem.ProjectNumber && x.ConvertID == newitem.ConvertID); |
1140 | 1144 |
}); |
1141 | 1145 |
|
1142 |
///추가 |
|
1143 | 1146 |
foreach (var item in newitems) |
1144 | 1147 |
{ |
1145 | 1148 |
if (AliveItems.Count(x => x.ConvertID == item.ConvertID && x.ProjectNumber == item.ProjectNumber) == 0) |
... | ... | |
1148 | 1151 |
} |
1149 | 1152 |
} |
1150 | 1153 |
|
1151 |
// 삭제 |
|
1152 |
|
|
1153 | 1154 |
for (int i = AliveItems.Count() - 1; i > -1; --i) |
1154 | 1155 |
{ |
1155 | 1156 |
var item = AliveItems[i]; |
... | ... | |
1168 | 1169 |
} |
1169 | 1170 |
} |
1170 | 1171 |
|
1172 |
if (AliveItems.Count() > 1) |
|
1173 |
{ |
|
1174 |
AliveShow = true; |
|
1175 |
} |
|
1176 |
|
|
1171 | 1177 |
Alive_Height = 80 + (newitems.Count() * 10); |
1172 | 1178 |
DataBase_ItemsHeight = 800 - (RealConvert_Height + Alive_Height); |
1173 | 1179 |
} |
... | ... | |
1218 | 1224 |
} |
1219 | 1225 |
else |
1220 | 1226 |
{ |
1221 |
//ConvertDatabase _DataConvert = new ConvertDatabase(App.MarkusDataBaseConnecitonString); |
|
1222 | 1227 |
var resultRealConvert = 0; |
1223 | 1228 |
var resultFiltertConvert = 0; |
1224 | 1229 |
|
1225 | 1230 |
if (SelectRealConvert != null) |
1226 | 1231 |
{ |
1227 |
//resultRealConvert = _DataConvert.SetCleanUpItem(SelectRealConvert);//ConvertDataBase |
|
1228 |
resultRealConvert = SetCleanUpItem(SelectRealConvert).Result;//ConvertDataBase |
|
1232 |
resultRealConvert = SetCleanUpItem(SelectRealConvert).Result; |
|
1229 | 1233 |
} |
1230 | 1234 |
else if (SelectFilterConvert != null) |
1231 | 1235 |
{ |
1232 |
//resultFiltertConvert = _DataConvert.SetCleanUpItem(SelectFilterConvert);//ConvertDataBase |
|
1233 | 1236 |
resultFiltertConvert = SetCleanUpItem(SelectFilterConvert).Result; |
1234 | 1237 |
} |
1235 | 1238 |
System.Diagnostics.Debug.WriteLine(resultRealConvert + " " + resultFiltertConvert); |
... | ... | |
1268 | 1271 |
var _CREATE_DATETIME = DateTime.Now; |
1269 | 1272 |
var _STATUS = (int)StatusCodeType.None; |
1270 | 1273 |
|
1271 |
await WcfClient.GET_SELECT_RERECONVERT_ITEMAsync(_ConvertItem.ConvertID, 0, _CREATE_DATETIME, _STATUS, null);//_END_DATETIME = null 에러
|
|
1274 |
await WcfClient.GET_SELECT_RERECONVERT_ITEMAsync(_ConvertItem.ConvertID, 0, _CREATE_DATETIME, _STATUS, null); |
|
1272 | 1275 |
|
1273 | 1276 |
} |
1274 | 1277 |
|
1275 | 1278 |
return result; |
1276 | 1279 |
} |
1277 | 1280 |
|
1278 |
//public string[] GetSearchConvertPathAndMarkus(string PROJECT_NO, string DOCUMENT_ID) |
|
1279 |
//{ |
|
1280 |
// string[] ConvertPath = new string[2]; |
|
1281 |
// ConvertPath[0] = GetConvertPath(PROJECT_NO, DOCUMENT_ID); |
|
1282 |
// ConvertPath[1] = "kcom://" + CreateMarkusParam(PROJECT_NO, DOCUMENT_ID, "doftech"); |
|
1283 |
|
|
1284 |
// return ConvertPath; |
|
1285 |
//} |
|
1286 |
|
|
1287 | 1281 |
public static string CreateMarkusParam(string projectNo, string documentID, string userID) |
1288 | 1282 |
{ |
1289 | 1283 |
ViewInfo viewInfo = new ViewInfo(); |
... | ... | |
1306 | 1300 |
|
1307 | 1301 |
} |
1308 | 1302 |
|
1309 |
#region Convert Path |
|
1310 |
|
|
1311 |
//private string GetConvertPath(string ProjectNo, string DocumentID) |
|
1312 |
//{ |
|
1313 |
// try |
|
1314 |
// { |
|
1315 |
// return Path.Combine(BaseStorage(ProjectNo), ProjectNo + "_Tile", (System.Convert.ToInt64(DocumentID) / 100).ToString(), DocumentID); |
|
1316 |
// } |
|
1317 |
// catch (Exception) |
|
1318 |
// { |
|
1319 |
// throw new Exception("GetConvertPath Error"); |
|
1320 |
// } |
|
1321 |
|
|
1322 |
//} |
|
1323 |
|
|
1324 |
//private async string BaseStorage(string ProjectNo) |
|
1325 |
//{ |
|
1326 |
// using (markusEntities entities = new markusEntities(App.MarkusDataBaseConnecitonString)) |
|
1327 |
// { |
|
1328 |
// string result = ""; |
|
1329 |
|
|
1330 |
// var properties = await WcfClient.GET_SELECT_FINAL_PDF_ITEM(null, ProjectNo, null, null, null, null, null, null, null, 1, null, null, null, null, |
|
1331 |
// null, null, null, null, null); |
|
1332 |
|
|
1333 |
|
|
1334 |
// if (properties.Count() > 0) |
|
1335 |
// { |
|
1336 |
// result = properties.First().PROPERTIES_VALUE; |
|
1337 |
// } |
|
1338 |
// else |
|
1339 |
// { |
|
1340 |
// throw new Exception($"Project {ProjectNo} BaseStorage Not Setting."); |
|
1341 |
// } |
|
1342 |
|
|
1343 |
// return result; |
|
1344 |
// } |
|
1345 |
//} |
|
1346 |
|
|
1347 |
#endregion |
|
1348 |
|
|
1349 | 1303 |
#endregion |
1350 | 1304 |
|
1351 | 1305 |
#region Validation |
... | ... | |
1392 | 1346 |
{ |
1393 | 1347 |
dispatcherTimer.Tick -= new EventHandler(Timer_Tick); |
1394 | 1348 |
dispatcherTimer.Tick += new EventHandler(SearchTimer_Tick); |
1395 |
//DataSearch(new[] { (StatusCodeType)(SelectedStatus.Value) }, FilterConvertSource); |
|
1396 | 1349 |
} |
1397 | 1350 |
|
1398 | 1351 |
#endregion |
... | ... | |
1407 | 1360 |
{ |
1408 | 1361 |
var convertitem = obj as FinalPDF; |
1409 | 1362 |
|
1410 |
//SelectFilterConvert = convertitem; |
|
1411 | 1363 |
SelectFilterConvertList.Add(convertitem); |
1412 | 1364 |
|
1413 | 1365 |
SelectRealConvert = convertitem; |
ConvertService/ServiceBase/Markus.Service.StationController/Views/DashBoard.xaml | ||
---|---|---|
79 | 79 |
<Button Content="Clear" Margin="5" Width="50" Height="20" HorizontalAlignment="Left" Command="{Binding RemoveCreateTimeFilterCommand, Mode=OneWay}"/> |
80 | 80 |
</StackPanel> |
81 | 81 |
</StackPanel> |
82 |
<TextBlock Text="Convert Items" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center" Margin="0,20,0,0"/> |
|
83 |
<Grid Grid.Row="3" Grid.Column="0" Margin="20,0,0,0"> |
|
84 |
<Grid.ColumnDefinitions> |
|
85 |
<ColumnDefinition Width="*" /> |
|
86 |
<ColumnDefinition Width="Auto" /> |
|
87 |
</Grid.ColumnDefinitions> |
|
88 |
<telerik:RadCartesianChart x:Name="chart" Palette="{StaticResource ActualTargetChartPalette}" ClipToBounds="False" Margin="0,50,0,50"> |
|
89 |
<telerik:RadCartesianChart.VerticalAxis> |
|
90 |
<telerik:CategoricalAxis IsInverse="True" |
|
82 |
<TextBlock Text="Convert Items" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center" Margin="0,20,0,20"/> |
|
83 |
<Border BorderBrush="Black" BorderThickness="2" Grid.Row="3" Grid.Column="0" Margin="20,0,0,0"> |
|
84 |
<Grid> |
|
85 |
<Grid.ColumnDefinitions> |
|
86 |
<ColumnDefinition Width="*" /> |
|
87 |
<ColumnDefinition Width="Auto" /> |
|
88 |
</Grid.ColumnDefinitions> |
|
89 |
<telerik:RadCartesianChart x:Name="chart" Palette="{StaticResource ActualTargetChartPalette}" ClipToBounds="False" Margin="0,50,0,50"> |
|
90 |
<telerik:RadCartesianChart.VerticalAxis> |
|
91 |
<telerik:CategoricalAxis IsInverse="True" |
|
91 | 92 |
MajorTickStyle="{StaticResource TransparentTickStyle}" |
92 | 93 |
LineStroke="Transparent" |
93 | 94 |
LabelStyle="{StaticResource TextBlockCountryStyle}" /> |
94 |
</telerik:RadCartesianChart.VerticalAxis> |
|
95 |
<telerik:RadCartesianChart.HorizontalAxis> |
|
96 |
<telerik:LinearAxis ShowLabels="False" ElementBrush="Transparent" /> |
|
97 |
</telerik:RadCartesianChart.HorizontalAxis> |
|
98 |
<telerik:RadCartesianChart.Series> |
|
99 |
<telerik:BarSeries CategoryBinding="Project_NO" |
|
95 |
</telerik:RadCartesianChart.VerticalAxis>
|
|
96 |
<telerik:RadCartesianChart.HorizontalAxis>
|
|
97 |
<telerik:LinearAxis ShowLabels="False" ElementBrush="Transparent" />
|
|
98 |
</telerik:RadCartesianChart.HorizontalAxis>
|
|
99 |
<telerik:RadCartesianChart.Series>
|
|
100 |
<telerik:BarSeries CategoryBinding="Project_NO"
|
|
100 | 101 |
ValueBinding="Count" |
101 | 102 |
ItemsSource="{Binding ConvertCOUNTDashBoard}" |
102 | 103 |
CombineMode="None" |
103 | 104 |
ShowLabels="False" |
104 | 105 |
ClipToPlotArea="False" > |
105 |
<telerik:BarSeries.PointAnimation> |
|
106 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" > |
|
107 |
<telerik:ChartMoveAnimation.Easing> |
|
108 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" /> |
|
109 |
</telerik:ChartMoveAnimation.Easing> |
|
110 |
</telerik:ChartMoveAnimation> |
|
111 |
</telerik:BarSeries.PointAnimation> |
|
112 |
<telerik:BarSeries.PointTemplate> |
|
113 |
<DataTemplate> |
|
114 |
<Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" /> |
|
115 |
</DataTemplate> |
|
116 |
</telerik:BarSeries.PointTemplate> |
|
117 |
<telerik:BarSeries.LegendSettings> |
|
118 |
<telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" /> |
|
119 |
</telerik:BarSeries.LegendSettings> |
|
120 |
<telerik:BarSeries.LabelDefinitions> |
|
121 |
<telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" Strategy="{StaticResource RightAlignedLabelStrategy}" /> |
|
122 |
</telerik:BarSeries.LabelDefinitions> |
|
123 |
</telerik:BarSeries> |
|
124 |
<telerik:BarSeries CategoryBinding="Project_NO" |
|
106 |
<telerik:BarSeries.PointAnimation>
|
|
107 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" >
|
|
108 |
<telerik:ChartMoveAnimation.Easing>
|
|
109 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" />
|
|
110 |
</telerik:ChartMoveAnimation.Easing>
|
|
111 |
</telerik:ChartMoveAnimation>
|
|
112 |
</telerik:BarSeries.PointAnimation>
|
|
113 |
<telerik:BarSeries.PointTemplate>
|
|
114 |
<DataTemplate>
|
|
115 |
<Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" />
|
|
116 |
</DataTemplate>
|
|
117 |
</telerik:BarSeries.PointTemplate>
|
|
118 |
<telerik:BarSeries.LegendSettings>
|
|
119 |
<telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" />
|
|
120 |
</telerik:BarSeries.LegendSettings>
|
|
121 |
<telerik:BarSeries.LabelDefinitions>
|
|
122 |
<telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" Strategy="{StaticResource RightAlignedLabelStrategy}" />
|
|
123 |
</telerik:BarSeries.LabelDefinitions>
|
|
124 |
</telerik:BarSeries>
|
|
125 |
<telerik:BarSeries CategoryBinding="Project_NO"
|
|
125 | 126 |
ValueBinding="ExceptionCount" |
126 | 127 |
ItemsSource="{Binding ConvertCOUNTDashBoard}" |
127 | 128 |
CombineMode="None" > |
128 |
<telerik:BarSeries.PointAnimation> |
|
129 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" > |
|
130 |
<telerik:ChartMoveAnimation.Easing> |
|
131 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" /> |
|
132 |
</telerik:ChartMoveAnimation.Easing> |
|
133 |
</telerik:ChartMoveAnimation> |
|
134 |
</telerik:BarSeries.PointAnimation> |
|
135 |
<telerik:BarSeries.PointTemplate> |
|
136 |
<DataTemplate> |
|
137 |
<Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" /> |
|
138 |
</DataTemplate> |
|
139 |
</telerik:BarSeries.PointTemplate> |
|
140 |
<telerik:BarSeries.LegendSettings> |
|
141 |
<telerik:SeriesLegendSettings Title="ExceptionCount" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" /> |
|
142 |
</telerik:BarSeries.LegendSettings> |
|
143 |
</telerik:BarSeries> |
|
144 |
</telerik:RadCartesianChart.Series> |
|
145 |
</telerik:RadCartesianChart> |
|
129 |
<telerik:BarSeries.PointAnimation>
|
|
130 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" >
|
|
131 |
<telerik:ChartMoveAnimation.Easing>
|
|
132 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" />
|
|
133 |
</telerik:ChartMoveAnimation.Easing>
|
|
134 |
</telerik:ChartMoveAnimation>
|
|
135 |
</telerik:BarSeries.PointAnimation>
|
|
136 |
<telerik:BarSeries.PointTemplate>
|
|
137 |
<DataTemplate>
|
|
138 |
<Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" />
|
|
139 |
</DataTemplate>
|
|
140 |
</telerik:BarSeries.PointTemplate>
|
|
141 |
<telerik:BarSeries.LegendSettings>
|
|
142 |
<telerik:SeriesLegendSettings Title="ExceptionCount" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" />
|
|
143 |
</telerik:BarSeries.LegendSettings>
|
|
144 |
</telerik:BarSeries>
|
|
145 |
</telerik:RadCartesianChart.Series>
|
|
146 |
</telerik:RadCartesianChart>
|
|
146 | 147 |
|
147 |
<telerik:RadLegend Grid.Column="1" Grid.Row="1" Margin="24,4,0,0" MinWidth="76" Items="{Binding LegendItems, ElementName=chart}" /> |
|
148 |
</Grid> |
|
149 |
|
|
150 |
<TextBlock Text="FinalPDF Items" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" Margin="0,20,0,0"/> |
|
151 |
<Grid Grid.Row="3" Grid.Column="1" Margin="20,0,0,0"> |
|
152 |
<Grid.ColumnDefinitions> |
|
153 |
<ColumnDefinition Width="*" /> |
|
154 |
<ColumnDefinition Width="Auto" /> |
|
155 |
</Grid.ColumnDefinitions> |
|
156 |
<telerik:RadCartesianChart x:Name="char1" Palette="{StaticResource ActualTargetChartPalette}" ClipToBounds="False" Margin="0,50,0,50"> |
|
157 |
<telerik:RadCartesianChart.VerticalAxis> |
|
158 |
<telerik:CategoricalAxis IsInverse="True" |
|
148 |
<telerik:RadLegend Grid.Column="1" Grid.Row="1" Margin="24,4,0,0" MinWidth="76" Items="{Binding LegendItems, ElementName=chart}" /> |
|
149 |
</Grid> |
|
150 |
</Border> |
|
151 |
<TextBlock Text="FinalPDF Items" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" Margin="0,20,0,20"/> |
|
152 |
<Border BorderBrush="Black" BorderThickness="2" Grid.Row="3" Grid.Column="1" Margin="20,0,0,0"> |
|
153 |
<Grid> |
|
154 |
<Grid.ColumnDefinitions> |
|
155 |
<ColumnDefinition Width="*" /> |
|
156 |
<ColumnDefinition Width="Auto" /> |
|
157 |
</Grid.ColumnDefinitions> |
|
158 |
<telerik:RadCartesianChart x:Name="char1" Palette="{StaticResource ActualTargetChartPalette}" ClipToBounds="False" Margin="0,50,0,50"> |
|
159 |
<telerik:RadCartesianChart.VerticalAxis> |
|
160 |
<telerik:CategoricalAxis IsInverse="True" |
|
159 | 161 |
MajorTickStyle="{StaticResource TransparentTickStyle}" |
160 | 162 |
LineStroke="Transparent" |
161 | 163 |
LabelStyle="{StaticResource TextBlockCountryStyle}" /> |
162 |
</telerik:RadCartesianChart.VerticalAxis> |
|
163 |
<telerik:RadCartesianChart.HorizontalAxis> |
|
164 |
<telerik:LinearAxis ShowLabels="False" ElementBrush="Transparent" /> |
|
165 |
</telerik:RadCartesianChart.HorizontalAxis> |
|
166 |
<telerik:RadCartesianChart.Series> |
|
167 |
<telerik:BarSeries CategoryBinding="Project_NO" |
|
164 |
</telerik:RadCartesianChart.VerticalAxis>
|
|
165 |
<telerik:RadCartesianChart.HorizontalAxis>
|
|
166 |
<telerik:LinearAxis ShowLabels="False" ElementBrush="Transparent" />
|
|
167 |
</telerik:RadCartesianChart.HorizontalAxis>
|
|
168 |
<telerik:RadCartesianChart.Series>
|
|
169 |
<telerik:BarSeries CategoryBinding="Project_NO"
|
|
168 | 170 |
ValueBinding="Count" |
169 | 171 |
ItemsSource="{Binding FinalPDFCOUNTDashBoard}" |
170 | 172 |
CombineMode="None" |
171 | 173 |
ShowLabels="False" |
172 | 174 |
ClipToPlotArea="False" > |
173 |
<telerik:BarSeries.PointAnimation> |
|
174 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" > |
|
175 |
<telerik:ChartMoveAnimation.Easing> |
|
176 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" /> |
|
177 |
</telerik:ChartMoveAnimation.Easing> |
|
178 |
</telerik:ChartMoveAnimation> |
|
179 |
</telerik:BarSeries.PointAnimation> |
|
180 |
<telerik:BarSeries.PointTemplate> |
|
181 |
<DataTemplate> |
|
182 |
<Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" /> |
|
183 |
</DataTemplate> |
|
184 |
</telerik:BarSeries.PointTemplate> |
|
185 |
<telerik:BarSeries.LegendSettings> |
|
186 |
<telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" /> |
|
187 |
</telerik:BarSeries.LegendSettings> |
|
188 |
<telerik:BarSeries.LabelDefinitions> |
|
189 |
<telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" Strategy="{StaticResource RightAlignedLabelStrategy}" /> |
|
190 |
</telerik:BarSeries.LabelDefinitions> |
|
191 |
</telerik:BarSeries> |
|
192 |
<telerik:BarSeries CategoryBinding="Project_NO" |
|
175 |
<telerik:BarSeries.PointAnimation>
|
|
176 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" >
|
|
177 |
<telerik:ChartMoveAnimation.Easing>
|
|
178 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" />
|
|
179 |
</telerik:ChartMoveAnimation.Easing>
|
|
180 |
</telerik:ChartMoveAnimation>
|
|
181 |
</telerik:BarSeries.PointAnimation>
|
|
182 |
<telerik:BarSeries.PointTemplate>
|
|
183 |
<DataTemplate>
|
|
184 |
<Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" />
|
|
185 |
</DataTemplate>
|
|
186 |
</telerik:BarSeries.PointTemplate>
|
|
187 |
<telerik:BarSeries.LegendSettings>
|
|
188 |
<telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" />
|
|
189 |
</telerik:BarSeries.LegendSettings>
|
|
190 |
<telerik:BarSeries.LabelDefinitions>
|
|
191 |
<telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" Strategy="{StaticResource RightAlignedLabelStrategy}" />
|
|
192 |
</telerik:BarSeries.LabelDefinitions>
|
|
193 |
</telerik:BarSeries>
|
|
194 |
<telerik:BarSeries CategoryBinding="Project_NO"
|
|
193 | 195 |
ValueBinding="ExceptionCount" |
194 | 196 |
ItemsSource="{Binding FinalPDFCOUNTDashBoard}" |
195 | 197 |
CombineMode="None" > |
196 |
<telerik:BarSeries.PointAnimation> |
|
197 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" > |
|
198 |
<telerik:ChartMoveAnimation.Easing> |
|
199 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" /> |
|
200 |
</telerik:ChartMoveAnimation.Easing> |
|
201 |
</telerik:ChartMoveAnimation> |
|
202 |
</telerik:BarSeries.PointAnimation> |
|
203 |
<telerik:BarSeries.PointTemplate> |
|
204 |
<DataTemplate> |
|
205 |
<Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" /> |
|
206 |
</DataTemplate> |
|
207 |
</telerik:BarSeries.PointTemplate> |
|
208 |
<telerik:BarSeries.LegendSettings> |
|
209 |
<telerik:SeriesLegendSettings Title="ExceptionCount" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" /> |
|
210 |
</telerik:BarSeries.LegendSettings> |
|
211 |
</telerik:BarSeries> |
|
212 |
</telerik:RadCartesianChart.Series> |
|
213 |
</telerik:RadCartesianChart> |
|
198 |
<telerik:BarSeries.PointAnimation>
|
|
199 |
<telerik:ChartMoveAnimation Delay="0:0:0.125" Duration="0:0:1.55" MoveAnimationType="Left" >
|
|
200 |
<telerik:ChartMoveAnimation.Easing>
|
|
201 |
<BounceEase EasingMode="EaseOut" Bounces="20" Bounciness="5" />
|
|
202 |
</telerik:ChartMoveAnimation.Easing>
|
|
203 |
</telerik:ChartMoveAnimation>
|
|
204 |
</telerik:BarSeries.PointAnimation>
|
|
205 |
<telerik:BarSeries.PointTemplate>
|
|
206 |
<DataTemplate>
|
|
207 |
<Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" />
|
|
208 |
</DataTemplate>
|
|
209 |
</telerik:BarSeries.PointTemplate>
|
|
210 |
<telerik:BarSeries.LegendSettings>
|
|
211 |
<telerik:SeriesLegendSettings Title="ExceptionCount" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" />
|
|
212 |
</telerik:BarSeries.LegendSettings>
|
|
213 |
</telerik:BarSeries>
|
|
214 |
</telerik:RadCartesianChart.Series>
|
|
215 |
</telerik:RadCartesianChart>
|
|
214 | 216 |
|
215 |
<telerik:RadLegend Grid.Column="1" Grid.Row="1" MinWidth="76" Items="{Binding LegendItems, ElementName=char1}" /> |
|
216 |
</Grid> |
|
217 |
<telerik:RadLegend Grid.Column="1" Grid.Row="1" MinWidth="76" Items="{Binding LegendItems, ElementName=char1}" /> |
|
218 |
</Grid> |
|
219 |
</Border> |
|
217 | 220 |
</Grid> |
218 | 221 |
</UserControl> |
ConvertService/ServiceBase/Markus.Service.StationController/Views/DataBaseView.xaml | ||
---|---|---|
302 | 302 |
</telerik:RadExpander> |
303 | 303 |
<telerik:RadExpander Grid.Row="4" ExpandDirection="Down" BorderThickness="0" VerticalAlignment="Stretch" Margin="0,0,0,10" |
304 | 304 |
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" |
305 |
telerik:AnimationManager.IsAnimationEnabled="False" IsExpanded ="False">
|
|
305 |
telerik:AnimationManager.IsAnimationEnabled="False" IsExpanded ="{Binding AliveShow, Mode=TwoWay}">
|
|
306 | 306 |
<telerik:RadExpander.Header> |
307 | 307 |
<Grid> |
308 | 308 |
<Grid.ColumnDefinitions> |
ConvertService/ServiceBase/Markus.Service.StationController/Views/FinalPDFView.xaml | ||
---|---|---|
417 | 417 |
|
418 | 418 |
<telerik:RadExpander Grid.Row="5" ExpandDirection="Down" BorderThickness="0" VerticalAlignment="Stretch" Margin="0,0,0,10" |
419 | 419 |
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" |
420 |
telerik:AnimationManager.IsAnimationEnabled="False" IsExpanded ="False">
|
|
420 |
telerik:AnimationManager.IsAnimationEnabled="False" IsExpanded ="{Binding AliveShow, Mode=TwoWay}">
|
|
421 | 421 |
<telerik:RadExpander.Header> |
422 | 422 |
<Grid> |
423 | 423 |
<Grid.ColumnDefinitions> |
내보내기 Unified diff