프로젝트

일반

사용자정보

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

markus / ConvertService / ServiceBase / Markus.Service.StationController / ViewModel / ConvertExcelDialogViewModel.cs @ 037ab674

이력 | 보기 | 이력해설 | 다운로드 (6.9 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

    
8
namespace Markus.Service.StationController.ViewModel
9
{
10
    class ConvertExcelDialogViewModel : Mvvm.ToolKit.ViewModelBase
11
    {
12
        #region Construrtor
13

    
14
        public ConvertExcelDialogViewModel()
15
        {
16
            ALL_SelectedCommand = new DelegateCommand(ALL_Selected);
17
            ALL_DeletedCommand = new DelegateCommand(ALL_Deleted);
18
            SaveCommand = new DelegateCommand(Save);
19
        }
20

    
21
        #endregion
22

    
23
        #region Propertise
24

    
25
        public ObservableCollection<CheckBoxItem> _ItemsSource;
26
        public ObservableCollection<CheckBoxItem> ItemsSource
27
        {
28
            get
29
            {
30
                if (_ItemsSource == null)
31
                {
32
                    ItemsSource = new ObservableCollection<CheckBoxItem>
33
                    {
34
                        new CheckBoxItem { IsChecked=true, Name="ServiceID"},
35
                        new CheckBoxItem { IsChecked=true, Name="ConvertID"},
36
                        new CheckBoxItem { IsChecked=true, Name="ProjectNumber"},
37
                        new CheckBoxItem { IsChecked=true, Name="ConvertState"},
38
                        new CheckBoxItem { IsChecked=true, Name="CurrentPageNo"},
39
                        new CheckBoxItem { IsChecked=true, Name="TotalPage"},
40
                        new CheckBoxItem { IsChecked=true, Name="OriginfilePath"},
41
                        new CheckBoxItem { IsChecked=true, Name="ConvertPath"},
42
                        new CheckBoxItem { IsChecked=true, Name="CreateTime"},
43
                        new CheckBoxItem { IsChecked=true, Name="StartTime"},
44
                        new CheckBoxItem { IsChecked=true, Name="EndTime"},
45
                        new CheckBoxItem { IsChecked=true, Name="Exception"},
46
                        new CheckBoxItem { IsChecked=true, Name="ReConverter"},
47
                        new CheckBoxItem { IsChecked=true, Name="Revision"},
48
                        new CheckBoxItem { IsChecked=true, Name="UniqueKey"},
49
                        new CheckBoxItem { IsChecked=true, Name="Group_NO"},
50
                        new CheckBoxItem { IsChecked=true, Name="Document_NO"},
51
                        new CheckBoxItem { IsChecked=true, Name="Document_Name"}
52
                    };
53
                }
54

    
55
                return _ItemsSource;
56
            }
57
            set
58
            {
59
                _ItemsSource = value;
60
                OnPropertyChanged(() => ExcelSource);
61
            }
62
        }
63
        private System.Collections.ObjectModel.ObservableCollection<ConvertPDF> _ExcelSource;
64
        public System.Collections.ObjectModel.ObservableCollection<ConvertPDF> ExcelSource
65
        {
66
            get
67
            {
68
                if (_ExcelSource == null)
69
                {
70
                    _ExcelSource = new System.Collections.ObjectModel.ObservableCollection<ConvertPDF>();
71
                    _ExcelSource = DataBaseItemsModel.Return_FilterConvertSource();
72
                }
73
                return _ExcelSource;
74
            }
75
            set
76
            {
77
                _ExcelSource = value;
78
                OnPropertyChanged(() => ExcelSource);
79
            }
80
        }
81

    
82
        #endregion
83

    
84
        #region Command
85

    
86
        public DelegateCommand ALL_SelectedCommand { get; private set; }
87
        public DelegateCommand ALL_DeletedCommand { get; private set; }
88
        public DelegateCommand SaveCommand { get; private set; }
89

    
90
        #endregion
91

    
92
        #region Fuction
93

    
94
        #region ALL_Selected
95

    
96
        public void ALL_Selected(object obj)
97
        {
98
            foreach(var ItemsSource in ItemsSource)
99
            {
100
                ItemsSource.IsChecked = true;
101
            }
102
        }
103

    
104
        #endregion
105

    
106
        #region ALL_Deleted
107

    
108
        public void ALL_Deleted(object obj)
109
        {
110
            foreach (var ItemsSource in ItemsSource)
111
            {
112
                ItemsSource.IsChecked = false;
113
            }
114
        }
115

    
116
        #endregion
117

    
118
        #region Save
119

    
120
        public void Save(object obj)
121
        {
122
            SaveFileDialog saveFileDialog = new SaveFileDialog();
123

    
124
            saveFileDialog.FileName = "Document"; // Default file name
125
            saveFileDialog.DefaultExt = ".txt"; // Default file extension
126
            saveFileDialog.Filter = "Csv documents (.Csv)|*.csv|Excel(2017~2019)Worksheets|*.xlsx"; // Filter files by extension
127

    
128
            if (saveFileDialog.ShowDialog() == true)
129
            {
130
                if (!string.IsNullOrWhiteSpace(saveFileDialog.FileName))
131
                {
132
                    var extension = new System.IO.FileInfo(saveFileDialog.FileName).Extension;
133

    
134
                    if (extension == ".xlsx" || extension == ".csv")
135
                    {
136
                        List<HeaderMember> headers = new List<HeaderMember>();
137
                        foreach(var ItemsSource in ItemsSource)
138
                        {
139
                            if (ItemsSource.IsChecked == true)
140
                            {
141
                                headers.Add(new HeaderMember { HeaderName = ItemsSource.Name, Property = ItemsSource.Name });
142
                            }
143
                        }
144

    
145
                        //    var headers = new List<HeaderMember>
146
                        //{
147

    
148
                        //new HeaderMember{HeaderName = "ServiceID", Property = "ServiceID" },
149
                        //new HeaderMember{HeaderName = "ConvertID", Property = "ConvertID" },
150
                        //new HeaderMember{HeaderName = "ProjectNumber", Property = "ProjectNumber" },
151
                        //new HeaderMember{HeaderName = "ConvertState", Property = "ConvertState" },
152
                        //new HeaderMember{HeaderName = "CurrentPageNo", Property = "CurrentPageNo" },
153
                        //new HeaderMember{HeaderName = "TotalPage", Property = "TotalPage" },
154
                        //new HeaderMember{HeaderName = "OriginfilePath", Property = "OriginfilePath" },
155
                        //new HeaderMember{HeaderName = "ConvertPath", Property = "ConvertPath" },
156
                        //new HeaderMember{HeaderName = "CreateTime", Property = "CreateTime" },
157
                        //new HeaderMember{HeaderName = "Exception", Property = "Exception" },
158
                        //new HeaderMember{HeaderName = "ReConverter", Property = "ReConverter" },
159
                        //new HeaderMember{HeaderName = "UniqueKey", Property = "UniqueKey" }
160
                        //};
161
                        // new HeaderMember{HeaderName = "ProcessorAffinity", Property = "ProcessorAffinity" },
162

    
163
                        DataExport dataExport = new DataExport();
164
                        dataExport.DataExportExcel(saveFileDialog.FileName, "Convert PDF", ExcelSource, headers);
165
                    }
166
                }
167
            }
168
        }
169

    
170
        #endregion
171

    
172
        #endregion
173
      
174
    }
175
}
클립보드 이미지 추가 (최대 크기: 500 MB)