blob: a550a1911add8a3da953036eedfb133b260319ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL;
using Tango.BL.Builders;
using Tango.BL.Entities;
using Tango.BL.Enumerations;
using Tango.Core.Commands;
using Tango.MachineStudio.Common;
using Tango.SharedUI.Components;
namespace Tango.MachineStudio.ActionLogs.ViewModels
{
public class MainViewVM : StudioViewModel
{
private DateTime _startSelectedDate;
public DateTime StartSelectedDate
{
get { return _startSelectedDate; }
set { _startSelectedDate = value; RaisePropertyChangedAuto(); }
}
private DateTime _endSelectedDate;
public DateTime EndSelectedDate
{
get { return _endSelectedDate; }
set { _endSelectedDate = value; RaisePropertyChangedAuto(); }
}
private string _searchFilter;
public string SearchFilter
{
get { return _searchFilter; }
set { _searchFilter = value; RaisePropertyChangedAuto(); }
}
private ObservableCollection<ActionLog> _actionLogs;
public ObservableCollection<ActionLog> ActionLogs
{
get { return _actionLogs; }
set { _actionLogs = value; RaisePropertyChanged(nameof(ActionLogs)); }
}
private SelectedObjectCollection<ActionLogType> _selectedActionLogTypes;
public SelectedObjectCollection<ActionLogType> SelectedActionLogTypes
{
get { return _selectedActionLogTypes; }
set { _selectedActionLogTypes = value; RaisePropertyChanged(nameof(SelectedActionLogTypes)); }
}
public RelayCommand SearchCommand { get; set; }
public RelayCommand CopyToClipBoardCommand { get; set; }
public MainViewVM()
{
ActionLogs = new ObservableCollection<ActionLog>();
SearchCommand = new RelayCommand(Search);
CopyToClipBoardCommand = new RelayCommand(CopyToClipBoard);
DateTime now = DateTime.Now; ;
StartSelectedDate = now.AddMonths(-1);
EndSelectedDate = now;
var source = Enum.GetValues(typeof(ActionLogType)).Cast<ActionLogType>().ToObservableCollection();
var syncedSource = Enum.GetValues(typeof(ActionLogType)).Cast<ActionLogType>().ToObservableCollection();
SelectedActionLogTypes = new SelectedObjectCollection<ActionLogType>(source, syncedSource);
//SelectedActionLogTypes.ToList().ForEach(x => x.IsSelected = true);
}
public override void OnApplicationReady()
{
}
private void Search()
{
GetActionLogs();
}
private void CopyToClipBoard()
{
}
private async void GetActionLogs()
{
string filter = SearchFilter?.ToLower();
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
ActionLogs = await new ActionLogsCollectionBuilder(db).Set(x => x.LastUpdated < EndSelectedDate && x.LastUpdated >= StartSelectedDate)
.WithUsers()
.WithActionType(SelectedActionLogTypes.SynchedSource.ToArray())
.Query(y => y.Where
(x => filter == null ||
(x.ID.ToString().ToLower().StartsWith(filter)
|| (x.RelatedObjectName != null && x.RelatedObjectName.ToLower().StartsWith(filter))
|| (x.User != null && x.User.Contact != null && x.User.Contact.FullName.ToLower().StartsWith(filter)))))
.BuildAsync();
}
}
}
}
|