프로젝트

일반

사용자정보

개정판 80391351

ID80391351233f8e74a83641895c4ee0c99ad32d99
상위 e6e06e16
하위 c7955b40

semi 이(가) 4년 이상 전에 추가함

SelectedItems 수정

Change-Id: I942d91a7d78fbf05b2fb94fd782be9877423ffed

차이점 보기:

ConvertService/ServiceBase/Markus.Service.StationController/Controls/GridViewSelectionUtilities.cs
1
using System;
2
using System.Collections;
3
using System.Collections.Generic;
4
using System.Collections.Specialized;
5
using System.Windows;
6
using System.Windows.Interactivity;
7
using Telerik.Windows.Controls;
8

  
9
namespace Markus.Service.StationController.Controls
10
{
11
    class GridViewSelectionUtilities : Behavior<RadGridView>
12
    {
13
        private RadGridView Grid
14
        {
15
            get
16
            {
17
                return AssociatedObject as RadGridView;
18
            }
19
        }
20

  
21
        public INotifyCollectionChanged SelectedItems
22
        {
23
            get { return (INotifyCollectionChanged)GetValue(SelectedItemsProperty); }
24
            set { SetValue(SelectedItemsProperty, value); }
25
        }
26

  
27
        // Using a DependencyProperty as the backing store for SelectedItemsProperty.  This enables animation, styling, binding, etc...
28
        public static readonly DependencyProperty SelectedItemsProperty =
29
            DependencyProperty.Register("SelectedItems", typeof(INotifyCollectionChanged), typeof(GridViewSelectionUtilities), new PropertyMetadata(OnSelectedItemsPropertyChanged));
30

  
31

  
32
        private static void OnSelectedItemsPropertyChanged(DependencyObject target, DependencyPropertyChangedEventArgs args)
33
        {
34
            var collection = args.NewValue as INotifyCollectionChanged;
35
            if (collection != null)
36
            {
37
                collection.CollectionChanged += ((GridViewSelectionUtilities)target).ContextSelectedItems_CollectionChanged;
38
            }
39
        }
40

  
41
        protected override void OnAttached()
42
        {
43
            base.OnAttached();
44

  
45
            Grid.SelectedItems.CollectionChanged += GridSelectedItems_CollectionChanged;
46
        }
47

  
48
        void ContextSelectedItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
49
        {
50
            UnsubscribeFromEvents();
51

  
52
            Transfer(SelectedItems as IList, Grid.SelectedItems);
53

  
54
            SubscribeToEvents();
55
        }
56

  
57
        void GridSelectedItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
58
        {
59
            UnsubscribeFromEvents();
60

  
61
            Transfer(Grid.SelectedItems, SelectedItems as IList);
62

  
63
            SubscribeToEvents();
64
        }
65

  
66
        private void SubscribeToEvents()
67
        {
68
            Grid.SelectedItems.CollectionChanged += GridSelectedItems_CollectionChanged;
69

  
70
            if (SelectedItems != null)
71
            {
72
                SelectedItems.CollectionChanged += ContextSelectedItems_CollectionChanged;
73
            }
74
        }
75

  
76
        private void UnsubscribeFromEvents()
77
        {
78
            Grid.SelectedItems.CollectionChanged -= GridSelectedItems_CollectionChanged;
79

  
80
            if (SelectedItems != null)
81
            {
82
                SelectedItems.CollectionChanged -= ContextSelectedItems_CollectionChanged;
83
            }
84
        }
85

  
86
        public static void Transfer(IList source, IList target)
87
        {
88
            if (source == null || target == null)
89
                return;
90

  
91
            target.Clear();
92

  
93
            foreach (var o in source)
94
            {
95
                target.Add(o);
96
            }
97
        }
98
        //private static bool isSyncingSelection;
99
        //private static List<Tuple<WeakReference, List<RadGridView>>> collectionToGridViews = new List<Tuple<WeakReference, List<RadGridView>>>();
100

  
101
        //public static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.RegisterAttached(
102
        //    "SelectedItems",
103
        //    typeof(INotifyCollectionChanged),
104
        //    typeof(GridViewSelectionUtilities),
105
        //    new PropertyMetadata(null, OnSelectedItemsChanged));
106

  
107
        //public static INotifyCollectionChanged GetSelectedItems(DependencyObject obj)
108
        //{
109
        //    return (INotifyCollectionChanged)obj.GetValue(SelectedItemsProperty);
110
        //}
111

  
112
        //public static void SetSelectedItems(DependencyObject obj, INotifyCollectionChanged value)
113
        //{
114
        //    obj.SetValue(SelectedItemsProperty, value);
115
        //}
116

  
117
        //private static void OnSelectedItemsChanged(DependencyObject target, DependencyPropertyChangedEventArgs args)
118
        //{
119
        //    var gridView = (RadGridView)target;
120

  
121
        //    var oldCollection = args.OldValue as INotifyCollectionChanged;
122
        //    if (oldCollection != null)
123
        //    {
124
        //        gridView.SelectionChanged -= GridView_SelectionChanged;
125
        //        oldCollection.CollectionChanged -= SelectedItems_CollectionChanged;
126
        //        RemoveAssociation(oldCollection, gridView);
127
        //    }
128

  
129
        //    var newCollection = args.NewValue as INotifyCollectionChanged;
130
        //    if (newCollection != null)
131
        //    {
132
        //        gridView.SelectionChanged += GridView_SelectionChanged;
133
        //        newCollection.CollectionChanged += SelectedItems_CollectionChanged;
134
        //        AddAssociation(newCollection, gridView);
135
        //        OnSelectedItemsChanged(newCollection, null, (IList)newCollection);
136
        //    }
137
        //}
138

  
139
        //private static void SelectedItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs args)
140
        //{
141
        //    INotifyCollectionChanged collection = (INotifyCollectionChanged)sender;
142
        //    OnSelectedItemsChanged(collection, args.OldItems, args.NewItems);
143
        //}
144

  
145
        //private static void GridView_SelectionChanged(object sender, SelectionChangeEventArgs args)
146
        //{
147
        //    if (isSyncingSelection)
148
        //    {
149
        //        return;
150
        //    }
151

  
152
        //    var collection = (IList)GetSelectedItems((RadGridView)sender);
153
        //    foreach (object item in args.RemovedItems)
154
        //    {
155
        //        collection.Remove(item);
156
        //    }
157
        //    foreach (object item in args.AddedItems)
158
        //    {
159
        //        collection.Add(item);
160
        //    }
161
        //}
162

  
163
        //private static void OnSelectedItemsChanged(INotifyCollectionChanged collection, IList oldItems, IList newItems)
164
        //{
165
        //    isSyncingSelection = true;
166

  
167
        //    var gridViews = GetOrCreateGridViews(collection);
168
        //    foreach (var gridView in gridViews)
169
        //    {
170
        //        SyncSelection(gridView, oldItems, newItems);
171
        //    }
172

  
173
        //    isSyncingSelection = false;
174
        //}
175

  
176
        //private static void SyncSelection(RadGridView gridView, IList oldItems, IList newItems)
177
        //{
178
        //    if (oldItems != null)
179
        //    {
180
        //        SetItemsSelection(gridView, oldItems, false);
181
        //    }
182

  
183
        //    if (newItems != null)
184
        //    {
185
        //        SetItemsSelection(gridView, newItems, true);
186
        //    }
187
        //}
188

  
189
        //private static void SetItemsSelection(RadGridView gridView, IList items, bool shouldSelect)
190
        //{
191
        //    foreach (var item in items)
192
        //    {
193
        //        bool contains = gridView.SelectedItems.Contains(item);
194
        //        if (shouldSelect && !contains)
195
        //        {
196
        //            gridView.SelectedItems.Add(item);
197
        //        }
198
        //        else if (contains && !shouldSelect)
199
        //        {
200
        //            gridView.SelectedItems.Remove(item);
201
        //        }
202
        //    }
203
        //}
204

  
205
        //private static void AddAssociation(INotifyCollectionChanged collection, RadGridView gridView)
206
        //{
207
        //    List<RadGridView> gridViews = GetOrCreateGridViews(collection);
208
        //    gridViews.Add(gridView);
209
        //}
210

  
211
        //private static void RemoveAssociation(INotifyCollectionChanged collection, RadGridView gridView)
212
        //{
213
        //    List<RadGridView> gridViews = GetOrCreateGridViews(collection);
214
        //    gridViews.Remove(gridView);
215

  
216
        //    if (gridViews.Count == 0)
217
        //    {
218
        //        CleanUp();
219
        //    }
220
        //}
221

  
222
        //private static List<RadGridView> GetOrCreateGridViews(INotifyCollectionChanged collection)
223
        //{
224
        //    for (int i = 0; i < collectionToGridViews.Count; i++)
225
        //    {
226
        //        var wr = collectionToGridViews[i].Item1;
227
        //        if (wr.Target == collection)
228
        //        {
229
        //            return collectionToGridViews[i].Item2;
230
        //        }
231
        //    }
232

  
233
        //    collectionToGridViews.Add(new Tuple<WeakReference, List<RadGridView>>(new WeakReference(collection), new List<RadGridView>()));
234
        //    return collectionToGridViews[collectionToGridViews.Count - 1].Item2;
235
        //}
236

  
237
        //private static void CleanUp()
238
        //{
239
        //    for (int i = collectionToGridViews.Count - 1; i >= 0; i--)
240
        //    {
241
        //        bool isAlive = collectionToGridViews[i].Item1.IsAlive;
242
        //        var behaviors = collectionToGridViews[i].Item2;
243
        //        if (behaviors.Count == 0 || !isAlive)
244
        //        {
245
        //            collectionToGridViews.RemoveAt(i);
246
        //        }
247
        //    }
248
        //}
249
    }
250
}
ConvertService/ServiceBase/Markus.Service.StationController/Controls/RightAlignedLabelStrategy.cs
1
using GemBox.Spreadsheet.Charts;
2
using System;
3
using System.Collections.Generic;
4
using System.Linq;
5
using System.Text;
6
using System.Threading.Tasks;
7
using System.Windows;
8
using Telerik.Charting;
9
using Telerik.Windows.Controls;
10
using Telerik.Windows.Controls.ChartView;
11
using ChartSeries = Telerik.Windows.Controls.ChartView.ChartSeries;
12

  
13
namespace Markus.Service.StationController.Controls
14
{
15
        public class RightAlignedLabelStrategy : Telerik.Windows.Controls.ChartView.ChartSeriesLabelStrategy
16
        {
17
            public double Offset { get; set; }
18

  
19
            public override Telerik.Windows.Controls.ChartView.LabelStrategyOptions Options
20
            {
21
                get { return Telerik.Windows.Controls.ChartView.LabelStrategyOptions.Arrange; }
22
            }
23

  
24
            public override Telerik.Charting.RadRect GetLabelLayoutSlot(Telerik.Charting.DataPoint point, System.Windows.FrameworkElement visual, int labelIndex)
25
            {
26
                Size size = visual.DesiredSize;
27

  
28
                var series = (ChartSeries)point.Presenter;
29
                double top = point.LayoutSlot.Center.Y - (size.Height / 2);
30
                double left = series.Chart.PlotAreaClip.Right - size.Width + this.Offset;
31

  
32
                return new RadRect(left, top, size.Width, size.Height);
33
            }
34
        
35
    }
36
}
ConvertService/ServiceBase/Markus.Service.StationController/Data/ConvertCOUNT.cs
25 25

  
26 26
        }
