From d0ad477ecc3b4de354aee900e1b5335bc31ab103 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Sun, 22 Dec 2019 11:24:00 +0200 Subject: Working on ActionLogs module. --- .../ViewModels/MainViewVM.cs | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/ViewModels/MainViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/ViewModels/MainViewVM.cs index 48f243c1b..a550a1911 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/ViewModels/MainViewVM.cs @@ -1,18 +1,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 _actionLogs; + public ObservableCollection ActionLogs + { + get { return _actionLogs; } + set { _actionLogs = value; RaisePropertyChanged(nameof(ActionLogs)); } + } + + private SelectedObjectCollection _selectedActionLogTypes; + public SelectedObjectCollection 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(); + 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().ToObservableCollection(); + var syncedSource = Enum.GetValues(typeof(ActionLogType)).Cast().ToObservableCollection(); + + SelectedActionLogTypes = new SelectedObjectCollection(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(); + } + } } } -- cgit v1.3.1