markus / ConvertService / ServiceController / Markus.Service.StationController / ViewModel / ConvertExcelDialogViewModel.cs @ 5c387707
이력 | 보기 | 이력해설 | 다운로드 (6.81 KB)
1 |
using Markus.Service.StationController.Data; |
---|---|
2 |
using Markus.Service.StationController.Extensions; |
3 |
using System.Collections.Generic; |
4 |
using Microsoft.Win32; |
5 |
using Telerik.Windows.Controls; |
6 |
using System.Collections.ObjectModel; |
7 |
using System; |
8 |
using System.Windows; |
9 |
|
10 |
namespace Markus.Service.StationController.ViewModel |
11 |
{ |
12 |
class ConvertExcelDialogViewModel : Mvvm.ToolKit.ViewModelBase |
13 |
{ |
14 |
#region Construrtor |
15 |
|
16 |
public ConvertExcelDialogViewModel() |
17 |
{ |
18 |
ALL_SelectedCommand = new DelegateCommand(ALL_Selected); |
19 |
ALL_DeletedCommand = new DelegateCommand(ALL_Deleted); |
20 |
SaveCommand = new DelegateCommand(Save); |
21 |
} |
22 |
|
23 |
#endregion |
24 |
|
25 |
#region Propertise |
26 |
|
27 |
public ObservableCollection<CheckBoxItem> _ItemsSource; |
28 |
public ObservableCollection<CheckBoxItem> ItemsSource |
29 |
{ |
30 |
get |
31 |
{ |
32 |
if (_ItemsSource == null) |
33 |
{ |
34 |
ItemsSource = new ObservableCollection<CheckBoxItem> |
35 |
{ |
36 |
new CheckBoxItem { IsChecked=true, Name="ServiceID"}, |
37 |
new CheckBoxItem { IsChecked=true, Name="ConvertID"}, |
38 |
new CheckBoxItem { IsChecked=true, Name="ProjectNumber"}, |
39 |
new CheckBoxItem { IsChecked=true, Name="ConvertState"}, |
40 |
new CheckBoxItem { IsChecked=true, Name="CurrentPageNo"}, |
41 |
new CheckBoxItem { IsChecked=true, Name="TotalPage"}, |
42 |
new CheckBoxItem { IsChecked=true, Name="OriginfilePath"}, |
43 |
new CheckBoxItem { IsChecked=true, Name="ConvertPath"}, |
44 |
new CheckBoxItem { IsChecked=true, Name="CreateTime"}, |
45 |
new CheckBoxItem { IsChecked=true, Name="StartTime"}, |
46 |
new CheckBoxItem { IsChecked=true, Name="EndTime"}, |
47 |
new CheckBoxItem { IsChecked=true, Name="Exception"}, |
48 |
new CheckBoxItem { IsChecked=true, Name="ReConverter"}, |
49 |
new CheckBoxItem { IsChecked=true, Name="Revision"}, |
50 |
new CheckBoxItem { IsChecked=true, Name="UniqueKey"}, |
51 |
new CheckBoxItem { IsChecked=true, Name="GroupNo"}, |
52 |
new CheckBoxItem { IsChecked=true, Name="DocumentNo"}, |
53 |
new CheckBoxItem { IsChecked=true, Name="DocumentName"}, |
54 |
new CheckBoxItem { IsChecked=true, Name="DocumnetURL"}, |
55 |
new CheckBoxItem { IsChecked=true, Name="MarkusLink"} |
56 |
}; |
57 |
} |
58 |
|
59 |
return _ItemsSource; |
60 |
} |
61 |
set |
62 |
{ |
63 |
_ItemsSource = value; |
64 |
OnPropertyChanged(() => ExcelSource); |
65 |
} |
66 |
} |
67 |
private System.Collections.ObjectModel.ObservableCollection<ConvertPDF> _ExcelSource; |
68 |
public System.Collections.ObjectModel.ObservableCollection<ConvertPDF> ExcelSource |
69 |
{ |
70 |
get |
71 |
{ |
72 |
if (_ExcelSource == null) |
73 |
{ |
74 |
_ExcelSource = new System.Collections.ObjectModel.ObservableCollection<ConvertPDF>(); |
75 |
_ExcelSource = DataBaseItemsModel.Return_FilterConvertSource(); |
76 |
} |
77 |
return _ExcelSource; |
78 |
} |
79 |
set |
80 |
{ |
81 |
_ExcelSource = value; |
82 |
OnPropertyChanged(() => ExcelSource); |
83 |
} |
84 |
} |
85 |
|
86 |
#endregion |
87 |
|
88 |
#region Command |
89 |
|
90 |
public DelegateCommand ALL_SelectedCommand { get; private set; } |
91 |
public DelegateCommand ALL_DeletedCommand { get; private set; } |
92 |
public DelegateCommand SaveCommand { get; private set; } |
93 |
|
94 |
#endregion |
95 |
|
96 |
#region Fuction |
97 |
|
98 |
#region ALL_Selected |
99 |
|
100 |
public void ALL_Selected(object obj) |
101 |
{ |
102 |
foreach(var ItemsSource in ItemsSource) |
103 |
{ |
104 |
ItemsSource.IsChecked = true; |
105 |
} |
106 |
} |
107 |
|
108 |
#endregion |
109 |
|
110 |
#region ALL_Deleted |
111 |
|
112 |
public void ALL_Deleted(object obj) |
113 |
{ |
114 |
foreach (var ItemsSource in ItemsSource) |
115 |
{ |
116 |
ItemsSource.IsChecked = false; |
117 |
} |
118 |
} |
119 |
|
120 |
#endregion |
121 |
|
122 |
#region Save |
123 |
|
124 |
public void Save(object obj)//파일이름 경로 저장 및 파일 저장 하면 바로 저장되게! |
125 |
{ |
126 |
try |
127 |
{ |
128 |
|
129 |
SaveFileDialog saveFileDialog = new SaveFileDialog(); |
130 |
|
131 |
var today = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); |
132 |
|
133 |
saveFileDialog.FileName = "Convert_" + today; |
134 |
saveFileDialog.Title = "Convert_" + today; |
135 |
saveFileDialog.DefaultExt = ".txt"; |
136 |
saveFileDialog.CreatePrompt = true; |
137 |
saveFileDialog.OverwritePrompt = false; |
138 |
saveFileDialog.CheckFileExists = false; |
139 |
saveFileDialog.CheckPathExists = false; |
140 |
saveFileDialog.Filter = "Csv documents (.Csv)|*.csv|Excel(2017~2019)Worksheets|*.xlsx"; |
141 |
saveFileDialog.FilterIndex = 2; |
142 |
saveFileDialog.RestoreDirectory = true; |
143 |
|
144 |
if (saveFileDialog.ShowDialog() == true) |
145 |
{ |
146 |
string filename = saveFileDialog.FileName; |
147 |
|
148 |
if (saveFileDialog.FileName.Contains("\\")) |
149 |
{ |
150 |
filename = saveFileDialog.FileName.Substring(saveFileDialog.FileName.LastIndexOf("\\") + 1); |
151 |
} |
152 |
|
153 |
filename = saveFileDialog.FileName.Replace(filename, "Convert_" + today); |
154 |
|
155 |
if (!string.IsNullOrWhiteSpace(saveFileDialog.FileName)) |
156 |
{ |
157 |
var extension = new System.IO.FileInfo(saveFileDialog.FileName).Extension; |
158 |
|
159 |
if (extension == ".xlsx" || extension == ".csv") |
160 |
{ |
161 |
List<HeaderMember> headers = new List<HeaderMember>(); |
162 |
foreach (var ItemsSource in ItemsSource) |
163 |
{ |
164 |
if (ItemsSource.IsChecked == true) |
165 |
{ |
166 |
headers.Add(new HeaderMember { HeaderName = ItemsSource.Name, Property = ItemsSource.Name }); |
167 |
} |
168 |
} |
169 |
|
170 |
DataExport dataExport = new DataExport(); |
171 |
dataExport.DataExportExcel(filename + extension, "Convert PDF", ExcelSource, headers); |
172 |
} |
173 |
} |
174 |
} |
175 |
} |
176 |
catch (Exception ex) |
177 |
{ |
178 |
System.Windows.MessageBox.Show(ex.ToString()); |
179 |
} |
180 |
} |
181 |
|
182 |
|
183 |
#endregion |
184 |
|
185 |
#endregion |
186 |
|
187 |
} |
188 |
} |