27 27

  
28
        public ConvertCOUNT(string projectNO, int count)
28
        public ConvertCOUNT(string projectNO, int count, int exception_count)
29 29
        {
30 30
            Project_NO = projectNO;
31 31
            Count = count;
32
            ExceptionCount = exception_count;
32 33
        }
33 34

  
34 35
        private string _Project_NO;
......
48 49
            }
49 50
        }
50 51

  
52
        private int _ExceptionCount;
53
        public int ExceptionCount
54
        {
55
            get
56
            {
57
                return _ExceptionCount;
58
            }
59
            set
60
            {
61
                if (_ExceptionCount != value)
62
                {
63
                    _ExceptionCount = value;
64
                    OnPropertyChanged("ExceptionCount");
65
                }
66
            }
67
        }
68

  
51 69
        private int _Count;
52 70
        public int Count
53 71
        {
ConvertService/ServiceBase/Markus.Service.StationController/Markus.Service.StationController.csproj
108 108
    <Reference Include="System.Xaml">
109 109
      <RequiredTargetFramework>4.0</RequiredTargetFramework>
110 110
    </Reference>
111
    <Reference Include="Telerik.Windows.Controls, Version=2019.3.917.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
111
    <Reference Include="Telerik.Windows.Controls, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
112 112
      <SpecificVersion>False</SpecificVersion>
113
      <HintPath>..\Telerik\Telerik.Windows.Controls.dll</HintPath>
113
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.dll</HintPath>
114 114
    </Reference>
115 115
    <Reference Include="Telerik.Windows.Controls.Chart, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
116 116
      <SpecificVersion>False</SpecificVersion>
117
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries.NoXaml\WPF45\Telerik.Windows.Controls.Chart.dll</HintPath>
117
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.Chart.dll</HintPath>
118 118
    </Reference>
119 119
    <Reference Include="Telerik.Windows.Controls.Data, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
120 120
      <SpecificVersion>False</SpecificVersion>
121
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries.NoXaml\WPF45\Telerik.Windows.Controls.Data.dll</HintPath>
121
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.Data.dll</HintPath>
122 122
    </Reference>
123 123
    <Reference Include="Telerik.Windows.Controls.Docking, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
124 124
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Controls.Docking.dll</HintPath>
125
      <SpecificVersion>False</SpecificVersion>
125 126
      <Private>True</Private>
126 127
    </Reference>
127 128
    <Reference Include="Telerik.Windows.Controls.GridView, Version=2019.3.917.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
......
136 137
      <SpecificVersion>False</SpecificVersion>
137 138
      <HintPath>..\Telerik\Telerik.Windows.Controls.Navigation.dll</HintPath>
138 139
    </Reference>
139
    <Reference Include="Telerik.Windows.Data, Version=2019.3.917.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
140
    <Reference Include="Telerik.Windows.Data, Version=2020.1.218.45, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
140 141
      <SpecificVersion>False</SpecificVersion>
141
      <HintPath>..\Telerik\Telerik.Windows.Data.dll</HintPath>
142
      <HintPath>C:\Program Files (x86)\Progress\Telerik UI for WPF R1 2020\Binaries\WPF45\Telerik.Windows.Data.dll</HintPath>
142 143
    </Reference>
143 144
    <Reference Include="Telerik.Windows.Zip, Version=2019.3.903.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
144 145
      <SpecificVersion>False</SpecificVersion>
......
162 163
    <Compile Include="Controls\DatabaseFilter.xaml.cs">
163 164
      <DependentUpon>DatabaseFilter.xaml</DependentUpon>
164 165
    </Compile>
166
    <Compile Include="Controls\GridViewSelectionUtilities.cs" />
165 167
    <Compile Include="Controls\ITraceTextSink.cs" />
168
    <Compile Include="Controls\RightAlignedLabelStrategy.cs" />
166 169
    <Compile Include="Controls\RowIndexColumn.cs" />
167 170
    <Compile Include="Controls\TraceDocument.xaml.cs">
168 171
      <DependentUpon>TraceDocument.xaml</DependentUpon>
ConvertService/ServiceBase/Markus.Service.StationController/MarkusModel.edmx
209 209
        <ComplexType Name="SELECT_CONVERT_COUNT" >
210 210
          <Property Type="String" Name="PROJECT_NO" Nullable="false" />
211 211
          <Property Type="Int32" Name="COUNT" Nullable="false" />
212
          <Property Type="Int32" Name="EXCEPTION_COUNT" Nullable="false" />
212 213
        </ComplexType>
213 214
      </Schema>
214 215
    </edmx:ConceptualModels>
ConvertService/ServiceBase/Markus.Service.StationController/SELECT_CONVERT_COUNT.cs
15 15
    {
16 16
        public string PROJECT_NO { get; set; }
17 17
        public int COUNT { get; set; }
18
        public int EXCEPTION_COUNT { get; set; }
18 19
    }
19 20
}
ConvertService/ServiceBase/Markus.Service.StationController/StationController.ini
15 15

  
16 16

  
17 17
#효성 복사본
18
MarkusDataBaseConnectionString = w0RfRwPwWVzkhKYSFkzqaccCbanjnTfSeig1IFc1IQ2MDThANWCNLmZqA6e2emQZqdM0l2Hsk1Ns/1Bfk6Vy+23gcbZlEDSBfSz7+eQaliiW9b2Wes1FDJ/C1Ho+35kTHGBbQk0tlIA0SWQHbR0KFo8TH5AbCyrLkjI87W6iXJVBpfI1QmTK0guIlTPnEEtCzXnXtgY9e8IHVnRIqT1PDq7ennJLPbB3f5FQ0Q1ry+Q=
18
#MarkusDataBaseConnectionString = w0RfRwPwWVzkhKYSFkzqaccCbanjnTfSeig1IFc1IQ2MDThANWCNLmZqA6e2emQZqdM0l2Hsk1Ns/1Bfk6Vy+23gcbZlEDSBfSz7+eQaliiW9b2Wes1FDJ/C1Ho+35kTHGBbQk0tlIA0SWQHbR0KFo8TH5AbCyrLkjI87W6iXJVBpfI1QmTK0guIlTPnEEtCzXnXtgY9e8IHVnRIqT1PDq7ennJLPbB3f5FQ0Q1ry+Q=
19 19

  
20 20
#Doftech 개발
21
#MarkusDataBaseConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5q/RkHKkgbsc6TL5EdTsnSwK0ngDgXD0P0yPKObgtPfk0MX0wmEG95SDQzGzbT6sH73Lkzde0AeChQWveAWZGvACoQISpdUwNj96c2AQuTqaUHwSkCwSI84HZCYugjlg3gAF1FpPggKCIeu4r/qFi0w==
21
MarkusDataBaseConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5q/RkHKkgbsc6TL5EdTsnSwK0ngDgXD0P0yPKObgtPfk0MX0wmEG95SDQzGzbT6sH73Lkzde0AeChQWveAWZGvACoQISpdUwNj96c2AQuTqaUHwSkCwSI84HZCYugjlg3gAF1FpPggKCIeu4r/qFi0w==
22 22

  
23 23
# remote test MARKUS_V3
24 24
#MarkusDataBaseConnectionString = ScTg8MgTdbARVQXhb1K9YI3/6emjnMuODvTWZ+UnUZQ8z/Gv4TksSLRn84HTZiC5q/RkHKkgbsc6TL5EdTsnSwK0ngDgXD0P0yPKObgtPfk0MX0wmEG95SDQzGzbT6sH73Lkzde0AeChQWveAWZGvACoQISpdUwNj96c2AQuTqaUHwSkCwSI84HZCYugjlg3gAF1FpPggKCIeu4r/qFi0w==
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/DashBoardViewModel.cs
13 13
using System.Windows;
14 14
using System.Windows.Threading;
15 15
using ConverCOUNT = Markus.Service.StationController.Data.ConvertCOUNT;
16
using System.Collections.ObjectModel;
16

  
17 17

  
18 18
namespace Markus.Service.StationController.ViewModel
19 19
{
20
    class DashBoardViewModel : Mvvm.ToolKit.ViewModelBase
20
    class DashBoardViewModel : Mvvm.ToolKit.ViewModelBase 
21 21
    {
22 22
        #region Constructor
23 23

  
......
92 92
            }
93 93
        }
94 94

  
95
        private ObservableCollection<ConvertCOUNT> _ExceptionCount;
96
        public ObservableCollection<ConvertCOUNT> ExceptionCount
97
        {
98
            get
99
            {
100
                if (_ExceptionCount == null)
101
                {
102
                    _ExceptionCount = new ObservableCollection<ConvertCOUNT>();
103
                }
104
                return _ExceptionCount;
105
            }
106
            set
107
            {
108
                _ExceptionCount = value;
109
                OnPropertyChanged(() => ExceptionCount);
110
            }
111
        }
112

  
113

  
114
        private ObservableCollection<ConvertCOUNT> _ConvertCount;
115
        public ObservableCollection<ConvertCOUNT> ConvertCount
95
        private List<ConvertCOUNT> _DashBoard;
96
        public List<ConvertCOUNT> DashBoard
116 97
        {
117 98
            get
118 99
            {
119
                if (_ConvertCount == null)
100
                if (_DashBoard == null)
120 101
                {
121
                    _ConvertCount = new ObservableCollection<ConvertCOUNT>();
102
                    _DashBoard = new List<ConvertCOUNT>();
122 103
                }
123
                return _ConvertCount;
104
                return _DashBoard;
124 105
            }
125 106
            set
126 107
            {
127
                _ConvertCount = value;
128
                OnPropertyChanged(() => ConvertCount);
108
                _DashBoard = value;
109
                OnPropertyChanged(() => DashBoard);
129 110
            }
130 111
        }
131 112

  
......
236 217
        /// </summary>
237 218
        private void DataSelect()
238 219
        {
239
            /// combobox 에서 선택된 items
220
            if (DashBoard == null)
221
            {
222
                DashBoard = new List<ConverCOUNT>();
223
            }
224

  
240 225
            if (SelectedStatus != null)
241 226
            {
242
                DataSelect(new[] { (ConvertPDF.StatusCodeType)(SelectedStatus.Value) } );
227
                DataSelect(new[] { (ConvertPDF.StatusCodeType)(SelectedStatus.Value) }, DashBoard);
243 228
            }
244 229

  
245 230
        }
246 231

  
247
        private void DataSelect(IEnumerable<ConvertPDF.StatusCodeType> statusCodeTypeList)
232
        private void DataSelect(IEnumerable<ConvertPDF.StatusCodeType> statusCodeTypeList, List<ConverCOUNT> collection)
248 233
        {
249 234
            try
250 235
            {
......
270 255

  
271 256
                    var items = entities.SELECT_CONVERT_COUNT(_status, Start_CreateTime, Finish_CreateTime).ToList();
272 257

  
273
                    ObservableCollection<ConverCOUNT> Listitems = new ObservableCollection<ConverCOUNT>();
258
                    List<ConverCOUNT> Listitems = new List<ConverCOUNT>();
274 259

  
275
                    ExceptionCount.Clear();
276
                    ConvertCount.Clear();
277
                    for (int i=0; i<items.Count; i++)
260
                    for (int i = 0; i < items.Count; i++)
278 261
                    {
279
                        if (i < items.Count / 2)
262
                        ConverCOUNT AddItem = new ConverCOUNT(items[i].PROJECT_NO, items[i].COUNT, items[i].EXCEPTION_COUNT);
263
                        Listitems.Add(AddItem);
264
                    }
265

  
266
                    if (collection.Count() == 0)
267
                    {
268
                        if (statusCodeTypeList.Count() == 1)
269
                        {
270
                            foreach (var x in Listitems)
271
                            {
272
                                collection.Add(x);//observationcollection add하면 오류 & telerik chart버전 문제 
273
                            }
274
                        }
275
                    }
276
                    else
277
                    {
278

  
279
                        //세미 업데이트
280
                        foreach (var newitem in Listitems)
280 281
                        {
281
                            ConverCOUNT AddItem = new ConverCOUNT(items[i].PROJECT_NO, items[i].COUNT);
282
                            ExceptionCount.Add(AddItem);
282
                            collection.UpdateWhere(changeitem =>
283
                            ConvertItemEx.ChangeValues(changeitem, newitem), x => x.Project_NO == newitem.Project_NO && x.Count == newitem.Count);
283 284
                        }
284
                        else
285

  
286

  
287
                        if (statusCodeTypeList.Count() == 1)
288
                        {
289

  
290
                            //삭제
291
                            for (int i = collection.Count() - 1; i >= 0; --i)
292
                            {
293
                                var item = collection[i];
294

  
295
                                if (Listitems.Count(x => x.Project_NO == item.Project_NO && x.Count == item.Count) == 0)
296
                                {
297
                                    collection.RemoveAt(i);
298
                                }
299
                            }
300
                        }
301

  
302
                        if (statusCodeTypeList.Count() == 1)
285 303
                        {
286
                            ConverCOUNT AddItem = new ConverCOUNT(items[i].PROJECT_NO, items[i].COUNT);
287
                            ConvertCount.Add(AddItem);
304
                            //추가 convert 후 추가됨
305
                            foreach (var item in Listitems)
306
                            {
307
                                if (collection.Count(x => x.Project_NO == item.Project_NO && x.Count == item.Count) == 0)
308
                                {
309
                                    for (int i = 0; i < 200; i++)
310
                                    {
311
                                        collection.Add(item);
312
                                        break;
313
                                    }
314
                                }
315
                            }
288 316
                        }
289 317
                    }
290 318
                }
291
               
292 319
            }
293 320
            catch (Exception ex)
294 321
            {
ConvertService/ServiceBase/Markus.Service.StationController/ViewModel/DataBaseItemsModel.cs
24 24
using Newtonsoft.Json;
25 25
//using Markus.Service.Interface;
26 26
using static Markus.Service.StationController.Data.ConvertPDF;
27
using System.Collections.ObjectModel;
27 28

  
28 29
namespace Markus.Service.StationController.ViewModel
29 30
{
......
182 183
        private ConvertPDF _SelectFilterConvert;
183 184
        public ConvertPDF SelectFilterConvert
184 185
        {
185
            get => _SelectFilterConvert;
186
            get
187
            {
188
                return _SelectFilterConvert;
189
            }
186 190
            set
187 191
            {
188 192
                _SelectFilterConvert = value;
......
190 194
            }
191 195
        }
192 196

  
197

  
198
        private ObservableCollection<ConvertPDF> _SelectFilterConvertList;
199
        public ObservableCollection<ConvertPDF> SelectFilterConvertList
200
        {
201
            get
202
            {
203
                if (_SelectFilterConvertList == null)
204
                {
205
                    _SelectFilterConvertList = new ObservableCollection<ConvertPDF>();
206
                }
207
                return _SelectFilterConvertList;
208
            }
209
            set
210
            {
211
                _SelectFilterConvertList = value;
212
                OnPropertyChanged(() => SelectFilterConvertList);
213
            }
214
        }
215

  
216

  
217

  
193 218
        private ConvertPDF _SelectRealConvert;
194 219
        public ConvertPDF SelectRealConvert
195 220
        {
......
1023 1048

  
1024 1049
        private void DataConvert(object obj)
1025 1050
        {
1026
            if (SelectFilterConvert == null && SelectRealConvert == null)
1051
            if (SelectFilterConvertList == null)
1027 1052
            {
1028 1053
                MessageBox.Show("왼쪽 버튼 클릭 후 Converter 해주세요!");
1029 1054
            }
......
1031 1056
            {
1032 1057
                var resultRealConvert = 0;
1033 1058
                var resultFiltertConvert = 0;
1034

  
1035 1059
                if (SelectRealConvert != null)
1036 1060
                {
1037 1061
                    resultRealConvert = SetCleanUpItem(SelectRealConvert);//ConvertDataBase
1038 1062
                }
1039
                else if (SelectFilterConvert != null)
1063
                if (SelectFilterConvertList != null)
1040 1064
                {
1041
                    resultFiltertConvert = SetCleanUpItem(SelectFilterConvert);
1065
                    foreach (var SelectFilterConvert in SelectFilterConvertList)
1066
                    {
1067
                        resultFiltertConvert = SetCleanUpItem(SelectFilterConvert);
1068
                    }
1042 1069
                }
1043 1070
                System.Diagnostics.Debug.WriteLine(resultRealConvert + "  " + resultFiltertConvert);
1044 1071

  
1045 1072
                using (markusEntities entities = new markusEntities(App.MarkusDataBaseConnecitonString))
1046 1073
                {
1047

  
1048
                    var items = entities.SELECT_CONVERT_ITEM(SelectFilterConvert.ConvertID, null, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null); //프로시저 이용
1074
                    foreach (var SelectFilterConvert in SelectFilterConvertList)
1075
                    {
1076
                        var items = entities.SELECT_CONVERT_ITEM(SelectFilterConvert.ConvertID, null, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null); //프로시저 이용
1049 1077

  
1050 1078

  
1051
                    foreach (var x in items)
1052
                    {
1053
                        var MarkusLink = "kcom://" + CreateMarkusParam(x.PROJECT_NO, x.DOCUMENT_ID, "doftech");
1079
                        foreach (var x in items)
1080
                        {
1081
                            var MarkusLink = "kcom://" + CreateMarkusParam(x.PROJECT_NO, x.DOCUMENT_ID, "doftech");
1054 1082

  
1055
                        ConvertPDF AddItem = new ConvertPDF(x.SERVICE_ID, x.ID, x.PROJECT_NO, x.STATUS, x.DOCUMENT_ID, x.DOCUMENT_NAME, x.DOCUMENT_NO, x.DOCUMENT_URL, x.REVISION, x.CURRENT_PAGE, x.TOTAL_PAGE, x.EXCEPTION, x.GROUP_NO, x.CREATE_DATETIME, x.START_DATETIME, x.END_DATETIME
1056
                             , x.DOCUMENT_URL, x.CONVERT_PATH, MarkusLink, x.RECONVERTER);
1083
                            ConvertPDF AddItem = new ConvertPDF(x.SERVICE_ID, x.ID, x.PROJECT_NO, x.STATUS, x.DOCUMENT_ID, x.DOCUMENT_NAME, x.DOCUMENT_NO, x.DOCUMENT_URL, x.REVISION, x.CURRENT_PAGE, x.TOTAL_PAGE, x.EXCEPTION, x.GROUP_NO, x.CREATE_DATETIME, x.START_DATETIME, x.END_DATETIME
1084
                                 , x.DOCUMENT_URL, x.CONVERT_PATH, MarkusLink, x.RECONVERTER);
1057 1085

  
1058
                        RealConvertSource.Add(AddItem);
1086
                            RealConvertSource.Add(AddItem);
1059 1087

  
1060
                        if (RealConvertSource.Count() == 1)
1061
                        {
1062
                            ConvertShow = true;
1088
                            if (RealConvertSource.Count() == 1)
1089
                            {
1090
                                ConvertShow = true;
1091
                            }
1063 1092
                        }
1064 1093
                    }
1065 1094

  
1066 1095
                }
1096

  
1067 1097
            }
1068 1098
        }
1069 1099

  
......
1122 1152

  
1123 1153
        private void DataValidate(object obj)
1124 1154
        {
1125

  
1126
            bool result = false;
1127

  
1128
            WebRequest webRequest = WebRequest.Create(SelectFilterConvert.OriginfilePath);
1129
            webRequest.Timeout = 1200; // miliseconds
1130
            webRequest.Method = "HEAD";
1131

  
1132
            HttpWebResponse response = null;
1133

  
1134
            try
1135
            {
1136
                response = (HttpWebResponse)webRequest.GetResponse();
1137
                result = true;
1138
            }
1139
            catch (WebException webException)
1155
            if (SelectFilterConvertList.Count() > 1)
1140 1156
            {
1141
                MessageBox.Show(SelectFilterConvert.FileName + " doesn't exist: " + webException.Message);
1142
                result = true;
1157
                MessageBox.Show("하나만 클릭해 주세요");
1143 1158
            }
1144
            finally
1159
            else
1145 1160
            {
1146
                if (response != null)
1161
                bool result = false;
1162
                WebRequest webRequest = WebRequest.Create(SelectFilterConvertList[0].OriginfilePath);
1163
                webRequest.Timeout = 1200; // miliseconds
1164
                webRequest.Method = "HEAD";
1165

  
1166
                HttpWebResponse response = null;
1167

  
1168
                try
1147 1169
                {
1148
                    response.Close();
1170
                    response = (HttpWebResponse)webRequest.GetResponse();
1171
                    result = true;
1172
                }
1173
                catch (WebException webException)
1174
                {
1175
                    MessageBox.Show(SelectFilterConvert.FileName + " doesn't exist: " + webException.Message);
1176
                    result = true;
1177
                }
1178
                finally
1179
                {
1180
                    if (response != null)
1181
                    {
1182
                        response.Close();
1183
                    }
1184
                }
1185
                if (result == true)
1186
                {
1187
                    MessageBox.Show("File exists");
1149 1188
                }
1150 1189
            }
1151
            if (result == true)
1152
            {
1153
                MessageBox.Show("File exists");
1154
            }
1190

  
1155 1191
        }
1156 1192

  
1157 1193
        #endregion
......
1168 1204

  
1169 1205
        #region MarkusLink
1170 1206

  
1171
        private void MarkusLink(object obj)///여기서 부터 
1207
        private void MarkusLink(object obj)
1172 1208
        {
1173 1209
            if (obj is ConvertPDF)
1174 1210
            {
1211

  
1175 1212
                if (obj != null)
1176 1213
                {
1177 1214
                    var convertitem = obj as ConvertPDF;
1178 1215

  
1179
                    SelectFilterConvert = convertitem;
1216
                    SelectFilterConvertList[0] = convertitem;
1180 1217

  
1181 1218
                    SelectRealConvert = convertitem;
1182 1219

  
......
1186 1223

  
1187 1224
                    Process.Start(startInfo);
1188 1225
                }
1226

  
1189 1227
            }
1190 1228
        }
1191 1229

  
......
1195 1233

  
1196 1234
        private void DataDelete(object obj)
1197 1235
        {
1198
            RadWindow.Alert("do you want to delete it??", this.OnClosed);
1236
            RadWindow.Alert("Do you want to delete it??", this.OnClosed);
1199 1237
        }
1200 1238

  
1201 1239
        private void OnClosed(object sender, WindowClosedEventArgs e)
......
1205 1243
                var result = e.DialogResult;
1206 1244
                if (result == true)
1207 1245
                {
1208
                    if (SelectRealConvert != null)
1246
                    if (SelectFilterConvertList.Count() > 1)
1209 1247
                    {
1210
                        entities.SELECT_CONVERT_DELETE(SelectRealConvert.ConvertID);
1248
                        MessageBox.Show("하나만 클릭해 주세요!");
1211 1249
                    }
1212
                    if (SelectFilterConvert != null)
1250
                    else
1213 1251
                    {
1214
                        entities.SELECT_CONVERT_DELETE(SelectFilterConvert.ConvertID);
1252
                        if (SelectRealConvert != null)
1253
                        {
1254
                            entities.SELECT_CONVERT_DELETE(SelectRealConvert.ConvertID);
1255
                        }
1256
                        if (SelectFilterConvertList != null)
1257
                        {
1258
                            entities.SELECT_CONVERT_DELETE(SelectFilterConvertList[0].ConvertID);
1259
                        }
1215 1260
                    }
1216 1261
                }
1217 1262
            }
ConvertService/ServiceBase/Markus.Service.StationController/Views/DashBoard.xaml
10 10
             xmlns:local="clr-namespace:Markus.Service.StationController.Views" x:Class="Markus.Service.StationController.Views.DashBoard"
11 11
             mc:Ignorable="d"  Background="White" DataContext="{DynamicResource DashBoardViewModel}" 
12 12
      d:DesignHeight="450" d:DesignWidth="1000">
13
    <!--xmlns:sys="clr-namespace:System;assembly=mscorlib"-->
14 13
    <UserControl.Resources>
15 14
        <SolidColorBrush x:Key="ActualBrush" Color="#FFCCCCCC" />
16 15
        <SolidColorBrush x:Key="TargetBrush" Color="#FF1B9DDE" />
......
26 25
            </telerik:ChartPalette.GlobalEntries>
27 26
        </telerik:ChartPalette>
28 27
        <Style x:Key="TransparentTickStyle" TargetType="Rectangle" />
29

  
30
        <SolidColorBrush x:Key="ChartBrush1" Color="#FF8EC441" />
31
        <SolidColorBrush x:Key="ChartBrush2" Color="#FF1B9DDE" />
32
        <SolidColorBrush x:Key="ChartBrush3" Color="#FFF59700" />
33
        <SolidColorBrush x:Key="ChartBrush4" Color="#FFD4DF32" />
34

  
35
        <Style x:Key="TextBlockLegendStyle" TargetType="TextBlock">
36
            <Setter Property="FontFamily" Value="Segoe UI" />
37
            <Setter Property="FontSize" Value="12" />
38
            <Setter Property="Foreground" Value="#FF767676" />
39
            <Setter Property="Margin" Value="4,2,4,2" />
40
        </Style>
41
        <Style TargetType="telerik:RadLegend" > <!--BasedOn="{StaticResource RadLegendStyle}">-->
42
            <Setter Property="Margin" Value="10,6,10,0" />
43
            <Setter Property="FontFamily" Value="Segoe UI" />
44
            <Setter Property="FontSize" Value="11" />
45
            <Setter Property="Foreground" Value="#FF767676" />
46
            <Setter Property="MinWidth" Value="75"/>
47
        </Style>
48

  
49
        <ControlTemplate x:Key="GridViewCellTemplate" TargetType="telerik:GridViewCell">
50
            <ContentPresenter x:Name="PART_ContentPresenter"
51
						Margin="{TemplateBinding Padding}"
52
						Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"
53
						VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
54
						HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
55
        </ControlTemplate>
56

  
57
        <Style TargetType="telerik:GridViewCell" >  
58
            <Setter Property="Template" Value="{StaticResource GridViewCellTemplate}"/>
59
        </Style>
60

  
61

  
62

  
63
        <RectangleGeometry x:Key="LineSeriesLegendGeometry" Rect="0 5 12 2" />
64 28
        <RectangleGeometry x:Key="SolidRectLegendGeometry" Rect="0 0 12 12" />
65

  
29
        <RectangleGeometry x:Key="LineSeriesLegendGeometry" Rect="0 5 12 2" />
66 30
        <VM:DashBoardViewModel x:Key="DashBoardViewModel"/>
31
        <controls:RightAlignedLabelStrategy x:Key="RightAlignedLabelStrategy"/>
67 32
    </UserControl.Resources>
68 33
    <i:Interaction.Triggers>
69 34
        <i:EventTrigger  EventName="Loaded">
......
100 65
                                   HorizontalAlignment="Stretch"
101 66
                                   SelectedValue="{Binding SelectedCreateTimeBegin ,Mode=TwoWay,  UpdateSourceTrigger=PropertyChanged }" >
102 67
                </telerik:RadDateTimePicker>
103
                <!--<DatePicker Text="{Binding OpenStartTime, StringFormat='yy.mm.dd HH:mm:ss' ,RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" SelectedDate="{Binding SelectedOpenTime}" Width="124" SelectedDateFormat="Long" Margin="0,-1,0,1"/>-->
104 68
                <TextBlock Text="  ~  " VerticalAlignment="Center"/>
105 69
                <telerik:RadDateTimePicker x:Name="datePicker2"  Width="200"
106 70
                                   InputMode="DateTimePicker"  HorizontalAlignment="Stretch"
......
109 73
                                   Margin="0,1">
110 74
                </telerik:RadDateTimePicker>
111 75
                <Button Content="Clear" Margin="5"  Width="50" Height="20" HorizontalAlignment="Left" Command="{Binding RemoveCreateTimeFilterCommand, Mode=OneWay}"/>
112

  
113

  
114 76
            </StackPanel>
115 77
        </StackPanel>
116
        <StackPanel Orientation="Vertical" Grid.Row="2" Grid.Column="0" >
117
            <TextBlock Text="Convert PDF" HorizontalAlignment="Stretch" FontSize="12" FontFamily="Segoe UI" />
118
            <Grid x:Name="LayoutRoot">
119
                <Grid.ColumnDefinitions>
120
                    <ColumnDefinition Width="*" />
121
                    <ColumnDefinition Width="Auto" />
122
                </Grid.ColumnDefinitions>
123
                <telerik:RadCartesianChart x:Name="chart" Palette="{StaticResource ActualTargetChartPalette}" ClipToBounds="False" >
124
                    <telerik:RadCartesianChart.VerticalAxis>
125
                        <telerik:CategoricalAxis IsInverse="True" 
78
        <Grid Grid.Row="2">
79
            <Grid.ColumnDefinitions>
80
                <ColumnDefinition Width="*" />
81
                <ColumnDefinition Width="Auto" />
82
            </Grid.ColumnDefinitions>
83
            <telerik:RadCartesianChart x:Name="chart" Palette="{StaticResource ActualTargetChartPalette}" MinHeight="90" MaxHeight="90" Margin="10 0 20 0" ClipToBounds="False">
84
                <telerik:RadCartesianChart.VerticalAxis>
85
                    <telerik:CategoricalAxis IsInverse="True" 
126 86
                                         MajorTickStyle="{StaticResource TransparentTickStyle}" 
127 87
                                         LineStroke="Transparent" 
128 88
                                         LabelStyle="{StaticResource TextBlockCountryStyle}" />
129
                    </telerik:RadCartesianChart.VerticalAxis>
130
                    <telerik:RadCartesianChart.HorizontalAxis>
131
                        <telerik:LinearAxis ShowLabels="True" ElementBrush="Transparent" />
132
                    </telerik:RadCartesianChart.HorizontalAxis>
133
                    <telerik:RadCartesianChart.Series>
134
                        <telerik:BarSeries CategoryBinding="{Binding Project_NO}" 
135
                                   ValueBinding="{Binding Count}" 
136
                                   ItemsSource="{Binding ExceptionCount, Mode=TwoWay}" 
89
                </telerik:RadCartesianChart.VerticalAxis>
90
                <telerik:RadCartesianChart.HorizontalAxis>
91
                    <telerik:LinearAxis ShowLabels="False" ElementBrush="Transparent" />
92
                </telerik:RadCartesianChart.HorizontalAxis>
93
                <telerik:RadCartesianChart.Series>
94
                    <telerik:BarSeries CategoryBinding="Project_NO" 
95
                                   ValueBinding="Count" 
96
                                   ItemsSource="{Binding DashBoard, UpdateSourceTrigger=PropertyChanged}" 
137 97
                                   CombineMode="None" 
138 98
                                   ShowLabels="True" 
139
                                   ClipToPlotArea="False">
140
                            <!--sdk:ChartAnimationUtilities.CartesianAnimation="Rise">-->
141
                            <telerik:BarSeries.PointTemplate>
142
                                <DataTemplate>
143
                                    <Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" />
144
                                </DataTemplate>
145
                            </telerik:BarSeries.PointTemplate>
146
                            <telerik:BarSeries.LegendSettings>
147
                                <telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" />
148
                            </telerik:BarSeries.LegendSettings>
149
                            <telerik:BarSeries.LabelDefinitions>
150
                                <telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" />
151
                                <!--Strategy="{StaticResource RightAlignedLabelStrategy}" />-->
152
                            </telerik:BarSeries.LabelDefinitions>
153
                        </telerik:BarSeries>
154
                        <telerik:BarSeries CategoryBinding="{Binding Project_NO}" 
155
                                   ValueBinding="{Binding Count}" 
156
                                   ItemsSource="{Binding ConvertCount, Mode=TwoWay}" 
99
                                   ClipToPlotArea="False"
100
                                   >
101
                        <telerik:BarSeries.PointTemplate>
102
                            <DataTemplate>
103
                                <Rectangle Fill="{StaticResource ActualBrush}" Margin="0 0 0 3" />
104
                            </DataTemplate>
105
                        </telerik:BarSeries.PointTemplate>
106
                        <telerik:BarSeries.LegendSettings>
107
                            <telerik:SeriesLegendSettings Title="Count" MarkerGeometry="{StaticResource SolidRectLegendGeometry}" />
108
                        </telerik:BarSeries.LegendSettings>
109
                        <telerik:BarSeries.LabelDefinitions>
110
                            <telerik:ChartSeriesLabelDefinition Binding="Count" Format="{}{0:F1}" DefaultVisualStyle="{StaticResource TextBlockCountryStyle}" Strategy="{StaticResource RightAlignedLabelStrategy}" />
111
                        </telerik:BarSeries.LabelDefinitions>
112
                    </telerik:BarSeries>
113
                    <telerik:BarSeries CategoryBinding="Project_NO" 
114
                                   ValueBinding="ExceptionCount" 
115
                                   ItemsSource="{Binding DashBoard, UpdateSourceTrigger=PropertyChanged}" 
157 116
                                   CombineMode="None">
158
                            <telerik:BarSeries.PointTemplate>
159
                                <DataTemplate>
160
                                    <Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" />
161
                                </DataTemplate>
162
                            </telerik:BarSeries.PointTemplate>
163
                            <telerik:BarSeries.LegendSettings>
164
                                <telerik:SeriesLegendSettings Title="target" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" />
165
                            </telerik:BarSeries.LegendSettings>
117
                        <telerik:BarSeries.PointTemplate>
118
                            <DataTemplate>
119
                                <Rectangle Fill="{StaticResource TargetBrush}" Height="2" VerticalAlignment="Bottom" />
120
                            </DataTemplate>
121
                        </telerik:BarSeries.PointTemplate>
122
                        <telerik:BarSeries.LegendSettings>
123
                            <telerik:SeriesLegendSettings Title="ExceptionCountrget" MarkerGeometry="{StaticResource LineSeriesLegendGeometry}" />
124
                        </telerik:BarSeries.LegendSettings>
125
                    </telerik:BarSeries>
126
                </telerik:RadCartesianChart.Series>
127
            </telerik:RadCartesianChart>
128

  
129
            <telerik:RadLegend Grid.Column="1" Grid.Row="1" Margin="24,4,0,0" MinWidth="76" Items="{Binding LegendItems, ElementName=chart}" />
130
        </Grid>
131
            
132
            
133
                <!--<telerik:RadCartesianChart x:Name="chart">
134
                    <telerik:RadCartesianChart.HorizontalAxis>
135
                        <telerik:LinearAxis/>
136
                    </telerik:RadCartesianChart.HorizontalAxis>
137

  
138
                    <telerik:RadCartesianChart.VerticalAxis>
139
                        <telerik:CategoricalAxis/>
140
                    </telerik:RadCartesianChart.VerticalAxis>
141

  
142
                    <telerik:RadCartesianChart.Series>
143
                        <telerik:BarSeries>
144

  
145
                            <telerik:BarSeries.DataPoints>
146
                            <telerik:CategoricalDataPoint Category="rk" Value="10"/>
147
                                <telerik:CategoricalDataPoint Category="나" Value="4"/>
148
                                <telerik:CategoricalDataPoint Category="다" Value="7"/>
149
                                <telerik:CategoricalDataPoint Category="라" Value="11"/>
150
                                <telerik:CategoricalDataPoint Category="마" Value="15"/>
151
                            </telerik:BarSeries.DataPoints>
166 152
                        </telerik:BarSeries>
167 153
                    </telerik:RadCartesianChart.Series>
168 154
                </telerik:RadCartesianChart>
169

  
170
                <telerik:RadLegend Grid.Column="1" Grid.Row="1" Items="{Binding LegendItems, ElementName=chart}" />
171
            </Grid>
172
        </StackPanel>
155
            </Grid>-->
173 156
    </Grid>
174 157
</UserControl>
ConvertService/ServiceBase/Markus.Service.StationController/Views/DataBaseView.xaml
114 114
                        <ColumnDefinition Width="Auto"/>
115 115
                    </Grid.ColumnDefinitions>
116 116
                    <TextBlock Text="DataBase Items : "/>
117
                    <TextBlock Text="{Binding SelectedCount.DisplayMember, StringFormat=\{0:d\}}" Grid.Column="1"/>
117
                    <TextBlock Text="{Binding FilterConvertSource.Count, StringFormat=\{0:d\}}" Grid.Column="1"/>
118 118
                </Grid>
119 119
            </telerik:RadExpander.Header>
120 120

  
121
            <!--SelectedItem="{Binding SelectFilterConvertList, Mode=OneWayToSource}" -->
122
            <!--  controls:GridViewSelectionUtilities.SelectedItems="{Binding SelectFilterConvertList, Source=StaticResource context, Mode=TwoWay}"-->
123
            <!-- SelectedItem="{Binding SelectFilterConvert, Source=StaticResource context, Mode=TwoWay}"-->
121 124
            <telerik:RadGridView x:Name="dataGrid1"  GroupRenderMode="Flat" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  
122 125
							 ItemsSource="{Binding FilterConvertSourceView}" 
123
                             SelectedItem="{Binding SelectFilterConvert, Mode=TwoWay}"
126
                             
127
                             SelectionMode="Extended"
128
                             SelectionUnit="FullRow"
129
                             CanUserSelect ="True"
124 130
                             RowDetailsTemplate="{StaticResource RowDetailsTemplate}"  
125 131
							 AutoGenerateColumns="False" 
126 132
                             ColumnWidth="*" CanUserFreezeColumns="False"
127 133
                             Grid.Row="1"  ScrollViewer.CanContentScroll="True" IsFilteringAllowed="True"
128 134
                             LeftFrozenColumnCount="6" 
129 135
                             RightFrozenColumnCount="0">
136
                <i:Interaction.Behaviors>
137
                    <controls:GridViewSelectionUtilities SelectedItems="{Binding SelectFilterConvertList, Source={StaticResource DataBaseItemsModel}}" />
138
                </i:Interaction.Behaviors>
130 139
                <telerik:RadContextMenu.ContextMenu>
131 140
                    <telerik:RadContextMenu x:Name= "GridContextMenu">
132 141
                        <telerik:RadMenuItem  Header="Convert"  Command="{Binding ConvertCommand}"/>
......
260 269
                            </DataTemplate>
261 270
                        </telerik:GridViewDynamicHyperlinkColumn.CellTemplate>
262 271
                    </telerik:GridViewDynamicHyperlinkColumn>
263
                    <telerik:GridViewDataColumn Header=" ConvertPath" 
264
											DataMemberBinding="{Binding ConvertPath}" Width="2.5*" />
272
                    <!--<telerik:GridViewDataColumn Header=" ConvertPath" 
273
											DataMemberBinding="{Binding ConvertPath}" Width="2.5*" />-->
274
                    <telerik:GridViewDataColumn Header=" ConvertPath" Width="2.5*" Style="{Binding Mode=OneWay, Source={StaticResource borderedTemplate}}">
275
                        <telerik:GridViewDataColumn.CellTemplate>
276
                            <DataTemplate >
277
                                <StackPanel Orientation="Horizontal">
278
                                    <TextBox Text="{Binding ConvertPath}"/>
279
                                    <telerik:RadButton BorderThickness="0"
280
                                                   Background="Transparent"
281
                                                   Command="{Binding ConvertPathFileSearchCommand, Source={StaticResource DataBaseItemsModel}}" CommandParameter="{Binding DataContext, RelativeSource={RelativeSource Self}}">
282
                                        <Image Source="E:\Source\MARKUS\ConvertService\ServiceBase\Markus.Service.StationController\Picture\File_Search_Icon.png" Stretch="None" />
283
                                    </telerik:RadButton>
284
                                </StackPanel>
285
                            </DataTemplate>
286
                        </telerik:GridViewDataColumn.CellTemplate>
287
                    </telerik:GridViewDataColumn>
265 288
                    <telerik:GridViewDataColumn Header="CreateTime"
266 289
											DataMemberBinding="{Binding CreateTime, Mode=TwoWay, StringFormat=\{0:yyyy.MM.dd HH:mm:ss\}}" Width="*" />
267 290
                    <telerik:GridViewDataColumn Header="StartTime"
......
326 349
                            </DataTemplate>
327 350
                        </telerik:GridViewDynamicHyperlinkColumn.CellTemplate>
328 351
                    </telerik:GridViewDynamicHyperlinkColumn>
329
                    <telerik:GridViewDataColumn Header=" ConvertPath" 
330
											DataMemberBinding="{Binding ConvertPath}" Width="2.5*" />
352
                    <!--<telerik:GridViewDataColumn Header=" ConvertPath" 
353
											DataMemberBinding="{Binding ConvertPath}" Width="2.5*" />-->
354
                    <telerik:GridViewDataColumn Header=" ConvertPath" Width="2.5*" Style="{Binding Mode=OneWay, Source={StaticResource borderedTemplate}}">
355
                        <telerik:GridViewDataColumn.CellTemplate>
356
                            <DataTemplate >
357
                                <StackPanel Orientation="Horizontal">
358
                                    <TextBox Text="{Binding ConvertPath}"/>
359
                                    <telerik:RadButton BorderThickness="0"
360
                                                   Background="Transparent"
361
                                                   Command="{Binding ConvertPathFileSearchCommand, Source={StaticResource DataBaseItemsModel}}" CommandParameter="{Binding DataContext, RelativeSource={RelativeSource Self}}">
362
                                        <Image Source="E:\Source\MARKUS\ConvertService\ServiceBase\Markus.Service.StationController\Picture\File_Search_Icon.png" Stretch="None" />
363
                                    </telerik:RadButton>
364
                                </StackPanel>
365
                            </DataTemplate>
366
                        </telerik:GridViewDataColumn.CellTemplate>
367
                    </telerik:GridViewDataColumn>
331 368
                    <telerik:GridViewDataColumn Header="CreateTime"
332 369
											DataMemberBinding="{Binding CreateTime, Mode=TwoWay, StringFormat=\{0:yyyy.MM.dd HH:mm:ss\}}" Width="*" />
333 370
                    <telerik:GridViewDataColumn Header="StartTime"

내보내기 Unified diff

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